Linux主机路由问题---没有下行路由,上行报文也不转发

24 篇文章 0 订阅

Client<------>Gateway_intf0--Gateway_intf1<------->Server

如上所示的连接,Client和Server之间经过Gateway连接。各个设备(接口)的IP如下:

Client: 192.168.0.168/24

Gateway_intf0:192.168.0.169/24

Gateway_intf1:192.168.1.169/24

Server:192.168.2.200/24

由于工作需要在Gataway和Server之间增加一个Linux主机,组网修改为如下:

Client<------>Gateway_intf0--Gateway_intf1<------->Linux_eth0--Linux_eth1<------->Server

各个接口IP

Linux_eth0:192.168.1.170/24

Linux_eth1:192.168.2.170/24

物理上组网完成了,进一步如下操作:

1. Gateway上配置如下路由:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.200  192.168.1.170 255.255.255.255   U    2      0       intf1        ------- (目的地址Server的下一跳为Linux_eth0接口地址192.168.1.170/24)

2. Linux上IP转发使能打开 echo 1 > /proc/sys/net/ipv4/ip_forward

Client上访问Server,同时在Linux上tcpdump -i eth0抓包发现报文已经到达eth0,源IP是Client的IP(192.168.0.168),目的IP是Server的IP(192.168.2.200)。同时由于 Linux_eth1和Server的IP是一个网段,Linux主机上自动生成到Server的出接口是eth1的路由,这样上行(Client-->Server)的路由是完备了,但是奇怪的是报文在eth0收到后没有从eth1送出发给Server。经过尝试后,在Linux上配置如下路由后报文上行报文可以发给Server:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.0.168  192.168.1.169  255.255.255.255   U    2      0       eth0        ------- (目的地址Client的下一跳为Gateway_intf1接口地址192.168.1.169/24)

按理说上行报文已经有路由了,报文也已经在eth0上收到了,为什么Linux主机上不配置下行报文的路由上行报文也不转发呢?可能是Linux为了防止攻击,对于收到报文如果没有源IP的路由是不处理的?



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值