服务器无 SYN/ACK 应答

服务器无 SYN/ACK 应答

首先,我描述一下我的局域网组织。我有 2 个网络(方案http://take.ms/s3CSy):

  1. 192.168.0.0 / 255.255.255.0,路由器 ASUS RT-N65U 内部 IP 为 192.168.0.1,无 NAT 的静态外部 IP:1.2.3.4。路由器运行 VPN PPTP 服务器,VPN LAN IP 范围为 172.16.0.0/255.255.255.0,VPN 服务器 IP 为 172.16.0.1,MTU/MRU 为 1300。我的笔记本电脑(笔记本电脑 #1)现在位于此网络中。
  2. 192.168.2.0 / 255.255.255.0,路由器 ZyXEL Keenetic 4G 内部 IP 为 192.168.2.1,带 NAT 的动态外部 IP:10.0.0.1。所有客户端都连接到交换机 Cisco sg200-26p。

在第二个 LAN 中,我有一个安装了 Debian Linux 和 PPTP VPN 客户端的 Web 服务器。PPTP 客户端连接到第一个 LAN 中的路由器并获取 IP 172.16.0.11。连接 pptp 客户端后立即添加两条路由:

ip route add 172.16.0.0/24 dev ppp0
ip route add 192.168.0.0/24 dev ppp0

VPN 客户端(Web 服务器)上的路由表如下:

root@system:~# ip route
default via 192.168.2.1 dev eth0 
1.2.3.4 via 192.168.2.1 dev eth0  src 192.168.2.3 
172.16.0.0/24 dev ppp0  scope link 
172.16.0.1 dev ppp0  proto kernel  scope link  src 172.16.0.11
192.168.0.0/24 dev ppp0  scope link 
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.3 

在网络服务器上“iptables -L -v -n”显示空表。

VPN 服务器上的路由表(ASUS RT-N65U 路由器):

/home/root # ip route
default via 2.3.4.5 dev ppp0 
2.3.4.5 dev ppp0  proto kernel  scope link  src 1.2.3.4 
127.0.0.0/8 dev lo  scope link 
172.16.0.12 dev ppp10  proto kernel  scope link  src 172.16.0.1 
192.168.0.0/24 dev br0  proto kernel  scope link  src 192.168.0.1 
192.168.2.0/24 dev ppp10  scope link 

在路由器 ASUS RT-N65U 上,我也激活了 DynDNS、域名 home.example.com;和 2 个端口转发设置:

1. Synology NAS web remote access: Remote port 6667, local IP: 192.168.0.2, local port 5000, Protocol BOTH (TCP & UDP)
2. Web server remote access: Remote port 6668, local IP: 192.168.2.3, local port 80, Protocol BOTH (TCP & UDP)

当我尝试从第一个 LAN 中的笔记本电脑访问 Web 服务器(URL http_//192.168.2.3:80)时 - 没有问题,一切运行正常。

但如果我尝试从另一台笔记本电脑(方案中的笔记本电脑 #2)访问 Web 服务器(URL http_//1.2.3.4:6668) - 找不到页面。如果我尝试访问 Synology - 没问题。

我在 Web 服务器上安装了 tcpdump 并捕获了数据包:

  1. 从第一个局域网中的笔记本电脑访问,一切似乎都很好。PCAP 文件 https_//www.dropbox.com/s/pvg5rd4rw5omz9z/fromlan.pcap?dl=0(将 _ 替换为 :)
  2. 从远程主机访问。我发现我的 Web 服务器收到了 SYN 数据包,但没有将 ACK 数据包发送回客户端。PCAP 文件 https_//www.dropbox.com/s/hxfxudtrre12i7s/fromremote.pcap?dl=0(将 _ 替换为 :)

在安装了 iptstate 的 Web 服务器上,显示来自远程服务器的连接:

Source                      Destination                Prt State         TTL
199.58.86.207:58540         192.168.2.3:80             tcp SYN_RECV      0:00:59

哪里有问题?

也许这是路由问题,来自远程服务器的数据包通过 VPN 连接路由传来,但默认通过 192.168.2.1) 路由传出?

答案1

问题出在网络服务器上的一条路由上:

为了测试,通过 ppp0 接口添加到 199.58.86.0/24 的路由,页面成功打开。

相关内容