OpenVPN 苦苦掙扎

OpenVPN 苦苦掙扎

我的 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.

網路統計:

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

但真正的問題來了: 當使用選項「local xxxx (eth1 ext ip)」設定 openvpn 時,它仍然會透過 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

有人有什麼想法嗎?

答案1

你的netstat表明VPN 伺服器提供者正在重定向您的客戶端網關(這是標準做法VPN 匿名器服務)。這意味著它將隧道全部流量,無論來源介面是什麼。您需要的是route-nopull在客戶端配置中,這將阻止伺服器更改您的路由表,從而允許您手動建立所需的路由。

答案2

如果我理解正確的話,您希望 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網關的 IP,或完全刪除,因為您已經擁有本地網路的路由,並且它與您的其他預設路由衝突:

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

我有根據的猜測是目的地是相同的,但第二個條目優先。

相關內容