免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 14166 | 回复: 6
打印 上一主题 下一主题

能ping通,却不能traceroute通? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-20 10:10 |显示全部楼层 |倒序浏览
如题,详细见下面配置,只有一块网卡,虚拟出一个网卡,开启ip转发:

# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
pcn0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2
        inet 192.168.16.107 netmask ffffff00 broadcast 192.168.16.255
        ether 0:c:29:4f:e1:a6
pcn0:1: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2
        inet 10.10.168.176 netmask ff000000 broadcast 10.255.255.255
#     
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
pcn0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2
        inet 192.168.16.107 netmask ffffff00 broadcast 192.168.16.255
        ether 0:c:29:4f:e1:a6
pcn0:1: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2
        inet 10.10.168.176 netmask ff000000 broadcast 10.255.255.255
bash-3.00# ping -i pcn0:1 -s 192.168.16.1
PING 192.168.16.1: 56 data bytes
64 bytes from 192.168.16.1: icmp_seq=0. time=239. ms
64 bytes from 192.168.16.1: icmp_seq=1. time=169. ms
64 bytes from 192.168.16.1: icmp_seq=2. time=11.9 ms
64 bytes from 192.168.16.1: icmp_seq=3. time=2.17 ms
64 bytes from 192.168.16.1: icmp_seq=4. time=314. ms
64 bytes from 192.168.16.1: icmp_seq=5. time=76.3 ms
^C
----192.168.16.1 PING Statistics----
6 packets transmitted, 6 packets received, 0% packet loss
round-trip (ms)  min/avg/max/stddev = 2.17/135./314./1.3e+02
bash-3.00# traceroute -i pcn0:1 192.168.16.1
traceroute to 192.168.16.1 (192.168.16.1), 30 hops max, 40 byte packets
1  * * *
2  * * *
3  * * *
4  * * *
5  * * *
6 ^C
bash-3.00# ndd -get /dev/ip ip_forwarding
1
bash-3.00#

论坛徽章:
0
2 [报告]
发表于 2007-09-20 10:25 |显示全部楼层
按照你的说法,那下面的情况又怎么解释呢?下面的情况说明远程主机是响应traceroute的报文的,这就是奇怪的地方。

bash-3.00# traceroute -i pcn0 192.168.16.1
traceroute to 192.168.16.1 (192.168.16.1), 30 hops max, 40 byte packets
1  192.168.16.1 (192.168.16.1)  0.000 ms  9.843 ms *
bash-3.00#

论坛徽章:
0
3 [报告]
发表于 2007-09-20 10:49 |显示全部楼层
其实我就是想试验ip转发的功能,看是否能在虚拟网络接口之间转发!

论坛徽章:
0
4 [报告]
发表于 2007-09-20 11:08 |显示全部楼层
我明白,我这样做只是把问题简单化,要不然你怎么就敢肯定不是host1到solaris出问题了呢?现在的问题就是host1 ping不通host2,所以才会有这个想法,测试一下本机的两个网络接口能不能正常转发数据包,确定问题所在嘛!

论坛徽章:
0
5 [报告]
发表于 2007-09-20 11:14 |显示全部楼层

补充

我这样都通是不是表明我的ip转发没有问题呢,但是一旦把192。168。16。107(这个是我本机的ip)换成别的同一网段的机器就traceroute不通呢?

bash-3.00# ping -i pcn0:1 -s 192.168.16.107
PING 192.168.16.107: 56 data bytes
64 bytes from ljok (192.168.16.107): icmp_seq=0. time=0.252 ms
64 bytes from ljok (192.168.16.107): icmp_seq=1. time=0.231 ms
64 bytes from ljok (192.168.16.107): icmp_seq=2. time=0.200 ms
64 bytes from ljok (192.168.16.107): icmp_seq=3. time=0.194 ms
64 bytes from ljok (192.168.16.107): icmp_seq=4. time=0.198 ms
^C
----192.168.16.107 PING Statistics----
5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms)  min/avg/max/stddev = 0.194/0.215/0.252/0.025
bash-3.00# traceroute -i pcn0:1 192.168.16.107
traceroute to 192.168.16.107 (192.168.16.107), 30 hops max, 40 byte packets
1  ljok (192.168.16.107)  0.000 ms  0.000 ms  0.000 ms
bash-3.00#

论坛徽章:
0
6 [报告]
发表于 2007-09-20 13:58 |显示全部楼层
首先感谢yuhuohu的帮助,虽然问题还是没有解决,但是我又更清楚了一些!现在的现象是
host1 ping host2----》不通
host1 ping pcn0------》不通
无论ip转发是否打开,现象一样,真是百思不得其解,难道虚拟出一个网络接口就不能做ip转发?
再次感谢cu的各位大侠,小弟第一次参与讨论,菜鸟之处还请谅解!

论坛徽章:
0
7 [报告]
发表于 2007-09-20 16:15 |显示全部楼层
怎么会没配呢,后来干脆把host1的默认网关配成pcn0:1,还是不行!并且我用tracert host2的时候,数据包已经能到pcn0:1,这说明这边的路由是没有问题的!

但是我发现了个新的现象,值得注意:
1,如果我打开ip转发
host1  ping  host2,我在solaris上抓包看不到任何关于pcn0:1的icmp包
host1上tracert host2,我在solaris上就可以抓到关于pcn0:1的icmp包(这个包值得注意,见最后的描述)
2,如果我关闭ip转发
host1  ping  host2,我在solaris上抓包看不到任何关于pcn0:1的icmp包
host1上tracert host2,我在solaris上抓包看不到任何关于pcn0:1的icmp包

bash-3.00# snoop -r host 10.10.168.176 and icmp
Using device /dev/pcn0 (promiscuous mode)
10.10.168.176 -> 10.10.168.116 ICMP Time exceeded (in transit)
10.10.168.176 -> 10.10.168.116 ICMP Time exceeded (in transit)
10.10.168.176 -> 10.10.168.116 ICMP Time exceeded (in transit)
这似乎是路由器环路的现象,具体的我也不是很理解,希望那位达人能给予解释,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP