[admin@fedora8 ~]$ traceroute 192.168.0.145
traceroute to 192.168.0.145 (192.168.0.145), 30 hops max, 40 byte packets
1 192.168.23.2 (192.168.23.2) 0.487 ms 0.231 ms 0.262 ms
2 192.168.0.145 (192.168.0.145) 15.292 ms 14.306 ms 13.539 ms作者: jiufei19 时间: 2014-08-20 15:47 本帖最后由 jiufei19 于 2014-08-20 16:14 编辑
我下面把设置后的策略和路由列出,便于大家帮我发现问题
[admin@fedora8 ~]$ ip rule list
0: from all lookup local
32759: from all fwmark 0x64 lookup 300
32766: from all lookup main
32767: from all lookup default
[admin@fedora8 ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.23.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 0 0 0 eth1
default 192.168.23.2 0.0.0.0 UG 0 0 0 eth1
[admin@fedora8 ~]$ ip route show table 300
default via 192.168.23.2 dev eth1
此时,ssh客户端还可以访问linux,但是如果我将上面的红色字体的策略去掉,则将立刻无法再连接linux服务器了,因此显然是fwmark没有起作用,正是因为其没有起作用,所以之前红色字体的策略没有删除时,ssh请求的应答没有匹配策略32759,于是按主路由表进行操作,因此保证ssh客户端可以继续访问linux,而一旦去掉红色字体策略,而32759又不匹配,于是就出现了ssh客户端无法再访问linux的现象,为了进一步说明表300没有错误,我故意按如下策略进行了重复设置
[admin@fedora8 ~]$ ip rule list
0: from all lookup local
32759: from all fwmark 0x64 lookup 300
32766: from all lookup 300
32767: from all lookup default