У меня есть некоторые проблемы с моей настройкой OpenVPN.

Настройка: -> Ubuntu Server 12.04 -> Два активных сетевых адаптера: eth0 (по умолчанию): 192.168.1.0/24 eth1: xxxx (внешний ip)

Мне удалось заставить работать маршрутизацию, чтобы я мог подключиться к внешнему миру с помощью сетевого адаптера eth1.

holmen@filserver:~$ ping -I eth1 -c 3 www.linuxquestions.org
PING www.linuxquestions.org (75.126.162.205) from 192.168.1.2 eth1: 56(84) bytes of data.
64 bytes from www.linuxquestions.org (75.126.162.205): icmp_req=1 ttl=50 time=133 ms
64 bytes from www.linuxquestions.org (75.126.162.205): icmp_req=2 ttl=50 time=133 ms
64 bytes from www.linuxquestions.org (75.126.162.205): icmp_req=3 ttl=50 time=133 ms

--- www.linuxquestions.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 133.281/133.336/133.379/0.423 ms
One curious thing is that the "from ip #". It says "from 192.168.1.2 eth1" but that ip is the servers ip on the eth0 iface.

Netstat:

holmen@filserver:~$ netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
x.x.x.x     0.0.0.0         255.255.128.0   U         0 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

Но тут возникает реальная проблема: при настройке openvpn с опцией «local xxxx (eth1 ext ip)» он все равно туннелирует интерфейс eth0. И я не могу понять почему.

Настройки OpenVPN:

client

dev tap

proto udp

local x.x.x.x

remote openvpn.anonine.net 1194
remote openvpn.anonine.net 1195
remote openvpn-2.anonine.net 1196
remote openvpn-2.anonine.net 1197
remote openvpn-3.anonine.net 1198
remote openvpn-3.anonine.net 1199
remote openvpn-4.anonine.net 1200
remote openvpn-4.anonine.net 1201

remote-random

resolv-retry infinite

auth-user-pass

persist-key
persist-tun

ca anonine.ca.crt

ns-cert-type server

comp-lzo

reneg-sec 0

verb 3

Netstat (туннель активен):

holmen@filserver:~$ netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         46.246.20.129   128.0.0.0       UG        0 0          0 tap0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
5.150.128.0     0.0.0.0         255.255.128.0   U         0 0          0 eth1
46.246.20.128   0.0.0.0         255.255.255.128 U         0 0          0 tap0
80.67.8.222     192.168.1.1     255.255.255.255 UGH       0 0          0 eth0
128.0.0.0       46.246.20.129   128.0.0.0       UG        0 0          0 tap0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

У кого-нибудь есть идеи?

2 ответа2

1

Если я вас правильно понимаю, вы хотите, чтобы клиенты OpenVPN следовали определенному маршруту, верно? Если это так, попробуйте добавить его в конфигурацию сервера. Я включил конфигурацию сервера одной из моих тестовых лабораторий ниже, я добавил локальный <ext eth1 ip> в конфигурацию сервера:

local xxx.xxx.xxx.xxx
port 443
proto tcp
dev tap1
ca cacert.pem
cert servercert.pem
key servercert-unencr.key
dh dh1024.pem
persist-key
persist-tun
keepalive 20 120
tun-mtu 1500
server-bridge 192.168.200.1 255.255.255.0 192.168.200.10 192.168.200.15
ifconfig-pool-persist ipp-generic.txt
comp-lzo
duplicate-cn
daemon
verb 3
#redirect-gateway def1
push "route 192.168.100.0 255.255.255.0"
log-append /etc/openvpn/logs/ovpn-generic.log
up /etc/openvpn/ifconfig-tap1.sh
cd /etc/openvpn
push "dhcp-option DOMAIN lab.test"
push "dhcp-option NBT 2"
push "dhcp-option DNS 192.168.100.1"
push "dhcp-option DNS 4.2.2.2"
script-security 3 system

Я буду обновлять, если у вас есть вопросы.

ОБНОВЛЕНИЕ: у вас есть запись в таблице маршрутизации, которая указывает весь ваш трафик через интерфейс eth0:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

Это должно быть либо заменено на eth1 Iface и eth1 для шлюза, либо полностью удалено, поскольку у вас уже есть маршрут для локальной сети, и он конфликтует с вашим другим маршрутом по умолчанию:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         46.246.20.129   128.0.0.0       UG        0 0          0 tap0

Мое обоснованное предположение о том, что пункт назначения такой же, но вторая запись имеет приоритет.

1

Ваш netstat показывает, что поставщик VPN-сервера перенаправляет ваш клиентский шлюз (что является стандартной практикой для служб анонимайзера VPN). Это означает, что он будет туннелировать весь трафик, независимо от того, какой интерфейс является источником. То, что вам нужно, это route-nopull в вашей конфигурации клиента, который остановит сервер, изменяющий вашу таблицу маршрутизации, что позволит вам вручную создавать требуемые маршруты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .