Linux网卡攻略
Linux系统下的网卡不像Windows那么支持完善,有时需要自己动手,本文总结了相关的驱动安装、命令行工具和测试网卡的负载等内容。
网卡驱动
/
安装包中README有详细说明,主要就是如下几个命令
Make install
modprobe e1000e 或者 insmod e1000
rmmod e1000e; modprobe e1000e
网卡配置文件
对于网卡信息的配置通常包括:配置IP地址、子网掩码和网关。网卡信息保存在网卡配置文件中。网卡配置文件位于/etc/sysconfig/network-scripts目录下。一块网卡对应一个网卡配置文件,配置文件命名规则:
ifcfg-网卡类型以及网卡的序列号
由于以太网卡类型是eth,网卡的序列号从0开始,所以第一块网卡的配置文件名称为ifcfg-eth0,第二块网卡为ifcfg-eth1,以此类推。
网卡配置文件中常用配置文件名的还以如下:
DEVICE=eth0,定义该网卡的识别名称。
BOOTPROTO=dhcp,启动该网卡的识别名称。
static/none:代表固定的IP地址;bootp/dhcp:通过BOOTP或DHCP协议取得IP地址。
HWADDR=00:02:B3:0B:64:22,该网卡的MAC地址。
ONBOOT=yes,启动network服务时,是否启用该网卡。当RedHat系统启动network服务时,network服务一次读取保存于/etc/sysconfig/network-scripts/目录下所有网卡的配置文件。如果网卡配置文件的ONBOOT设置为yes,则network服务就会调用ifup命令启动该网卡;如果网卡的配置文件的ONBOOT参数为no,network会跳过启动这个网卡的工作。
TYPE=Ethernet,网卡的类型。
USERCTL=no,是否允许普通用户启动或者停止该网卡。
IPV6INIT=no,是否在该网卡上启动IPV6的功能。
PEERDNS=yes,是否允许网卡在启动时向DHCP服务器查询DNS信息,并自动覆盖/etc/resolv.conf配置文件。
以下配置项用于指定该网卡的静态IP地址,此时BOOTPROTO必须为static或者none。
IPADDR=192.168.1.55,静态方式指定网卡的IP地址。
NETMASK=255.255.255.0,定义该网卡的子网掩码。
MTU=1500,设置网卡的MAC帧最大传输单位大小。
GATEWAY=192.168.1.1,设置网络的默认网关。
DNS1=192.168.128.5,指定主要的DNS服务器地址。
DNS2=192.168.128.6,指定备用的DNS服务器地址。
配置网卡信息
配置网卡信息可以直接修改网卡配置文件中的相关内容,但是这种方法对用户的要求比较高。在RedHat Enterprise Linux5中常用于设置IP地址的三个命令,分别是:system-config-network、setup和ifconfig。其中ifconfig设置IP地址的方法将在常用命令部分中介绍。
(1)system-config-network命令
在命令提示行下输入system-config-network命令将会启动可视化网络配置界面(对于新手这个方式比较简单)
(2)setup设置网卡信息
在命令行下输入setup命令后将会进入系统设置界面,然后选择网卡设置进入网卡设置界面(很多系统都可以使用setup命令设置,运用比较广)
(3)ifconfig网卡常用命令
ifconfig命令的功能比较强大,可以用来查看和设置网卡信息。
a.查看网卡信息
命令语法:ifconfig [参数]
参数说明:
无参数:显示当前活动的网卡
- a:显示系统中所有网卡的配置信息
网卡设备名称:显示指定网卡的配置信息
eg:查看eth0网卡信息:#ifconfig eth0
b.设置IP地址
命令语法:ifconfig 网卡设备名 IP地址 netmask 子网掩码
(注:ifconfig命令设置的IP地址即时生效,但是重启机器后,IP地址又回复到原IP地址,所以ifconfig命令只能用于设置临时的IP地址)
eg:ifconfig eth0 192.168.168.156 netmask 255.255.255.0
c.修改MAC地址
命令语法:ifconfig 网卡设备名 hw ether MAC地址
(注:修改网卡的MAC地址前要禁用网卡,修改后要启用网卡)
eg:ifconfig eth0 hw ether 00:0C:29:03:F3:76
几个常用的命令
1.ifdown禁用网卡
语法:ifdown 网卡设备名
2.ifup启用网卡
语法:ifup 网卡设备名
3.绑定IP和MAC地址
实现方法:创建/etc/ethers文件,文件内容“ip地址 mac地址”,然后执行“arp -f”命令,是配置生效。
eg:将IP地址193.168.168.154与MAC地址00:0C:29:03:F3:75绑定。
#echo "193.168.168.154 00:0C:29:03:F3:75">>/etc/ethers
#arp -f
ethtool---查看网卡以及修改网卡配置工具
ethtool 是用于查询及设置网卡参数的命令。
使用概要:
ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
[root@linux /]# ethtool eth1 //查看网卡1信息
[root@linux /]# ethtool -i eth1 //查看网卡型号等
[root@linux /]# ethtool -S eth1 //查看数据率等
[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full//强制修改网卡速率,配置成百兆网卡,autoneg off是一定要用,如果是on的话就是自适应配置,自动根据机器等进行配置。
[root@linux /]# which ethtool//查询 ethtool 存放的路径
/sbin/ethtool
[root@linux /]# rpm -qf /sbin/ethtool//查询 ethtool 的版本信息
ethtool-1.6-5
将 ethtool 设置永久保存在网络设备的方法
解决方法一:
ethtool 设置可通过 /etc/sysconfig/network-scripts/ifcfg-ethX 文件保存,从而在设备下次启动时激活选项。
例如:ethtool -s eth0 speed 100 duplex full autoneg off
此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
解决方法二:
将ethtool设置写入/etc/rc.d/rc.local之中。
mii-tool 的用法
mii-tool 在更改网络设备通信协商方式的方法比较简单,用 -v 参数来查看网络接口的状态;看下面的例子;
mii-tool 更改网络接口协商的方法;
[ ~]# mii-tool --help
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...]
-V, --version display version information
-v, --verbose more verbose output 注:显示网络接口的信息;
-R, --reset reset MII to poweron state 注:重设MII到开启状态;
-r, --restart restart autonegotiation 注:重启自动协商模式;
-w, --watch monitor for link status changes 注:查看网络接口连接的状态变化;
-l, --log with -w, write events to syslog 注:写入事件到系统日志;
-A, --advertise=media,... advertise only specified media 注:指令特定的网络接口;
-F, --force=media force specified media technology 注:更改网络接口协商方式;
media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
(to advertise both HD and FD) 100baseTx, 10baseT
更改网络接口的协商方式,我们要用到-F选项,后面可以接 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD等参数;
如果我们想把网络接口eth0改为 1000Mb/s全双工的模式应该怎么办呢?
[root@localhost ~]# mii-tool -F 100baseTx-FD
[root@localhost ~]#mii-tool -v eth0
Ip
ip与ethtool的功能与传统的ifconfig类似,而且功能更强。
ip下载:apt-get install iproute
# ip addr
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:e0:22:02:25:46 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
inet6 fe80::2e0:22ff:fe02:2546/64 scope link
valid_lft forever preferred_lft forever
# ip link
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:e0:22:02:25:46 brd ff:ff:ff:ff:ff:ff
# ip -s link ls dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:e0:22:02:25:46 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
287018517 364010 0 0 0 0
TX: bytes packets errors dropped carrier collsns
272957602 395576 0 0 0 0
网卡的负载测试工具
如果需要对网卡进行详细的负载等指标检测,可以使用如下的工具
Tcpdump
/tcpdump_man.html
Tcprelay
/
/wiki/manual
Tcpreplay 是 UNIX 系统下用来编辑和重放网络流量包的工具集合,这些流量包可以是通过 tcpdump 或 ethereal 等工具抓取的。 tcpreplay 提供了可靠的、可重复的方法来测试不同的网络设备,包括:交换机、路由器、防火墙、入侵检测系统 (IDS) 和入侵防御系统 (IPS) 。
tcpreplay:常用的发包软件,可以重发tcpdump所捕获的报文。
pktgen:linux内核自带的发包工具。
/s/blog_63ac8a6c0100u17d.html
本资料详细地址可从
/embed?cid=56B433AD3D1871E3&resid=56B433AD3D1871E3%21611&authkey=AJbvG12sXg6gScQ&em=2
下载