Ubuntu
OpenVPN苦苦掙扎
我的 OpenVPN 設置有一些問題。
設置: -> Ubuntu Server 12.04 -> 兩個活動 NIC:eth0(預設):192.168.1.0/24 eth1:xxxx(外部 ip)
我已經設法使路由正常工作,因此我可以使用 eth1 NIC 連接到外部世界。
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 x.x.x.x 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
有人有什麼想法嗎?
我設法通過兩個主要步驟解決了這個問題:
- 選擇使用 TUN 介面的服務提供商。
- 多一點表路由
表路由
我在http://lartc.org/howto/上閱讀了最有用的方法,並按照那裡提供的步驟進行操作。
我的設置現在是兩個物理網卡(eth0 和 eth1),分為三個表(主、T1 和 T2)。T1(eth1) 路由預設的東西(apache2、ssh 等),而 T2(eth0) 僅用於 rtorrent 連接。
它就像一個魅力。因此,如果您在 lartc.org 上閱讀了相同的問題,問題就會得到解決。
筆記
我沒有用 TAP 介面嘗試過這個配置,所以我不能說它是否有效。
你需要用這樣的東西更新你的 iptables。其中 xxxx 是您的 VPN 子網
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -o eth1 -j SNAT --to ip_of_eth1