无法在 debian 上使用 iptables 通过 openVPN 转发端口

无法在 debian 上使用 iptables 通过 openVPN 转发端口

我正在尝试将公共计算机的端口转发到通过 VPN 连接的另一台计算机。该机器通过此 VPN 连接到互联网。我在 debian 上使用 openvpn 和 iptables。

VPN 按预期工作,但我无法使端口转发工作。我在 stackexchange 上审查了许多其他问题,但没有成功。

VPN 客户端在 VPN 上有静态 IP。公共互联网地址也是静态的。

转发已启用...

$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

客户端上的端口通过 VPN 接口向公共计算机开放,但不会从公共计算机转发。我已经尝试了 iptables 命令的许多变体,例如-d <public ip>-i eth0,但无法弄清楚我做错了什么。

$ iptables -t nat -A PREROUTING -p tcp --dport 14333 -j DNAT --to-destination 10.8.0.10:14333
$ iptables -t nat -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE

$ iptables -t nat -L -v

Chain PREROUTING (policy ACCEPT 5252 packets, 328K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1471 85380 DNAT       tcp  --  any    any     anywhere             anywhere             tcp dpt:14333 to:10.8.0.10:64333

Chain INPUT (policy ACCEPT 50 packets, 2156 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 450 packets, 29316 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 1998 packets, 122K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 4435  272K MASQUERADE  all  --  any    eth0    10.0.0.0/8           anywhere          

公共接口是eth0和 openvpn 是tun0

相关内容