Chinaunix

标题: 能ping通,却不能traceroute通? [打印本页]

作者: ljok30    时间: 2007-09-20 10:10
标题: 能ping通,却不能traceroute通?
如题,详细见下面配置,只有一块网卡,虚拟出一个网卡,开启ip转发:\r\n\r\n# ifconfig -a\r\nlo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1\r\n        inet 127.0.0.1 netmask ff000000 \r\npcn0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2\r\n        inet 192.168.16.107 netmask ffffff00 broadcast 192.168.16.255\r\n        ether 0:c:29:4f:e1:a6 \r\npcn0:1: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2\r\n        inet 10.10.168.176 netmask ff000000 broadcast 10.255.255.255\r\n#     \r\n# ifconfig -a\r\nlo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1\r\n        inet 127.0.0.1 netmask ff000000 \r\nbash-3.00# ifconfig -a\r\nlo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1\r\n        inet 127.0.0.1 netmask ff000000 \r\npcn0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2\r\n        inet 192.168.16.107 netmask ffffff00 broadcast 192.168.16.255\r\n        ether 0:c:29:4f:e1:a6 \r\npcn0:1: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2\r\n        inet 10.10.168.176 netmask ff000000 broadcast 10.255.255.255\r\nbash-3.00# ping -i pcn0:1 -s 192.168.16.1\r\nPING 192.168.16.1: 56 data bytes\r\n64 bytes from 192.168.16.1: icmp_seq=0. time=239. ms\r\n64 bytes from 192.168.16.1: icmp_seq=1. time=169. ms\r\n64 bytes from 192.168.16.1: icmp_seq=2. time=11.9 ms\r\n64 bytes from 192.168.16.1: icmp_seq=3. time=2.17 ms\r\n64 bytes from 192.168.16.1: icmp_seq=4. time=314. ms\r\n64 bytes from 192.168.16.1: icmp_seq=5. time=76.3 ms\r\n^C\r\n----192.168.16.1 PING Statistics----\r\n6 packets transmitted, 6 packets received, 0% packet loss\r\nround-trip (ms)  min/avg/max/stddev = 2.17/135./314./1.3e+02\r\nbash-3.00# traceroute -i pcn0:1 192.168.16.1\r\ntraceroute to 192.168.16.1 (192.168.16.1), 30 hops max, 40 byte packets\r\n 1  * * *\r\n 2  * * *\r\n 3  * * *\r\n 4  * * *\r\n 5  * * *\r\n 6 ^C\r\nbash-3.00# ndd -get /dev/ip ip_forwarding\r\n1\r\nbash-3.00#
作者: yuhuohu    时间: 2007-09-20 10:16
不奇怪,Ping和traceroute虽然都是icmp报,可报文类型不同,目标主机可能拒绝响应icmp的traceroute报文,仅响应icmp的echo和echo_reply
作者: ljok30    时间: 2007-09-20 10:25
按照你的说法,那下面的情况又怎么解释呢?下面的情况说明远程主机是响应traceroute的报文的,这就是奇怪的地方。\r\n\r\nbash-3.00# traceroute -i pcn0 192.168.16.1\r\ntraceroute to 192.168.16.1 (192.168.16.1), 30 hops max, 40 byte packets\r\n 1  192.168.16.1 (192.168.16.1)  0.000 ms  9.843 ms *\r\nbash-3.00#
作者: race    时间: 2007-09-20 10:31
一个机器分配俩IP时容易出现那样的问题,个人感觉traceroute源地址问题。加个-a看看
作者: yuhuohu    时间: 2007-09-20 10:37
traceroute -i pcn0:1 192.168.16.1 你得pcn0:1是10网段,基本上死也追不到192.168.16.1得,就只能用pcn0才行\r\n\r\nping -i pcn0:1 -s 192.168.16.1这个嘛,基本上不用管这个哪,\r\n\r\npcn0和192一个网段,本来就应该用ping -i pcn0 -s 192.168.16.1\r\n\r\nLZ还是用规范做法吧。不要非得用不同网段得网卡去测试另一个接口得网络吧\n\n[ 本帖最后由 yuhuohu 于 2007-9-20 10:39 编辑 ]
作者: ljok30    时间: 2007-09-20 10:49
其实我就是想试验ip转发的功能,看是否能在虚拟网络接口之间转发!
作者: yuhuohu    时间: 2007-09-20 10:57
yun,那不是这样子试验滴..\r\n\r\n host1---------pcn0:1        solaris        pcn0--------------host2\r\n\r\nhost1 ping host2 \r\nor\r\nhost2 ping host1
作者: ljok30    时间: 2007-09-20 11:08
我明白,我这样做只是把问题简单化,要不然你怎么就敢肯定不是host1到solaris出问题了呢?现在的问题就是host1 ping不通host2,所以才会有这个想法,测试一下本机的两个网络接口能不能正常转发数据包,确定问题所在嘛!
作者: ljok30    时间: 2007-09-20 11:14
标题: 补充
我这样都通是不是表明我的ip转发没有问题呢,但是一旦把192。168。16。107(这个是我本机的ip)换成别的同一网段的机器就traceroute不通呢?\r\n\r\nbash-3.00# ping -i pcn0:1 -s 192.168.16.107\r\nPING 192.168.16.107: 56 data bytes\r\n64 bytes from ljok (192.168.16.107): icmp_seq=0. time=0.252 ms\r\n64 bytes from ljok (192.168.16.107): icmp_seq=1. time=0.231 ms\r\n64 bytes from ljok (192.168.16.107): icmp_seq=2. time=0.200 ms\r\n64 bytes from ljok (192.168.16.107): icmp_seq=3. time=0.194 ms\r\n64 bytes from ljok (192.168.16.107): icmp_seq=4. time=0.198 ms\r\n^C\r\n----192.168.16.107 PING Statistics----\r\n5 packets transmitted, 5 packets received, 0% packet loss\r\nround-trip (ms)  min/avg/max/stddev = 0.194/0.215/0.252/0.025\r\nbash-3.00# traceroute -i pcn0:1 192.168.16.107\r\ntraceroute to 192.168.16.107 (192.168.16.107), 30 hops max, 40 byte packets\r\n 1  ljok (192.168.16.107)  0.000 ms  0.000 ms  0.000 ms\r\nbash-3.00#
作者: yuhuohu    时间: 2007-09-20 12:39
我敲了这么多也没分拿。。。。。。。。。。。。。。哭
作者: yuhuohu    时间: 2007-09-20 15:07
那是因为你的host1没有配置到pcn0和hosts2所处网络的路由,host2也要配路由\r\n\r\n如果host1是windows. \r\n       route add pcn0-net netmask 255.x.x.x pcn0:1-ip\r\n\r\n如果host2是windows. \r\n       route add pcn0:1-net netmask 255.x.x.x pcn0-ip




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2