【问题场景】

       项目中遇到一个路由配置问题,一台Linux使用多网卡,每个网卡配置在不同的网络平面,比如两个网卡,网卡1连接内网网关,网卡2连接外网网关,系统的默认路由为网卡1连接的内网网关。现在上层应用想通过网卡2登录到一个外网系统。外网只提供一个域名,这样遇到一个问题,域名解析出的IP可能会经常变化,系统如何确定这个IP的路由。


【解决方案】

       使用Linux的策略路由可以解决。创建一个新的路由表,这个路由表中只配默认路由为外网网关,再创建一个路由规则,只要是网卡2的IP发出的包都采用心路由表匹配。


【配置命令】

//创建新的路由表

echo "100 NET0" >>  /etc/iproute2/rt_tables


//设置默认网关

ip route add default via 192.168.100.1  dev eth1 table NET0


// 设置路由策略

ip rule add from 192.168.100.10 table NET0 pre 1000


如果要保障开机自启动,将第2,3条命令写入配置文件。这两条命令只适用于Suse系统

echo "ip route add default via 192.168.100.1  dev eth1 table NET0" >> /etc/init.d/after.local

echo "ip rule add from 192.168.100.10 table NET0 pre 1000" >> /etc/init.d/after.local







Logo

更多推荐