我有一个VPN,我的服务器经常将数据发送到通过VPN路由的私有IP地址.当OpenVPN建立或死亡时,它启用/禁用路由.
我想通过主Internet接口(eth0)将私有IP范围空路由.有没有一种简单的方法可以在不干扰来自VPN软件的路由命令的情况下做到这一点?
Iptables不会这样做.我试过了
iptables -A OUTPUT -i eth0 -p tcp -d 192.168.0.0/16 -j REJECT
但是在输出链中指定接口时,iptables不起作用.
任何人都知道是否有办法将虚拟路由添加到特定接口(eth0),而不会干扰可能正在使用该路由的其他接口?
Ps-我知道192.168.0.0/16不是INTERNET可路由的,但出于安全考虑,希望确保没有数据在其他本地服务器或网络设备开始在私有子网上监听时很少发生.
iptables规则中的接口规范是向后的.
你指定:
iptables -A OUTPUT -i eth0 -p tcp -d 192.168.0.0/16 -j REJECT
使用-i匹配在指定接口上进入系统的流量.
相反,您希望匹配离开系统的流量在命名接口上,这是使用-o完成的.
iptables -A OUTPUT -o eth0 -p tcp -d 192.168.0.0/16 -j REJECT
(你可能不希望-p tcp在那里,否则非TCP流量可能会通过.)