我有一个Smoothwall框设置为我的主要网关在192.168.65.1。 我还有一个192.168.65.160的Proxmox虚拟服务器,用于创build出站VPN连接。 由于Smoothwall框是默认网关,因此我想将其设置为将VPN目标(例如192.168.1.0/24子网)的所有本地192.168.65.0/24networkingstream量路由到192.168.65.160地址。
Smoothwallconfiguration为/ proc / sys / net / ipv4 / ip_forward设置为1.路由表设置如下(eth0 = RED接口):
$ ip route 192.168.65.0/24 dev eth1 proto kernel scope link src 192.168.65.1 192.168.1.0/24 via 192.168.65.160 dev eth1 xxxx/xx dev eth0 proto kernel scope link src xxxx default via xxxx dev eth0
如果我从Smoothwall框中ping一个VPN地址,它就可以工作。 但是,当我尝试从本地192.168.65.0/24子网上的任何其他主机ping一个VPN地址时,出现“Destination Port Unreachable”结果。 如果我在本地主机上设置了一个路由来直接向192.168.65.160网关发送VPNstream量,那就行了。 只有当我尝试通过Smoothwall盒路由VPN通信时,它才会通过。
这是怎么回事?
好吧,让我们开始只是覆盖的基础知识…看起来像光滑可能是这里的问题…
在光滑墙的控制台上键入以下内容,看看是否可以解决您的问题:
iptables -I FORWARD 1 -s 192.168.65.0/24 -i eth1 -d 192.168.1.0/24 -j ACCEPT
请注意,这是一个临时修复testing是否与光滑的问题。 如果这样的话,那么只需在smoothwall上添加一条规则来允许这个stream量,或者添加这条线到像rc.local(可能不是最好的主意…… :))
你需要设置SNAT才能正常工作。
iptables -t nat -I POSTROUTING -o eth1 -d 192.168.1.0/24 -j SNAT --to-source 192.168.65.1
现在发生的事情是,来自您局域网的stream量到达防火墙,并发送到promox服务器,当另一端响应时,promox服务器将其发送到目的地,promox服务器在发送初始数据包时将其发送到实际的lan主机,但是主机拒绝这是因为它期望从光栏框回复
这看起来像你的configuration应该工作。 我不认为你在这里需要NAT。
想一想:Smoothwall是否有可能拒绝转发那些试图通过他们input的networking接口(在本例中是eth1)退出的数据包? 在典型的情况下,这种交通可能被认为是不正常的或可疑的,并且光滑墙可能被设置为在这些理由上阻止它。 从ping获取“Destination Port Unreachable”消息表明您正在收到ICMP错误消息,我怀疑它是由Smoothwall生成的,因为它拒绝这些数据包。
Smoothwall是否提供日志loggingfunction? 如果是这样,你应该检查日志,看看我的理论是否持有水。