首先 /etc/iproute2/rt_tables 里面添加2个table, 对应2个不同的网段(net3 net5)
配置思路是 用ip route 命令为net3 table增加default gw 118.126.3.1,net5 table 增加default gw 118.126.5.1
然后用 ip rule 命令 使用源地址匹配规则 源地址为118.126.3.16的数据包选择 net3 table, 源地址为118.126.5.251的数据包选择net5 table.
当然你也需要设置本机的默认default gw(直接用route命令),那么由本机生成的数据包,默认会选用与default gw连接的那块网卡的ip地址对外通讯(程序指定的除外)。
以上配置对于正常开发的 tcp通讯软件完全可以正确工作,ping也没有问题。 不过某些开发不正确的udp软件可能运行会不正常(这种udp软件,在有两个以上ip地址的主机上工作都会有问题)
这些东西完全可以通过简单的配置一下iptables实现。具体代码如下:iptables -P INPUT DROP
iptables -A INPUT -m state -i eth0 --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
第一行默认把所有进入本机的包丢掉
第二行只允许本机对外网进行对外连接,禁止外部连入。
第三行允许内网的访问。
测试成功后,把这三行命令放进开机启动脚本里,一般是:/etc/rc.d/rc.local
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)