中易网

杨工,向你请教一个ping单通问题:linux的A可以ping通windows的B,windows的B不能ping通linux的A

答案:4  悬赏:10  
解决时间 2021-01-12 14:14
  • 提问者网友:寂寞撕碎了回忆
  • 2021-01-12 00:46
杨工,向你请教一个ping单通问题:linux的A可以ping通windows的B,windows的B不能ping通linux的A
最佳答案
  • 二级知识专家网友:鸠书
  • 2021-01-12 00:51
既然是两个网段,那么可能就是中间的路由器、防火墙导致的吧?

ping有两种包,一种是echo request,一种echo reply。
A------>| Firewall |<-------B

### A ping B

A---(echo request)----->|FW|------>----->---->B

A<--------<-----<----------|FW|<----<---<--(echo reply)------B

### B ping A不通,有两段可能出现问题
A<------<---------<---------|FW|<----<---(echo request)--------B

A-----(echo reply??)------>|FW|------????--------->BFW允许A-B的req通过,却禁止了rep,就可能导致这个问题,你得去查查中间设备。
全部回答
  • 1楼网友:罪歌
  • 2021-01-12 02:40
iptables drop掉了icmp的数据包啊追问可否说得详细一些,是windowsB的iptables,还是路由器或防火墙的iptables?IP地址相同的ICMP协议包,请求消息不drop,单独drop回应消息?追答您windows有iptables? 当然是linux的啊
iptables的input链追问我用命令iptables -t filter --list查看了一下,linux机器上没有定义防火墙,麻烦你再帮忙分析一下追答iptables关掉
  • 2楼网友:佘樂
  • 2021-01-12 02:33
icmp 协议。我允许你ping我。你能ping通。
但是你不允许我ping你。我就ping不通。
ok 、
还有acl、
  • 3楼网友:低血压的长颈鹿
  • 2021-01-12 01:04
从路由层面来说的话,一般A能ping通B,Bping不通A,我遇到过的有这几种情况(抛砖引玉,咱一起学习):
1.Metric值问题,A有两个网卡,而Metric不同,有种情况会造成Bping过去的包回来后地址变了,B认为是错误的包,丢弃掉。
2.由NAT引起的一系列原因(类似于1)
3.网络中,有人发布了一条同样地址的路由(昨天遇到了,纠结半天,发现这样的坑爹事情)
4.终端上面的防火墙之类的问题(算是会话层面的问题吧,一些协议和软件导致的),导致包被丢弃(他有可能是有只允许请求包通过之类的限制)。
你抓包分析后,发现是在B上没有A的回应包,我觉得3的可能更大一些,建议你在B的网关上抓下包看看,可以确定到底是不是A的包根本没有回来,还是回来后被丢弃掉了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息