我有一个 pptpd 服务器和 Shorewall 在同一台服务器上运行。该服务器有两个以太网连接(eth0 -> WAN,eth1 -> LAN),其 LAN 上的 IP 为 10.11.100.201
我可以从家里的电脑上毫无问题地建立 VPN 隧道,但我无法访问办公室 LAN 上的任何计算机,包括 VPN 服务器。如果我 ping VPN 隧道的另一端 (10.11.100.20),我会得到“目标主机无法访问”的结果。
但如果我关闭 Shorewall,一切就都正常了!
我的 Shorewall 配置是否出了问题?
接口:
wan eth0 检测 dhcp、routefilter、tcpflags lan eth1 检测 dhcp VPN PPP+
区域:
防火墙 广域网 IPv4 局域网络 VPN IPv4
面具:
eth0 eth1
政策:
vpn lan 接受 lan vpn 接受 wan 全部 DROP lan 全部拒绝 fw 全部接受 全部 全部 拒绝
隧道:
pptp服务器 wan 0.0.0.0/0
更新
我现在已经解决了这个问题,但我不确定为什么要这样做。无论如何,解决方案是添加另一项策略:
vpn 全部接受
我以为对于 Shorewall 来说,VPN ppp0 接口将像其他任何接口一样成为网络接口,但它似乎知道 ppp0 流量会经过 eth0,除非我添加此策略,否则不会让它通过。这样对吗?
答案1
您没有提及您的rules
文件。您是否已向文件添加了适当的条目rules
以允许 TCP 端口 1723 和 GRE(IP 协议 47)流量到达您的 pptp 服务器?请参阅这一页了解详情。
更新回应
尝试vpn all ACCEPT
用等效的策略集替换
vpn fw ACCEPT
vpn wan ACCEPT
vpn lan ACCEPT
并测试一切是否仍然有效。如果是这样,接下来尝试逐一删除这些策略,每次测试一切是否仍然有效,以达到所需的最小策略集。您真正需要添加的唯一策略是否是vpn wan ACCEPT
?