通过 VPN 将流量路由到某个子网。Ping 正常,但没有 TCP 流量返回

通过 VPN 将流量路由到某个子网。Ping 正常,但没有 TCP 流量返回

我有以下设置

  • 服务器(192.168.21.11、172.17.4.6),通过 OpenVPN 路由 10.10.10.0/24
  • 客户端(192.168.21.9)
  • 路由器(192.168.21.1)[m0n0wall] 具有从 10.10.10.0/24 到 192.168.21.11 的静态路由

在服务器上,NAT转发已启用:

/sbin/iptables -t nat -A POSTROUTING -d 10.10.10.0/24 -o tun0 -j MASQUERADE
# cat /proc/sys/net/ipv4/ip_forward
1


# iptables -L
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  

我能够从客户端到服务器进行跟踪路由

# traceroute 10.10.10.10
traceroute to 10.10.10.10 (10.10.10.10), 30 hops max, 60 byte packets
 1  (192.168.21.1)  0.283 ms  0.211 ms  0.165 ms  ## Router
 2  (192.168.21.11)  0.262 ms  0.249 ms  0.213 ms ## Server
 3  (172.17.4.1)  40.356 ms  83.965 ms  83.915 ms ## OpenVPN Subnet
 4  (10.10.10.10)  83.778 ms  83.626 ms  83.488 ms

但不知为何我无法从客户端连接到服务器。当我尝试通过 SSH 连接到服务器时,tcpdump 报告的内容如下:

# tcpdump -i tun0
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
08:05:16.734848 IP 172.17.4.6.58710 > 10.10.10.10.ssh: S 2851123862:2851123862(0) win     5840 <mss 1460,sackOK,timestamp 597224955 0,nop,wscale 6>
08:05:16.776264 IP 10.10.10.10.ssh > 172.17.4.6.58710: S 658436853:658436853(0) ack 2851123863 win 5792 <mss 1366,sackOK,timestamp 296951268 597224955,nop,wscale 5>
08:05:20.986415 IP 10.10.10.10.ssh > 172.17.4.6.58710: S 658436853:658436853(0) ack 2851123863 win 5792 <mss 1366,sackOK,timestamp 296952321 597224955,nop,wscale 5>
08:05:26.985854 IP 10.10.10.10.ssh > 172.17.4.6.58710: S 658436853:658436853(0) ack 2851123863 win 5792 <mss 1366,sackOK,timestamp 296953821 597224955,nop,wscale 5>

看起来好像来自服务器的数据包没有被路由回客户端。

答案1

嗯,这不是 iptables 问题。问题是我使用 m0n0wall 作为路由器,并通过 m0n0wall 设置路由。由于 m0n0wall 将这些路由推送到防火墙,因此必须启用“绕过同一接口上流量的防火墙规则”规则,以阻止 m0n0wall 阻止数据包。

该问题与以下问题非常相似:http://forum.m0n0.ch/index.php?topic=381.0

相关内容