Chinaunix

标题: ping不通网关 [打印本页]

作者: haohiwhh    时间: 2009-03-22 13:47
标题: ping不通网关
家里拉了一条有线通网络,自己安装了个路由器(192.168.1.1),内网里一台windows的机器可以上网,现在新装另外一台redhat的机器,网线连接上,修改配置文件,重启启动网络设定,ping 192.168.1.1的时候出现“destination host unreachable”错误。下面是我修改的配置文件信息,请帮忙看一下有哪里设置错误或者还需要修改其他哪里地方?谢谢!
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

[ 本帖最后由 haohiwhh 于 2009-3-22 13:49 编辑 ]
作者: luotengfei520    时间: 2009-03-22 13:56
这个配置文件没有错啊,看一下其他的地方坏了没有,家里的傻瓜式路由器不是自带DHCP吗,你使用dhclient eth0是一下?
作者: haohiwhh    时间: 2009-03-22 14:17
标题: 回复 #2 luotengfei520 的帖子
系统是刚装好不久的, 应该没什么文件被破环。我ping本机127.0.0.1是可以的,而且检查过网线也没问题。
使用dhclient eth0最后面显示的是“
no dhcpoffers received
no working leases in persistent database  - sleeping ”

还是ping不同网关。
我查找了好像有一种是设置BOOTPROTO=dhcp的,不知道是不是需要设置为dhcp

[ 本帖最后由 haohiwhh 于 2009-3-22 14:21 编辑 ]
作者: haohiwhh    时间: 2009-03-22 14:34
标题: 回复 #2 luotengfei520 的帖子
google了一下dhclient 这个命令,有人用
$ sudo dhclient -r               //release ip 释放IP
$ sudo dhclient                  //获取IP
就成功了,我试用后也可以ping通网关了,不过有点纳闷,我使用
# /etc/rc.d/init.d/network restart
# ifdown eth0
# ifup eth0
不是同样的道理吗?
作者: luotengfei520    时间: 2009-03-22 14:41
不是的,前面一个是动态获取的IP地址,后面的一个静态IP地址
作者: haohiwhh    时间: 2009-03-22 14:50
标题: 回复 #5 luotengfei520 的帖子
你说的对的,ifconfig了一下,原来eth0还是没有生效,获取的的地址是eth1的。还是没弄出来静态IP地址,唉
作者: haohiwhh    时间: 2009-03-22 15:39
标题: 回复 #6 haohiwhh 的帖子
唉,就是想弄成功静态ip地址。我发觉一个现象:禁止eth1,启动eth0,这个时候在windows(192.168.1.101)机器上可以ping通过redhat上设置的静态ip,也既是eth0的192.168.1.100; 禁止eth0,启动eth1,这个时候window和redhat双方可以互相ping通,(101和eth1自动获的105)
作者: luotengfei520    时间: 2009-03-22 15:44
原帖由 haohiwhh 于 2009-3-22 15:39 发表
唉,就是想弄成功静态ip地址。我发觉一个现象:禁止eth1,启动eth0,这个时候在windows(192.168.1.101)机器上可以ping通过redhat上设置的静态ip,也既是eth0的192.168.1.100; 禁止eth0,启动eth1,这个时候wi ...

你在装了Linux的那台电脑有两块网卡??????
作者: haohiwhh    时间: 2009-03-22 15:47
标题: 回复 #8 luotengfei520 的帖子
恩,是的。本来就是服务器,宝德的r1215,很老的机器了。人家处理掉,我要过来的
作者: luotengfei520    时间: 2009-03-22 15:49
原帖由 haohiwhh 于 2009-3-22 15:47 发表
恩,是的。本来就是服务器,宝德的r1215,很老的机器了。人家处理掉,我要过来的

在同一台电脑上的两块网卡设成同一网段的IP地址会起冲突的
作者: haohiwhh    时间: 2009-03-22 15:59
原帖由 luotengfei520 于 2009-3-22 15:49 发表

在同一台电脑上的两块网卡设成同一网段的IP地址会起冲突的



