在阅读了许多问题后,如何, 这常问问题甚至部分Linux 网络指南,我无法连接到互联网。
我正在尝试在 VPS 上设置 OpenVPN 服务器,其用于:
- 安全访问互联网
- 绕过端口限制(例如 directadmin/2222)
- IPv6 连接(我的客户端只有 IPv4 连接,而 VPS 同时具有 IPv4 和原生 IPv6 连接)(如果可能)
我能连接到我的服务器并访问机器(HTTP),但 Internet 连接失败完全。我用它ping 8.8.8.8
来测试我的连接是否有效。
使用tcpdump
和iptables -t nat -A POSTROUTING -j LOG
,我可以确认数据包已到达我的服务器。如果我在 VPS 上 ping 到 8.8.8.8,我会echo-reply
按预期收到来自 8.8.8.8 的 。从客户端 ping 时,我没有收到echo-reply
。
VPS 只有一个 NIC:。etho
它在 Xen 上运行。我想避免网络桥接 (br0)。
摘要:我想使用 OpenVPN 在笔记本电脑和互联网之间建立安全连接。如果可行,我也想建立 IPv6 连接。
网络设置和软件:
Home laptop (eth0: 192.168.2.10) (tap0: 10.8.0.2)
| | (running Kubuntu 10.10; OpenVPN 2.1.0-3ubuntu1)
| wifi |
router/gateway (gateway 192.168.2.1)
|
INTERNET
|
VPS (eth0:1.2.3.4) (gateway, tap0: 10.8.0.1)
(running Debian 6; OpenVPN 2.1.3-2)
由于所有流量都通过 UDP 端口 1194 加密,因此 wifi 和我的家庭路由器不会造成问题。
我已打开 IP 转发:
# echo 1 > /proc/sys/net/ipv4/ip_forward
iptables
已配置为允许转发流量:
iptables -F FORWARD
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j DROP
我分别尝试了这些规则,但没有成功(执行前刷新链条):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 1.2.3.4
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
route -n
之前(服务器):
1.2.3.4 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 1.2.3.4 0.0.0.0 UG 0 0 0 eth0
route -n
之后(服务器):
1.2.3.4 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
0.0.0.0 1.2.3.4 0.0.0.0 UG 0 0 0 eth0
route -n
之前(客户):
192.168.2.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 wlan0
route -n
之后(客户端):
1.2.3.4 192.168.2.1 255.255.255.255 UGH 0 0 0 wlan0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
192.168.2.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tap0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tap0
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 wlan0
服务器配置
proto udp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
log-append openvpn-log
verb 3
mute 10
客户端配置
dev tap
proto udp
remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
user nobody
group nogroup
verb 3
mute 20
traceroute 8.8.8.8
按预期工作(未激活 OpenVPN 时输出类似):
1 10.8.0.1 (10.8.0.1) 24.276 ms 26.891 ms 29.454 ms
2 gw03.sbp.directvps.nl (178.21.112.1) 31.161 ms 31.890 ms 34.458 ms
3 ge0-v0652.cr0.nik-ams.nl.as8312.net (195.210.57.105) 35.353 ms 36.874 ms 38.403 ms
4 ge0-v3900.cr0.nik-ams.nl.as8312.net (195.210.57.53) 41.311 ms 41.561 ms 43.006 ms
5 * * *
6 209.85.248.88 (209.85.248.88) 147.061 ms 36.931 ms 28.063 ms
7 216.239.49.36 (216.239.49.36) 31.109 ms 33.292 ms 216.239.49.28 (216.239.49.28) 64.723 ms
8 209.85.255.130 (209.85.255.130) 49.350 ms 209.85.255.126 (209.85.255.126) 49.619 ms 209.85.255.122 (209.85.255.122) 52.416 ms
9 google-public-dns-a.google.com (8.8.8.8) 41.266 ms 44.054 ms 44.730 ms
如果您有任何建议,请评论或回答。
提前致谢。
答案1
原来是提供商方面的问题,他们的 Xen 网络设置过时了。有关 IPv6 之旅,请参阅如何使用 Tap 设备设置使用 IPv4 和 IPv6 的 OpenVPN?。
答案2
我不确定我是否发现了什么,但在我看来,当源是 10.8.0.0/24 时您允许转发,那么您如何期望来自目的地 8.8.8.8 的回复能够遍历到 10.8.0.0/24?