我在同一个子网中有两个路由器:
- Linux 服务器是互联网的门户
- Juniper SRX100H 用于通过 IPsec VPN 与其他办公室连接
所有客户端计算机都以 Linux 服务器作为默认网关。Linux 服务器通过 Juniper SRX 路由到其他办公室。当客户端计算机尝试连接(ssh、rdp)到其他办公室的计算机时,它会从 Linux 主机接收 ICMP 重定向消息,并直接通过 Juniper 发送一些数据包。然后,它尝试通过 Linux 网关发送并再次接收 ICMP 重定向消息。问题是 rdp 和 ssh 会话在几分钟后失败。我还注意到这个问题只涉及 Windows 主机。但是,Linux 机器上的思科电话(SIP)和 SSH 工作正常。
如果配置了到其他办公室子网的路由,Windows 计算机上的该问题也会得到解决。
是否可以不在每台 Windows PC 上配置路由而只使用默认 Linux 网关?
答案1
关闭 ICMP 重定向:
sysctl net.ipv4.conf.all.send_redirects=0
(将其放入 /etc/sysctl.conf 以使其永久生效。)
ICMP 重定向在理论上运行良好,但正如您在实践中发现的那样,它们可能会时好时坏。
顺便问一下,为什么不直接使用 Juniper 作为互联网路由器,而是使用 Linux 机箱呢?