我正在尝试设置VPS以将来自openvpn客户端的流量转发到互联网,同时将传入的端口80流量转发回客户端。我跟着 本指南 配置服务器并创建客户端配置。在VPS上我有iptables规则:
-t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
和
-t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.0.6
第一条规则来自指南,运作良好。第二个规则允许我从互联网连接到端口80上的VPN客户端,但是从客户端到互联网的http请求失败(https静止不动,并通过VPN)。任何人都可以推荐这个问题的工作配置,或解释为什么这个不起作用?
编辑:VPS配置
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:10.8.0.6
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/8 0.0.0.0/0
# cat /proc/sys/net/ipv4/ip_forward
1
是的,VPS是网关。我编辑了我的帖子以显示它的配置。
—
user47122
我看到你编辑了帖子......很好。我们需要更多数据......如果你执行,你会有什么
—
OscarAkaElvis
cat /proc/sys/net/ipv4/ip_forward
0或1?因为我认为你需要1。
从Internet客户端连接到openvpn需要哪些端口?只有80 tcp?我在你放在链接上的手册中看到,他们使用的是udp 1194.对于80 tcp端口,映射似乎是正确的。确保openvpn主机有正确的网关(带有iptables机器的linux)
—
OscarAkaElvis
我有opevpn设置连接udp 1194.从wpn客户端启动的http wget不连接到互联网。
—
user47122
iptables -L
和“ptables -t nat -L”来显示它们......是带有ACCEPT策略的FORWARD链吗?