Имеется VDS на Ubuntu 11.04 (GNU/Linux 2.6.18-348.4.1.el5.028stab107.1 i686). Пытаюсь настроить OpenVPN доступ к интернету через данный сервер, но почему то это не получается. Подскажите пожалуйста, что я делаю не так.
Настройки на стороне сервера:
port 9999
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/xxxx.ca.crt
key /etc/openvpn/keys/xxxx.ca.key # This file should be kept secret
dh /etc/openvpn/keys/dh1024.pem
server 192.168.50.0 255.255.255.0
ifconfig-pool-persist ipp_udp.txt
push «route 0.0.0.0 0.0.0.0»
push «redirect-gateway def1 bypass-dhcp»
push «dhcp-option DNS 208.67.220.220»
push «dhcp-option DNS 208.67.222.222»
push «dhcp-option DNS 8.8.8.8»
push «dhcp-option DNS 8.8.4.4»
client-to-client
keepalive 10 120
auth SHA1
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-udp-status.log
verb 3
# cat /etc/rc.local | grep -E "^[a-z]"
iptables -A FORWARD -s 192.168.50.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o eth0 -j MASQUERADE
exit 0
# cat /etc/sysctl.conf | grep -E "^[a-z]"
net.ipv4.ip_forward=1
#
#
Конфиг клиента (Windows 7):
client
dev tun
dev-node extVPN
proto udp
remote x.x.x.x 9999
resolv-retry infinite
nobind
persist-key
persist-tun
ca sunnyville/ca.crt
cert xxxx/xxxx.crt
key xxxx/xxxx.key
ns-cert-type server
auth SHA1
cipher AES-128-CBC
comp-lzo
verb 3
В итоге на клиенте всё замечательно цепляется, однако ничего дальше OpenVPN сервера не работает :( т.е. trace route на любой ip доходит до 192.168.50.1 и далее кромешная тишина.
И добавьте строку:
log-append /var/log/openvpn.log
добавил, лог при старте вот такой:
Fri Jun 7 14:55:08 2013 OpenVPN 2.1.3 i686-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Mar 11 2011
Fri Jun 7 14:55:08 2013 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Fri Jun 7 14:55:08 2013 Diffie-Hellman initialized with 1024 bit key
Fri Jun 7 14:55:08 2013 /usr/bin/openssl-vulnkey -q -b 1024 -m Fri Jun 7 14:55:08 2013 TLS-Auth MTU parms [ L:1558 D:138 EF:38 EB:0 ET:0 EL:0 ]
Fri Jun 7 14:55:08 2013 Socket Buffers: R=[139264->131072] S=[139264->131072]
Fri Jun 7 14:55:08 2013 ROUTE: default_gateway=UNDEF
Fri Jun 7 14:55:08 2013 TUN/TAP device tun1 opened
Fri Jun 7 14:55:08 2013 TUN/TAP TX queue length set to 100
Fri Jun 7 14:55:08 2013 /sbin/ifconfig tun1 192.168.50.1 pointopoint 192.168.50.2 mtu 1500
Fri Jun 7 14:55:08 2013 /sbin/route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.2
Fri Jun 7 14:55:08 2013 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Jun 7 14:55:08 2013 GID set to nogroup
Fri Jun 7 14:55:08 2013 UID set to nobody
Fri Jun 7 14:55:08 2013 UDPv4 link local (bound): [undef]
Fri Jun 7 14:55:08 2013 UDPv4 link remote: [undef]
Fri Jun 7 14:55:08 2013 MULTI: multi_init called, r=256 v=256
Fri Jun 7 14:55:08 2013 IFCONFIG POOL: base=192.168.50.4 size=62
Fri Jun 7 14:55:08 2013 IFCONFIG POOL LIST
Fri Jun 7 14:55:08 2013 ******,192.168.50.4
Fri Jun 7 14:55:08 2013 Initialization Sequence Completed
Смущает строка:
Fri Jun 7 14:55:08 2013 ROUTE: default_gateway=UNDEF
это как раз таки проблема?
Ну и опенвпн не забываем запускать в винде от админа.
2)
И эту строку стоит заменить:
push «route 0.0.0.0 0.0.0.0»
push «route 192.168.50.1»
Кхм, попробую, однако на стороне клиента маршруты верно прописаны.
У меня вообще сомнения, что это правило нужно, ибо уже имеется
push «redirect-gateway def1 bypass-dhcp»
И эту строку стоит заменить:
push «route 0.0.0.0 0.0.0.0»
push «route 192.168.50.1»
Заменил, в поведении ничего не изменилось, т.е. любой trace route кончается на 192.168.50.1, однако на клиенте изменились маршруты: остался только 0.0.0.0 128.0.0.0 через шлюз 192.168.50.5, и интерфесом 192.168.50.6, а маршрут 0.0.0.0 0.0.0.0 через тоннель исчез.
p.s: ну точно, убрал строку с маршрутами вообще получил тоже самое, что и со строкой
push «route 192.168.50.1»
и поведение никак не изменилось.
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 -00
inet addr:74.63.212.243 P-t-P:74.63.212.243 Bcast:0.0.0.0 Mask:255. 255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
# ip r
192.168.60.2 dev tun0 proto kernel scope link src 192.168.60.1
192.168.50.2 dev tun1 proto kernel scope link src 192.168.50.1
192.168.50.0/24 via 192.168.50.2 dev tun1
192.168.60.0/24 via 192.168.60.2 dev tun0
default dev venet0 scope link
# iptables -nvL
Chain INPUT (policy ACCEPT 1286 packets, 210K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 602 packets, 37037 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 838 packets, 146K bytes)
pkts bytes target prot opt in out source destination
# iptables -t nat -nvL
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module ip_tables not found.
iptables v1.4.10: can't initialize iptables table `nat': Table does not exist (d o you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
# cat /proc/sys/net/ipv4/ip_forward
1
#
Интереснененько однако FATAL: Module ip_tables not found…
p.s: сетка 192.168.60.0/24 это такой же openvpn сервер, только поверх tcp (на случай прокси), он, само собой, так же не работает.
# iptables -t nat -nvL
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module ip_tables not found.
iptables v1.4.10: can't initialize iptables table `nat': Table does not exist (d o you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Простите за глупый вопрос, но не получается:
# apt-get install nat
успешно выполнилось и поставилось, после этого, на всякий случай, перезагрузился. Но ничего не изменилось:
# iptables -t nat -nvL
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module ip_tables not found.
iptables v1.4.10: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
И в будущем — нет. По сути этот сервер — роутер, не более (конфиг у вдски уж очень слабенький, но зато и стоит она копейки, и оплачивается сразу на год). В общем единственное его назначение — резервирование канала в инет.
Мая через сеть работает. А стало быть если в России опять что нибудь залочат по дури, а у меня Онлайм, т.е. Ростелеком, т.е. заблочит по IP, в общем всё будет всё очень печально, и может обернуться неожиданной проблемой в самый не подходящий момент.
В прошлый раз, во время проблем с wordpress, восстановил доступ через прокси, теперь, поскольку появилось свободное время, хочу сделать свой нормальный сервер за пределами родины, ибо так надёжнее, да и откровенно удобнее, ибо у меня уже есть домашний шлюз, и в случае чего можно быстренько отправить трафик куда нужно. Ну и иметь американский IP в наше время полезно по разным причинам.
p.s: на этот сервер я хотел ещё i2p поставить, но не смог, ибо java ни в какую не захотела ставиться.
У меня не совсем решение вашей оригинальной проблемы с openvpn. Однако могу предложить еще один запасной вариант подключения к инету без фильтров, сам им как-то пользовался: justfreevpn.com