[网络管理]
一个set mark的策略路由配置问题
我想做这样一个功能:
环境:一个主机的地址和同一个局域网内的另一台主机不在同一个网段,比如A主机192.168.44.1/24,B主机192.168.11.31/24。这样A和B就不能直接通信。
基本想法:将主机A上的某些数据包都打上mark,把这些数据包都由mark导向自己设置的一个路由表。在这个路由表中我们指明通过192.168.10.1这个网卡和B直连,从而能够将数据包发送出去。
基本操作:
echo 200 test >> /etc/iproute2/rt_tables
ip rule add fwmark 2 table test //增加和fwmark 2相关的策略路由表test
ip route add 192.168.11.31 dev eth0 table test
iptables -t mangle -A OUTPUT -d 192.168.11.31 -j MARK --set-mark 2 //设置mark
按说在进行完这些操作之后,所有发往192.168.11.31的数据包都将打上mark 2从而在路由查找时导入路由表test找到发往B 192.168.11.31的路由发送出去。但是这时用ping命令测试,错误提示是网络不可达。说明没有找到路由。
请高手指教一下,如何能达到我的目的呢?