![无法跨网络连接到 MS 服务](https://linux22.com/image/660844/%E6%97%A0%E6%B3%95%E8%B7%A8%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E5%88%B0%20MS%20%E6%9C%8D%E5%8A%A1.png)
因此,我们有两个办公室通过 Sonicwall IKE VPN 连接:
- 总部是 10.42.0.0/16
- 远程是 10.63.0.0/16
总部 Windows 7 Pro 机器上有一个 MS 文件共享,10.42.3.203,远程办公室的机器需要访问它。两个防火墙都对两个网络之间的流量设置了“允许任意对任意”规则,并且没有适用于流量的拒绝规则。
以下是远程办公室某人尝试访问总部共享的 tshark 记录。运行它的机器监听总部防火墙后面的镜像上行链路端口。
414.411940 10.63.3.39 -> 10.42.3.203 TCP 66 55628 > microsoft-ds [SYN] Seq=0 Win=8192 Len=0 MSS=1398 WS=256 SACK
415.518100 10.63.3.39 -> 10.42.3.203 TCP 66 55635 > microsoft-ds [SYN] Seq=0 Win=8192 Len=0 MSS=1398 WS=256 SACK
415.519325 10.63.3.39 -> 10.42.3.203 TCP 66 55636 > netbios-ssn [SYN] Seq=0 Win=8192 Len=0 MSS=1398 WS=256 SACK_
417.429670 10.63.3.39 -> 10.42.3.203 TCP 66 [TCP Retransmission] 55628 > microsoft-ds [SYN] Seq=0 Win=8192 Len=0
418.516965 10.63.3.39 -> 10.42.3.203 TCP 66 [TCP Retransmission] 55636 > netbios-ssn [SYN] Seq=0 Win=8192 Len=0
418.516969 10.63.3.39 -> 10.42.3.203 TCP 66 [TCP Retransmission] 55635 > microsoft-ds [SYN] Seq=0 Win=8192 Len=0
423.421594 10.63.3.39 -> 10.42.3.203 TCP 62 [TCP Retransmission] 55628 > microsoft-ds [SYN] Seq=0 Win=65535 Len=
424.525998 10.63.3.39 -> 10.42.3.203 TCP 62 [TCP Retransmission] 55636 > netbios-ssn [SYN] Seq=0 Win=8192 Len=0
424.526002 10.63.3.39 -> 10.42.3.203 TCP 62 [TCP Retransmission] 55635 > microsoft-ds [SYN] Seq=0 Win=8192 Len=0
436.553750 10.63.3.39 -> 10.42.3.203 NBNS 92 Name query NBSTAT *<00><00><00><00><00><00><00><00><00><00><00><00>
436.554051 10.42.3.203 -> 10.63.3.39 NBNS 217 Name query response NBSTAT
436.603070 10.63.3.39 -> 10.42.3.203 TCP 66 55690 > netbios-ssn [SYN] Seq=0 Win=8192 Len=0 MSS=1398 WS=256 SACK_
439.614949 10.63.3.39 -> 10.42.3.203 TCP 66 [TCP Retransmission] 55690 > netbios-ssn [SYN] Seq=0 Win=8192 Len=0
445.600591 10.63.3.39 -> 10.42.3.203 TCP 62 [TCP Retransmission] 55690 > netbios-ssn [SYN] Seq=0 Win=8192 Len=0
457.620875 10.63.3.39 -> 10.42.3.203 TCP 66 55734 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1398 WS=4 SACK_PERM=1
457.621149 10.42.3.203 -> 10.63.3.39 TCP 60 http > 55734 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
458.159020 10.63.3.39 -> 10.42.3.203 TCP 66 [TCP Port numbers reused] 55734 > http [SYN] Seq=0 Win=8192 Len=0 MS
458.159258 10.42.3.203 -> 10.63.3.39 TCP 60 http > 55734 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
458.689704 10.63.3.39 -> 10.42.3.203 TCP 62 [TCP Port numbers reused] 55734 > http [SYN] Seq=0 Win=8192 Len=0 MS
458.690002 10.42.3.203 -> 10.63.3.39 TCP 60 http > 55734 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
458.725494 10.63.3.39 -> 10.42.3.203 TCP 66 55736 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1398 WS=4 SACK_PERM=1
458.725696 10.42.3.203 -> 10.63.3.39 TCP 60 http > 55736 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
459.260930 10.63.3.39 -> 10.42.3.203 TCP 66 [TCP Port numbers reused] 55736 > http [SYN] Seq=0 Win=8192 Len=0 MS
459.261180 10.42.3.203 -> 10.63.3.39 TCP 60 http > 55736 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
459.795362 10.63.3.39 -> 10.42.3.203 TCP 62 [TCP Port numbers reused] 55736 > http [SYN] Seq=0 Win=8192 Len=0 MS
459.795640 10.42.3.203 -> 10.63.3.39 TCP 60 http > 55736 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
它似乎只是忽略了它响应的 NBNS 查询之前的数据包,然后它交替忽略或 RST 任何其他数据包。
它还做了一件有趣的事情,ping 在一个方向上工作,但不在另一个方向上工作:
29.683073 10.42.3.203 -> 10.63.3.39 ICMP 74 Echo (ping) request id=0x0001, seq=36/9216, ttl=128
29.688421 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) reply id=0x0001, seq=36/9216, ttl=128
30.758418 10.42.3.203 -> 10.63.3.39 ICMP 74 Echo (ping) request id=0x0001, seq=37/9472, ttl=128
30.764715 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) reply id=0x0001, seq=37/9472, ttl=128
31.759546 10.42.3.203 -> 10.63.3.39 ICMP 74 Echo (ping) request id=0x0001, seq=38/9728, ttl=128
31.764583 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) reply id=0x0001, seq=38/9728, ttl=128
32.760653 10.42.3.203 -> 10.63.3.39 ICMP 74 Echo (ping) request id=0x0001, seq=39/9984, ttl=128
32.766173 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) reply id=0x0001, seq=39/9984, ttl=128
45.221105 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) request id=0x0001, seq=4217/30992, ttl=128
49.749227 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) request id=0x0001, seq=4218/31248, ttl=128
54.747578 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) request id=0x0001, seq=4219/31504, ttl=128
59.754256 10.63.3.39 -> 10.42.3.203 ICMP 74 Echo (ping) request id=0x0001, seq=4220/31760, ttl=128
该机器未启用 Windows 防火墙,总部内的所有机器都可以正常访问它。网络中其他地方有一个 Samba 服务器,它在所有办公室中也运行正常。这些 Windows 机器似乎只是拒绝了来自不在其子网中的事物的流量。
免责声明:我没有选择子网划分或运行 Windows 7 机器上的文件共享。它们都在我的时代之前,我现在无法更改它。我知道它们分别是愚蠢/糟糕的,请尝试忽略它们。谢谢。
答案1
你是当然Windows 防火墙(以及所有其他防火墙,如果有的话)是否配置正确?你说它已关闭,但这本身就是一个非常糟糕的想法。要确认它是否已正确关闭全部界面,您能否发布 Win 7 PC 上的 Windows 防火墙控制面板屏幕的屏幕截图。
默认情况下,Windows 防火墙将阻止来自本地子网之外的文件共享请求(并且 ping 被视为文件共享协议...),并且您的问题听起来完全像这样,或者是路由问题(但反过来 ping 工作表明这不太可能)。
在 Windows 防火墙设置中,子网专用设置的存在以及如何更改它并不是特别明显。您必须通过控制面板进入高级设置,或直接运行 wf.msc,并确保“范围”选项卡下的所有入站文件和打印机共享规则不限于“本地子网”。