Linux网卡攻略
Linux系統(tǒng)下的網(wǎng)卡不像Windows那么支持完善,有時(shí)需要自己動(dòng)手,本文總結(jié)了相關(guān)的驅(qū)動(dòng)安裝、命令行工具和測(cè)試網(wǎng)卡的負(fù)載等內(nèi)容。
網(wǎng)卡驅(qū)動(dòng)
http://downloadcenter.intel.com/
安裝包中README有詳細(xì)說明,主要就是如下幾個(gè)命令
Make install
modprobe e1000e 或者 insmod e1000
rmmod e1000e; modprobe e1000e
網(wǎng)卡配置文件
對(duì)于網(wǎng)卡信息的配置通常包括:配置IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)。網(wǎng)卡信息保存在網(wǎng)卡配置文件中。網(wǎng)卡配置文件位于/etc/sysconfig/network-scripts目錄下。一塊網(wǎng)卡對(duì)應(yīng)一個(gè)網(wǎng)卡配置文件,配置文件命名規(guī)則:
ifcfg-網(wǎng)卡類型以及網(wǎng)卡的序列號(hào)
由于以太網(wǎng)卡類型是eth,網(wǎng)卡的序列號(hào)從0開始,所以第一塊網(wǎng)卡的配置文件名稱為ifcfg-eth0,第二塊網(wǎng)卡為ifcfg-eth1,以此類推。
網(wǎng)卡配置文件中常用配置文件名的還以如下:
DEVICE=eth0,定義該網(wǎng)卡的識(shí)別名稱。
BOOTPROTO=dhcp,啟動(dòng)該網(wǎng)卡的識(shí)別名稱。
static/none:代表固定的IP地址;bootp/dhcp:通過BOOTP或DHCP協(xié)議取得IP地址。
HWADDR=00:02:B3:0B:64:22,該網(wǎng)卡的MAC地址。
ONBOOT=yes,啟動(dòng)network服務(wù)時(shí),是否啟用該網(wǎng)卡。當(dāng)RedHat系統(tǒng)啟動(dòng)network服務(wù)時(shí),network服務(wù)一次讀取保存于/etc/sysconfig/network-scripts/目錄下所有網(wǎng)卡的配置文件。如果網(wǎng)卡配置文件的ONBOOT設(shè)置為yes,則network服務(wù)就會(huì)調(diào)用ifup命令啟動(dòng)該網(wǎng)卡;如果網(wǎng)卡的配置文件的ONBOOT參數(shù)為no,network會(huì)跳過啟動(dòng)這個(gè)網(wǎng)卡的工作。
TYPE=Ethernet,網(wǎng)卡的類型。
USERCTL=no,是否允許普通用戶啟動(dòng)或者停止該網(wǎng)卡。
IPV6INIT=no,是否在該網(wǎng)卡上啟動(dòng)IPV6的功能。
PEERDNS=yes,是否允許網(wǎng)卡在啟動(dòng)時(shí)向DHCP服務(wù)器查詢DNS信息,并自動(dòng)覆蓋/etc/resolv.conf配置文件。
以下配置項(xiàng)用于指定該網(wǎng)卡的靜態(tài)IP地址,此時(shí)BOOTPROTO必須為static或者none。
IPADDR=192.168.1.55,靜態(tài)方式指定網(wǎng)卡的IP地址。
NETMASK=255.255.255.0,定義該網(wǎng)卡的子網(wǎng)掩碼。
MTU=1500,設(shè)置網(wǎng)卡的MAC幀最大傳輸單位大小。
GATEWAY=192.168.1.1,設(shè)置網(wǎng)絡(luò)的默認(rèn)網(wǎng)關(guān)。
DNS1=192.168.128.5,指定主要的DNS服務(wù)器地址。
DNS2=192.168.128.6,指定備用的DNS服務(wù)器地址。
配置網(wǎng)卡信息
配置網(wǎng)卡信息可以直接修改網(wǎng)卡配置文件中的相關(guān)內(nèi)容,但是這種方法對(duì)用戶的要求比較高。在RedHat Enterprise Linux5中常用于設(shè)置IP地址的三個(gè)命令,分別是:system-config-network、setup和ifconfig。其中ifconfig設(shè)置IP地址的方法將在常用命令部分中介紹。
(1)system-config-network命令
在命令提示行下輸入system-config-network命令將會(huì)啟動(dòng)可視化網(wǎng)絡(luò)配置界面(對(duì)于新手這個(gè)方式比較簡(jiǎn)單)
(2)setup設(shè)置網(wǎng)卡信息
在命令行下輸入setup命令后將會(huì)進(jìn)入系統(tǒng)設(shè)置界面,然后選擇網(wǎng)卡設(shè)置進(jìn)入網(wǎng)卡設(shè)置界面(很多系統(tǒng)都可以使用setup命令設(shè)置,運(yùn)用比較廣)
(3)ifconfig網(wǎng)卡常用命令
ifconfig命令的功能比較強(qiáng)大,可以用來查看和設(shè)置網(wǎng)卡信息。
a.查看網(wǎng)卡信息
命令語法:ifconfig [參數(shù)]
參數(shù)說明:
無參數(shù):顯示當(dāng)前活動(dòng)的網(wǎng)卡
- a:顯示系統(tǒng)中所有網(wǎng)卡的配置信息
網(wǎng)卡設(shè)備名稱:顯示指定網(wǎng)卡的配置信息
eg:查看eth0網(wǎng)卡信息:#ifconfig eth0
b.設(shè)置IP地址
命令語法:ifconfig 網(wǎng)卡設(shè)備名 IP地址 netmask 子網(wǎng)掩碼
(注:ifconfig命令設(shè)置的IP地址即時(shí)生效,但是重啟機(jī)器后,IP地址又回復(fù)到原IP地址,所以ifconfig命令只能用于設(shè)置臨時(shí)的IP地址)
eg:ifconfig eth0 192.168.168.156 netmask 255.255.255.0
c.修改MAC地址
命令語法:ifconfig 網(wǎng)卡設(shè)備名 hw ether MAC地址
(注:修改網(wǎng)卡的MAC地址前要禁用網(wǎng)卡,修改后要啟用網(wǎng)卡)
eg:ifconfig eth0 hw ether 00:0C:29:03:F3:76
幾個(gè)常用的命令
1.ifdown禁用網(wǎng)卡
語法:ifdown 網(wǎng)卡設(shè)備名
2.ifup啟用網(wǎng)卡
語法:ifup 網(wǎng)卡設(shè)備名
3.綁定IP和MAC地址
實(shí)現(xiàn)方法:創(chuàng)建/etc/ethers文件,文件內(nèi)容“ip地址 mac地址”,然后執(zhí)行“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---查看網(wǎng)卡以及修改網(wǎng)卡配置工具
ethtool 是用于查詢及設(shè)置網(wǎng)卡參數(shù)的命令。
使用概要:
ethtool ethx //查詢ethx網(wǎng)口基本設(shè)置,其中 x 是對(duì)應(yīng)網(wǎng)卡的編號(hào),如eth0、eth1等等
ethtool –h //顯示ethtool的命令幫助(help)
ethtool –i ethX //查詢ethX網(wǎng)口的相關(guān)信息
ethtool –d ethX //查詢ethX網(wǎng)口注冊(cè)性信息
ethtool –r ethX //重置ethX網(wǎng)口到自適應(yīng)模式
ethtool –S ethX //查詢ethX網(wǎng)口收發(fā)包統(tǒng)計(jì)
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //設(shè)置網(wǎng)口速率10/100/1000M、設(shè)置網(wǎng)口半/全雙工、設(shè)置網(wǎng)口是否自協(xié)商
[root@linux /]# ethtool eth1 //查看網(wǎng)卡1信息
[root@linux /]# ethtool -i eth1 //查看網(wǎng)卡型號(hào)等
[root@linux /]# ethtool -S eth1 //查看數(shù)據(jù)率等
[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full//強(qiáng)制修改網(wǎng)卡速率,配置成百兆網(wǎng)卡,autoneg off是一定要用,如果是on的話就是自適應(yīng)配置,自動(dòng)根據(jù)機(jī)器等進(jìn)行配置。
[root@linux /]# which ethtool //查詢 ethtool 存放的路徑
/sbin/ethtool
[root@linux /]# rpm -qf /sbin/ethtool //查詢 ethtool 的版本信息
ethtool-1.6-5
將 ethtool 設(shè)置永久保存在網(wǎng)絡(luò)設(shè)備的方法
解決方法一:
ethtool 設(shè)置可通過 /etc/sysconfig/network-scripts/ifcfg-ethX 文件保存,從而在設(shè)備下次啟動(dòng)時(shí)激活選項(xiàng)。
例如:ethtool -s eth0 speed 100 duplex full autoneg off
此指令將eth0設(shè)備設(shè)置為全雙工自適應(yīng),速度為100Mbs。若要eth0啟動(dòng)時(shí)設(shè)置這些參數(shù), 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
解決方法二:
將ethtool設(shè)置寫入/etc/rc.d/rc.local之中。
mii-tool 的用法
mii-tool 在更改網(wǎng)絡(luò)設(shè)備通信協(xié)商方式的方法比較簡(jiǎn)單,用 -v 參數(shù)來查看網(wǎng)絡(luò)接口的狀態(tài);看下面的例子;
mii-tool 更改網(wǎng)絡(luò)接口協(xié)商的方法;
[ ~]# mii-tool --help
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...]
-V, --version display version information
-v, --verbose more verbose output 注:顯示網(wǎng)絡(luò)接口的信息;
-R, --reset reset MII to poweron state 注:重設(shè)MII到開啟狀態(tài);
-r, --restart restart autonegotiation 注:重啟自動(dòng)協(xié)商模式;
-w, --watch monitor for link status changes 注:查看網(wǎng)絡(luò)接口連接的狀態(tài)變化;
-l, --log with -w, write events to syslog 注:寫入事件到系統(tǒng)日志;
-A, --advertise=media,... advertise only specified media 注:指令特定的網(wǎng)絡(luò)接口;
-F, --force=media force specified media technology 注:更改網(wǎng)絡(luò)接口協(xié)商方式;
media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
(to advertise both HD and FD) 100baseTx, 10baseT
更改網(wǎng)絡(luò)接口的協(xié)商方式,我們要用到-F選項(xiàng),后面可以接 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD等參數(shù);
如果我們想把網(wǎng)絡(luò)接口eth0改為 1000Mb/s全雙工的模式應(yīng)該怎么辦呢?
[root@localhost ~]# mii-tool -F 100baseTx-FD
[root@localhost ~]#mii-tool -v eth0
Ip
ip與ethtool的功能與傳統(tǒng)的ifconfig類似,而且功能更強(qiáng)。
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
網(wǎng)卡的負(fù)載測(cè)試工具
如果需要對(duì)網(wǎng)卡進(jìn)行詳細(xì)的負(fù)載等指標(biāo)檢測(cè),可以使用如下的工具
Tcpdump
http://www.tcpdump.org/tcpdump_man.html
?
Tcprelay
http://tcpreplay.synfin.net/
http://tcpreplay.synfin.net/wiki/manual
Tcpreplay 是 UNIX 系統(tǒng)下用來編輯和重放網(wǎng)絡(luò)流量包的工具集合,這些流量包可以是通過 tcpdump 或 ethereal 等工具抓取的。 tcpreplay 提供了可靠的、可重復(fù)的方法來測(cè)試不同的網(wǎng)絡(luò)設(shè)備,包括:交換機(jī)、路由器、防火墻、入侵檢測(cè)系統(tǒng) (IDS) 和入侵防御系統(tǒng) (IPS) 。
tcpreplay:常用的發(fā)包軟件,可以重發(fā)tcpdump所捕獲的報(bào)文。
pktgen:linux內(nèi)核自帶的發(fā)包工具。
http://blog.sina.com.cn/s/blog_63ac8a6c0100u17d.html
?
?
本資料詳細(xì)地址可從
https://skydrive.live.com/embed?cid=56B433AD3D1871E3&resid=56B433AD3D1871E3%21611&authkey=AJbvG12sXg6gScQ&em=2
下載
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 学用MVC4做网站二:2.2添加用户组
- 下一篇: sql server2005 出现一个或