请教一个网关和路由的问题,谢谢。
事情是这样的:我的pc机ip为10.0.1.156, mask 为 255.255.252.0
网关为10.0.0.1
dns为192.168.0.10
现今我的pc要把包通过网关往外发出去(ping www.qq.com),pc上没有设置默认网关,我是手动加路由的.
route add -net 10.0.0.0 netmask 255.255.252.0 gw 10.0.0.1 dev eth0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.1 dev eth0
但是这样设置后,包是出不了pc机的网口,估计是没找到路由(提示unkown host www.qq.com )。 --------------------- why?我不是添加了路由了?
如果我把第一条路由换成默认网关或者添加一条默认网关路由,就可以了。 ------why?
route add default gw 10.0.0.1 dev eth0
这个默认网关说到底也是一条路由信息,为什么不设置默认网关,而改用设置普通路由网络就不行???求解,谢谢。
:roll: 路由是去往目的地的地址,www.qq.com的目的地址不是10和192段啊。 本帖最后由 youfulanlan 于 2013-11-04 12:00 编辑
这个问题我感觉你给的信息不够,有可能是dns问题 你 dig +tracewww.qq.com 一下看看是否返回dns信息
然后你ping一下119.188.89.202(www.qq.com的PTR)看是否通/
另外你为什么不把ifconfig贴出来? 回复 2# ssffzz1
这个我知道,我抓包工具开着呢,ping的时候我的pc机连dns都没有发呢,所以不是你说的这个问题。 回复 3# youfulanlan
抓包我一直开着的,在没有添加默认网关时,dns包没有抓到的。
ifconfig 没啥信息,就是ip和mask,link state.
shaohui@freescale-sdk:~$ ifconfig -a
eth0 Link encap:EthernetHWaddr 08:00:27:5f:e7:f1
inet addr:10.0.1.197Bcast:10.0.3.255Mask:255.255.252.0
inet6 addr: fe80::a00:27ff:fe5f:e7f1/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
RX packets:786228 errors:66 dropped:0 overruns:0 frame:0
TX packets:10465 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69946817 (69.9 MB)TX bytes:1379159 (1.3 MB)
Interrupt:10 Base address:0xd020
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:16436Metric:1
RX packets:210 errors:0 dropped:0 overruns:0 frame:0
TX packets:210 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:20219 (20.2 KB)TX bytes:20219 (20.2 KB)
--------------------------------------------------------------------------------------------------------------------------------------
shaohui@freescale-sdk:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 www.zj.10086.cn 255.255.255.0 UG 0 0 0 eth0
10.0.0.0 * 255.255.252.0 U 0 0 0 eth0
default www.zj.10086.cn 0.0.0.0 UG 0 0 0 eth0---默认路由
1楼已经说的很清楚了,你的路由只有到10段和192.168段的,很明显这都是私网网段啊,既然是访问腾讯,你至少要知道腾讯的ip段是那些。 回复 6# 小飞侠xl
你说的是一个问题。
但是,我现在是没有配置默认网关,连DNS的包都没抓到啊,这不应该啊。我路由表中有到DNS的entry,照理,这个DNS请求的包应该能抓到啊。 理论上没有问题,把配置网关后ping www.qq.com的数据包贴上来。 你清楚掉DNS缓存再去抓。
本帖最后由 youfulanlan 于 2013-11-05 09:51 编辑
回复 5# shaohui973
昨天没仔细看,是你的路由问题应该是
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
最下面这行决定如果你所请求的ip包地址,不在上面两行之中(192.168.0.0 和169.254.0.0)会往哪个设备发送,我的是eth0 .
www.qq.com的地址肯定不是私有ip,如果我的机器浏览这个网址的话数据包会发向 eth0.你的呢?
但是你又说你的dns解释失败,其实dns的请求包tcp,udp都有,但是这两个数据包都是有ip头的,这个ip头的目的地址就是192.168.0.10,这个地址在你的路由信息里有呀,地址应该能够正确解析呀?坐等高人回答
另外在没有默认路由的情况下,我想看看你的ping 192.168.0.10的结果
页:
[1]
2