寻觅生命中的那一片浅草......

Linux网关、多出口、VPN撞在一起的问题

Linux网关,本来只有一进一出2个网卡

eth0:外网

eth1:内网 192.168.100.1

所以iptables的规则看起来是这样

-A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE

由于业务需要 ,加了一个出口,修改后

eth0:外网

eth2:外网

eth1:内网 192.168.100.1

这时数据会根据路由,从不同的出口出,所以不能加-o eth0了,所以规则改成了

-A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE

这个变更带来的问题就是,我们vpn拨号获取到的也是192.168.0.0/16段的,然后我们访问内网的服务器,在服务器上看到的就是网关的内网IP:192.168.100.1,为什么?因为它也被MASQUERADE了。

当vpn用户登录服务器出现问题的时候,我们要排查,这下问题来了,这么多用户,在服务器上看到的都是192.168.100.1,根本无法查,上网找了下,发现了神一样的规则,应用后,在服务器上看到的又是VPN分配的原始IP了

-A POSTROUTING -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j MASQUERADE

2019年三月
« 2月    
 123
45678910
11121314151617
18192021222324
25262728293031