但实际上,我每次都只启用一个网卡,比如ifdown 掉 eth0,启动eth1, 这个时候window和redhat可以相互ping通。第二次,我ifdown掉eth1,然后启动eth0, 这个时候,windows可以ping通那个静态地址(100),但在redhat上就ping不同网关,ping不桶window了。估计就是静态地址的设置方式有问题,就是找不出来
作者: luotengfei520    时间: 2009-03-22 16:18
原帖由 haohiwhh 于 2009-3-22 15:59 发表



但实际上,我每次都只启用一个网卡,比如ifdown 掉 eth0,启动eth1, 这个时候window和redhat可以相互ping通。第二次,我ifdown掉eth1,然后启动eth0, 这个时候,windows可以ping通那个静态地址(100),但在 ...

我觉不是配置文件错了,如果你觉得错了,你先用netconfig 将eth0 配置成静态IP,然后查看配置文件,与eth1的配置文件对比一下。
作者: Celinde    时间: 2009-03-22 21:33
route -n ,看路由表。

两块网卡可以设置在同一个网段,但是要注意路由表中的路由设置..
作者: luotengfei520    时间: 2009-03-22 21:52
原帖由 Celinde 于 2009-3-22 21:33 发表
route -n ,看路由表。

两块网卡可以设置在同一个网段,但是要注意路由表中的路由设置..

请问一下怎么个设置法?当一个数据包发送出去的时候,那么这个数据包是走eth0还是走eth1呢?
作者: emmoblin    时间: 2009-03-22 22:14
地址冲突啦
作者: Celinde    时间: 2009-03-22 22:27
一看就明白:


  1. # ifconfig
  2. eth0      Link encap:Ethernet  HWaddr 00:1b:24:56:3f:7c
  3.           inet addr:192.168.0.22  Bcast:192.168.0.255  Mask:255.255.255.0
  4.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  5.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  6.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  7.           collisions:0 txqueuelen:1000
  8.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
  9.           Interrupt:17

  10. lo        Link encap:Local Loopback
  11.           inet addr:127.0.0.1  Mask:255.0.0.0
  12.           UP LOOPBACK RUNNING  MTU:16436  Metric:1
  13.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  14.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  15.           collisions:0 txqueuelen:0
  16.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

  17. wlan0     Link encap:Ethernet  HWaddr 00:1b:77:aa:26:4d
  18.           inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0
  19.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  20.           RX packets:1226 errors:0 dropped:0 overruns:0 frame:0
  21.           TX packets:983 errors:0 dropped:0 overruns:0 carrier:0
  22.           collisions:0 txqueuelen:1000
  23.           RX bytes:237055 (231.4 KiB)  TX bytes:184112 (179.7 KiB)


  24. # route -n
  25. Kernel IP routing table
  26. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  27. 192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
  28. 192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
  29. 127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo
  30. 0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

复制代码

[ 本帖最后由 Celinde 于 2009-3-22 22:30 编辑 ]
作者: Celinde    时间: 2009-03-22 22:34
上面的例子里,eth0 和wlan0处在同一子网,发往192.168.0.0/24的包从wlan0送出,
发往其他地址(除127.0.0.0/的包从eth0送出。
作者: luotengfei520    时间: 2009-03-22 22:50
标题: 回复 #17 Celinde 的帖子
这个地方确实是实现了两块网卡在同一网段,但是好像有点不对,你这里就像是做了一条默认路由,
所有的包都往eth0出去了,它不会从wlan0出去的。
作者: Celinde    时间: 2009-03-22 22:59
192.168.0.0/24的包会从wlan0送出。
内核查路由表,找到第一条匹配的就把包送出。
默认路由用来发送在他之前没有匹配到的包。

有兴趣的话可以找两台机器或者装个虚拟机抓包试验一下。
作者: luotengfei520    时间: 2009-03-22 23:05
呵呵!我知道了,谢谢赐教。
作者: pc333    时间: 2009-03-25 08:54
学习了,偶这里也是2个网卡,不过是2个网段,比较好加路由。




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