openvpn - невозможно подключиться к интернету после подключения к openVPN
Я настроил туннель openVPN, используя следующую конфигурацию на стороне сервера:
port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
client-to-client
log-append /var/log/openvpn
group daemon
daemon
verb 3
и файл конфигурации клиента следующим образом:
client
remote ******* 1194
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
verb 3
Однако при подключении я могу без проблем пинговать 10.8.0.1, но даже не могу зайти в Google.
Я использую Open VPN 2.1.4 в Windows 7 Ultimate с правами администратора. Сервер является установкой Ubuntu 10.04 с включенным по умолчанию TUN.
Единственная подозрительная часть, которую я могу найти в журнале, выглядит так:
Mon Feb 21 20:44:33 2011 C:\WINDOWS\system32\route.exe ADD ********* MASK 255.255.255.255 192.168.1.1
OK!
Mon Feb 21 20:44:33 2011 C:\WINDOWS\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 10.8.0.5
OK!
Mon Feb 21 20:44:34 2011 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 10.8.0.5
OK!
Mon Feb 21 20:44:34 2011 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
OK!
Mon Feb 21 20:44:34 2011 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
The route addition failed: The object already exists.
Mon Feb 21 20:44:34 2011 Initialization Sequence Completed
Не уверен, что это поможет.
Пожалуйста помоги!
Спасибо!
1 ответ
Вы используете флаг redirect-gateway def1
и с тех пор перенаправляют весь ваш трафик через VPN.
Из вашего поста я не вижу, настроили ли вы NAT или какой-либо другой перевод адресов на вашем сервере, но я предполагаю, что пакеты просто маршрутизируются через VPN, а затем не имеют возможности вернуться к вашему клиенту.
Если ваш VPN-клиент 10.8.0.2
и ваш сервер 10.8.0.1
и имеет интернет-IP, который 12.12.12.12
: ваш звонок в Google будет отправлен с 10.8.0.2
маршрутизируется через VPN и затем отправляется оттуда в Google. Проблема в том, что исходный адрес останется 10.8.0.2
и поэтому пакеты ответов никогда не смогут найти вас. Вы должны добавить некоторые средства перевода, которые принимают пакеты и переводят источник из 10.8.0.2
в 12.12.12.12
и назад:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Это также объясняется в Руководстве OpenVPN. Я надеюсь, что это решит вашу проблему, но из описания я не мог быть уверен, если у вас включен перевод NAT, так что, возможно, это не поможет вообще:-)