У меня есть сервер OpenVPN на ubuntu и клиент (Openvpn 2.1_rc19) на windows7 x64.
Соединение установлено, и я могу им пользоваться. Однако не весь трафик направляется через интерфейс openvpn, поэтому на разных серверах у меня разные.
например: showipaddress.com IP = 208.99.113.122 видит только внешний ip моего сервера vpn
whatsmyip.com IP = 208.87.33.150 видит IP моего обычного коммутируемого соединения
Я предполагаю, что это проблема маршрутизации, поэтому она «распечатывает маршрут» из клиента Windows.
Schnittstellenliste
27...00 ff 1a c3 26 d6 ......TAP-Win32 Adapter V9
26...........................Vodafone
1...........................Software Loopback Interface 1
IPv4-Routentabelle
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 10.8.0.5 10.8.0.6 4
0.0.0.0 0.0.0.0 Auf Verbindung 109.84.XXX.XXX 31
10.8.0.4 255.255.255.252 Auf Verbindung 10.8.0.6 259
10.8.0.6 255.255.255.255 Auf Verbindung 10.8.0.6 259
10.8.0.7 255.255.255.255 Auf Verbindung 10.8.0.6 259
109.84.XXX.XXX 255.255.255.255 Auf Verbindung 109.84.XXX.XXX 286
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 4531
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 4531
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 4531
128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 4
188.40.XXX.XXX 255.255.255.255 Auf Verbindung 109.84.XXX.XXX 30
224.0.0.0 240.0.0.0 Auf Verbindung 109.84.XXX.XXX 31
255.255.255.0 255.255.255.0 10.8.0.5 10.8.0.6 4
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 4531
255.255.255.255 255.255.255.255 Auf Verbindung 10.8.0.6 259
255.255.255.255 255.255.255.255 10.8.0.5 10.8.0.6 4
255.255.255.255 255.255.255.255 Auf Verbindung 109.84.XXX.XXX 286
===========================================================================
St„ndige Routen:
Keine
109.84.XXX.XXX - это внешний IP-адрес моего коммутируемого доступа (umts). 188.40.XXX.XXX - мой внешний IP-адрес сервера. 10.8.0.0 - это сеть openvpn, а 6 - клиент.
Если я удалю вторую запись 0.0.0.0, эти сайты больше не будут работать, а те, которые маршрутизируются через vpn, так как они все еще должны работать.
Что мне нужно сделать, чтобы все маршрутизировалось через openvpn?
Изменить: конфигурация сервера
local 188.40.XXX.XXX
port 1194
proto tcp
dev tun
tun-mtu 1544
key /etc/openvpn/examples/easy-rsa/2.0/keys/server.key
ca /etc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/examples/easy-rsa/2.0/keys/server.crt
dh /etc/openvpn/examples/easy-rsa/2.0/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
max-clients 5
persist-key
persist-tun
status /tmp/openvpn-status.log
log-append /var/log/openvpn.log
verb 4
push "redirect-gateway def1"
push "dhcp-option DNS 145.253.2.11"
push "dhcp-option DNS 145.253.2.75"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
Конфигурация клиента:
client
dev tun
proto tcp
remote 188.40.XXX.XXX 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
cipher AES-128-CBC
comp-lzo
verb 4
Теперь это работает.
Я удалил маршрут по умолчанию, который мне дал коммутируемый доступ, и добавил маршрут только к моему серверу openvpn. Это помогло, так как теперь openvpn может отправлять мне все маршруты, включая маршрут по умолчанию :)
В конфигурации вашего сервера у вас, вероятно, в настоящее время есть настройка redirect-gateway
. Попробуйте заменить это на redirect-gateway def1
.
Эта опция создаст 2 маршрута 0.0.0.0/1
и 128.0.0.0/1
вместо маршрута для 0.0.0.0/0
. Поскольку эти маршруты более специфичны, их следует использовать вместо настроенного шлюза по умолчанию.