近期公司使用的Centos突然出现网络不稳定现象,有公网,内部可以PING通外网,但是外部PING这个IP时,经常丢包现象,而且一丢包就是连续性的长达七八次,甚至十几次。
这个问题折腾了很长时间,因为近期没更新任何东西,一直没发现问题所在,怀疑过网线线路、系统配置(包括网卡配置、防火墙、端口等),依然没发现问题根节点。
无意间,把静态IP配置(因为线路是静态地址的,联通网络)重新配置了下,终于发现原来是BOOTPROTO的配置问题。
BOOTPROTO=static //none, dhcp, static三种模式
其中
BOOTPROTO=none时一般是在做网卡绑定的时候用到。通常情况下就dhcp或者static,通过指定方式的办法来获得地址。***下面这句是重点****如果没有指定的话(也就是none)可能会出现各种各样的网络受限。
啊~~~,配置为static,网络终于问题了。
是的,没问题了,但是之前为什么可以呢,为什么在没有任何更新情况下突然有问题呢?
揪着这个问题,问了联通技术,对方反馈,我们拉的线路是非常老的产品,近期在做线路更新。
啊~~~,心中万马奔腾,原来酱紫。
-------------------------
下面贴出配置动态或者静态IP的方法:
Linux下为机器设置静态IP地址:vim /etc/sysconfig/network-scripts/ifcfg-eth0修改这个文件内容如下形式:# Intel Corporation 82541GI Gigabit Ethernet ControllerDEVICE=eth0BOOTPROTO=static #为静态的HWADDR=00:15:17:B2:DC:B5ONBOOT=yesIPADDR=10.20.134.199 #这个是设置的静态IP地址NETMASK=255.255.254.0 GATEWAY=10.20.134.1 #网关修改后,需要重启网络是更改生效:/etc/init.d/network restart自动获取动态IP地址方式:vim /etc/sysconfig/network-scripts/ifcfg-eth1内容如下:# Intel Corporation 82566DM-2 Gigabit Network ConnectionDEVICE=eth1BOOTPROTO=dhcp #动态获取IPHWADDR=00:15:17:B2:DC:B7ONBOOT=no运行命令:dhclient eth1 自动获取动态IP地址可以通过:ifconfig查看分配的IP地址。
-----------------------------
下面是ifconfig查看网卡IP的字段说明:
使用ifconfig命令可查看当前网卡是否设置为混杂模式 [zhaihf@localhost~]$ ifconfig eth0 Linkencap:Ethernet HWaddr 00:16:31:FF:A6:2E inet addr:192.168.9.1 Bcast:192.168.9.255 Mask:255.255.255.0 UPBROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Memory:98420000-98440000 eth1 Link encap:Ethernet HWaddr 00:16:31:FF:A6:2F inet addr:192.168.8.48 Bcast:192.168.8.255 Mask:255.255.255.0 inet6 addr: fe80::216:31ff:feff:a61f/64 Scope:Link UPBROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:28011022 errors:0 dropped:0 overruns:0 frame:0 TX packets:18408510 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:31733322503 (29.5 GiB) TX bytes:21092798216 (19.6GiB) Memory:98400000-98420000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8873 errors:0 dropped:0 overruns:0 frame:0 TX packets:8873 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3140421 (2.9 MiB) TX bytes:3140421 (2.9 MiB) usb0 Link encap:Ethernet HWaddr 5E:F3:FC:E1:D2:19 inet addr:169.254.95.120 Bcast:169.254.95.255 Mask:255.255.255.0 inet6 addr: fe80::5cf3:fcff:fee1:d217/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RXpackets:220031 errors:0 dropped:0 overruns:0 frame:0 TX packets:110230 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14862206 (14.1 MiB) TX bytes:5251125 (5.0 MiB) 其中UPBROADCAST RUNNING PROMISC MULTICAST的PROMISC说明网卡eth1已经设置成混杂模式。 字段含义说明: eth0/eth1: 分别表示第一块网卡和第二块网卡; lo: 表示回环测试接口,注意,这个虚拟的interface一定要存在! usb0: 表示USB接口的网卡; Linkencap: 表示位于OSI物理层的名称,即连接类型Ethernet(以太网) HWaddr: 表示网卡的硬件地址,即MAC地址 inetaddr: 表示网卡IP; Bcast: 表示广播(broadcast ) 的地址; Mask: 表示子网掩码; UP: 表示网卡开启状态; BROADCAST: 表示支持广播; MULTICAST: 表示网卡混杂模式; RUNNING: 表示网卡的网线被接上; MULTICAST: 表示支持组播; MTU: 表示MaximumTrasmission Unit 最大传输单元(字节),即此接口一次所能传输的最大封包; Metric: 表示路由度量值,缺省值是0; RX: 表示网络由激活到目前为止接收的数据包; TX: 表示网络由激活到目前为止发送的数据包; collisions: 表示网络信号冲突的情况; txqueuelen: 表示传输缓冲区长度大小; Memory: 表示占用内存范围。