ubuntu設定網絡卡速率

2021-07-03 17:49:36 字數 3674 閱讀 9453

沒有比購買乙個完全的linux相容網絡卡更好的linux投資了。大部分的linux廠商在他們**上都有乙份相容的硬體列表:在開始連線你的機器到網路之前請仔細閱讀它。如果你沒有找到任何在本地的計算機商店可以買到的型號,那麼同系列也是可以的。大多數網絡卡都能正常工作,但只有完全相容的可為您提供無差錯的,持續的吞吐量。

linux缺省會在網絡卡連線到路由器上時自動協商判斷網絡卡的速度和雙工。配置乙個路由器埠自動協商速度和雙工往往是不足夠的,因為不同的協議標準執行上常會有分歧。

實際上,網絡卡即使協商失敗也會工作,但這通常會導致在網絡卡上使用ifconfig -a命令時看到許多衝突型別的錯誤和極低的效能。在故障排除時不要只把這類錯誤侷限於協商失敗;問題也可能是壞的網絡卡,路由器埠,或者網線導致的。

使用mii-tool

mii-tool是乙個原始的設定網絡卡速度和雙工的linux工具。它以注定會被拋棄,而由新的ethtool命令取而代之,但是很多老的網絡卡只支援mii-toll,所以你還需要知道它。不帶任何引數的執行命令會產生乙個簡要的狀態報告,如下面樣例所示,對於不支援的網絡卡將提示operation not supported資訊。mii-tool不相容的網絡卡往往仍然可以工作,但是你需要根據製造商的指南來設定速度和雙工,而不能自動協商。

[root@bigboy tmp]# mii-tool

siocgmiiphy on 'eth0' failed: operation not supported

eth1: 100 mbit, half duplex, link ok

[root@bigboy tmp]#

通過-v引數使用verbose模式,你可以獲得更多更詳細的資訊。在這個例子中,協商正常,網絡卡選擇100mbps,全雙工模式(fd)。

[root@bigboy tmp]# mii-tool -v

eth1: negotiated 100basetx-fd, link ok

product info: vendor 00:10:18, model 33 rev 2

basic mode: autonegotiation enabled

basic status: autonegotiation complete, link ok

capabilities: 100basetx-fd 100basetx-hd 10baset-fd 10baset-hd

advertising: 100basetx-fd 100basetx-hd 10baset-fd 10baset-hd

link partner: 100basetx-fd 100basetx-hd 10baset-fd 10baset-hd flow-control

[root@bigboy tmp]#

用mii-tool設定網絡卡的速度引數

你可以通過-f引數強行指定網絡卡的速度和雙工,選項包括:100basetx-fd,100basetx-hd,10baset-fd,或者10baset-hd。記住,你可能丟失網路連線如果你網絡卡的強制速度/雙工模式與路由器不匹配的話:

[root@bigboy tmp]# mii-tool -f 100basetx-fd eth0
不幸的是,除了把這個命令放到/etc/rc.local檔案中讓它在每次啟動結束前執行,或者建立你自己的啟動指令碼如果你需要它更早被執行,我們沒有辦法讓它在重啟後永久生效。

使用ethtool

ethtool命令被指定在不久的將來替代mii-tool,目的是支援新的網絡卡。

用裝置名稱作為引數,命令可以提供其狀態。這裡我們可以看到裝置eth0沒有設定自動協商並設定為100 mbps速度,全雙工。在輸出的頂端列出了其所支援的模式。

[root@bigboy tmp]# ethtool eth0

settings for eth0:

supported ports: [ tp mii ]

supported link modes: 10baset/half 10baset/full

100baset/half 100baset/full

supports auto-negotiation: yes

advertised link modes: 10baset/half 10baset/full

100baset/half 100baset/full

advertised auto-negotiation: no

speed: 100mb/s

duplex: full

port: mii

phyad: 1

transceiver: internal

auto-negotiation: off

supports wake-on: g

wake-on: g

current message level: 0x00000007 (7)

link detected: yes

[root@bigboy tmp]#

用ethtool設定網絡卡的速度引數

不同於mii-tool,ethtool可以通過設定裝置配置指令碼裡的ethtool_opts變數而永久生效。在下面例子裡,設定了在下次重啟時設定100 mbps,全雙工和不自動協商:

#

# file: /etc/sysconfig/network-scripts/ifcfg-eth0

# device=eth0

ipaddr=192.168.1.100

netmask=255.255.255.0

bootproto=static

onboot=yes

ethtool_opts="speed 100 duplex full autoneg off"

你可以通過ifup和ifdown命令關閉和再啟用裝置,來測試這些引數。這些設定也可以通過在命令列中使用-s引數改變,後面跟上裝置名稱和相關配置引數。

[root@bigboy tmp]# ethtool -s eth1 speed 100 duplex full autoneg off

[root@bigboy tmp]#

linux的man命令提供了ethtool選項的更詳細說明,但你可以通過只輸入ethtool命令獲得乙個快速的摘要。

[root@bigboy tmp]# ethtool

......

ethtool -s devname \

[ speed 10|100|1000 ] \

[ duplex half|full ] \

[ port tp|aui|bnc|mii|fibre ] \

......

[root@bigboy tmp]#

關於雙工設定

預設地,linux網絡卡會跟交換機協商速度和雙工設定。這通過交換叫做flp(fast link pules)的電子訊號實現。當速度和雙工被強制指定的時flp就不會傳送。當網絡卡使用自動協商模式而且檢測到乙個健康的,可用的連線時卻沒有收到flp訊號,它會抱錯並把自己的雙工設為半雙工模式,有時它也會設定速度到低一級的值。因此,這樣可能交換機埠是強制100 mbps全雙工,但是自動協商的網絡卡把自己設為100mbps半雙工,結果產生錯誤。同樣情況也可能發生在交換機上,如果交換機埠設為自動協商而伺服器

網絡卡強制100 mbps全雙工。最好是要麼強制交換機埠和網絡卡都是自動協商,要麼強制設定相同的速度和雙工值。

ubuntu設定網絡卡速率

使用ethtool 第一次使用可能需要你安裝,按照提示安裝即可 其中比較常用的就是 s 引數 用ethtool設定網絡卡的速度引數 ethtool s 網絡卡名 速度設定 工作模式 是否自適應 example ethtool s eth0 speed 1000 duplex full autoneg...

linux設定網絡卡速率

ethtool ethtool ethx 查詢ethx網口基本設定 ethtool h 顯示ethtool的命令幫助 help ethtool i ethx 查詢ethx網口的相關資訊 ethtool d ethx 查詢ethx網口註冊性資訊 ethtool r ethx 重置ethx網口到自適應模...

ubuntu網絡卡設定

情形是這樣的,電腦老是重啟,因為這塊主機板有過千科,所以及拿個新機子過來,吧硬碟換了下。同樣的主機板型號,驅動啥的也就沒問題都。玩了兩天,突然發現modelsim找不到license了 用新主機板的mac位址做license拿來也不能用。想來想去,它的license是和nic關聯的,那就是系統裡還有...