Royc30ne

Royc30ne

机器学习 | 联邦学习 | VPS | 摄影 | 日常

[Linuxガイド]ネットワークカードの設定とネットワークカードの動作モードの切り替えの確認

https://images.unsplash.com/photo-1520869562399-e772f042f422?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb

導言#

前幾天在對 zimaboard 內網測速時發現網速一直卡在 100Mbps,在多次 debug 後發現是由於網卡不知道為什麼默認配置為 100M 雙工,於是記錄以下我是如何在 Linux 下對網卡進行配置的。在 Linux 操作系統中,網卡是連接計算機和網絡的關鍵組件之一。在進行網絡通信時,網卡的速度和工作模式將直接影響網絡連接的速度和穩定性。本文將介紹如何在 Linux 中查看網卡配置信息,以及如何切換網卡的工作模式。

一些基礎知識#

網卡的工作原理#

網卡是計算機和網絡之間的接口設備。它負責將計算機的數據轉換成網絡數據,以及將網絡數據轉換成計算機可以處理的數據。網卡的工作原理是通過網絡電纜與交換機相連接,將數據包從一個網絡節點傳輸到另一個網絡節點。

網卡的速度#

網卡的速度是指網卡每秒鐘可以傳輸的數據量,通常用 Mbps(兆位每秒)來表示。在網絡通信中,網卡的速度越快,數據傳輸的速度就越快。千兆以太網(Gigabit Ethernet)是當前常用的高速網絡接口,它的速度是 1000Mbps。

全雙工和半雙工#

全雙工(Full Duplex)是指通信雙方可以同時發送和接收數據。半雙工(Half Duplex)是指通信雙方不能同時發送和接收數據,只能先發送或先接收。全雙工通信比半雙工通信更加高效和穩定。

查看網卡配置信息#

要查看 Linux 系統中的網卡配置信息,可以使用 ifconfig 命令。該命令可以列出系統中所有的網絡接口設備以及它們的配置信息。在終端輸入以下命令:

ifconfig
輸出示例:
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:5eff:fefd:9c84  prefixlen 64  scopeid 0x20<link>
        ether 02:42:5e:fd:9c:84  txqueuelen 0  (Ethernet)
        RX packets 8622396  bytes 7223439485 (6.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9796600  bytes 7777150109 (7.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.107  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fd0f:dcc:1d5f:6bf9:c6e5:baa:c32f:193c  prefixlen 64  scopeid 0x0<global>
        inet6 fd0f:dcc:1d5f:6bf9:2e0:4cff:fe68:1647  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::2e0:4cff:fe68:1647  prefixlen 64  scopeid 0x20<link>
        inet6 fd0f:dcc:1d5f:6bf9:407d:bba4:14ce:a32c  prefixlen 64  scopeid 0x0<global>
        inet6 fd0f:dcc:1d5f:6bf9:628d:ad91:55b:1df2  prefixlen 64  scopeid 0x0<global>
        inet6 fd0f:dcc:1d5f:6bf9:ea80:92b6:b9dd:8710  prefixlen 64  scopeid 0x0<global>
        inet6 fd0f:dcc:1d5f:6bf9:a8ba:d85c:a55e:cc0d  prefixlen 64  scopeid 0x0<global>
        inet6 fd0f:dcc:1d5f:6bf9:e584:259d:760f:faa3  prefixlen 64  scopeid 0x0<global>
        inet6 fd0f:dcc:1d5f:6bf9:e8ec:cda2:3ad7:df4a  prefixlen 64  scopeid 0x0<global>
        ether 00:e0:4c:68:16:47  txqueuelen 1000  (Ethernet)
        RX packets 113354368  bytes 148231729254 (138.0 GiB)
        RX errors 0  dropped 256  overruns 0  frame 0
        TX packets 60782210  bytes 35517421804 (33.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:e0:4c:68:16:48  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 11573003  bytes 13645776101 (12.7 GiB)

該命令將輸出網絡接口的配置信息,包括 IP 地址、子網掩碼、MAC 地址等。如果要查看某個特定的網卡的配置信息,可以使用以下命令:

ifconfig enp2s0

其中,enp2s0 為要查看的網卡的名稱。該命令將輸出 enp2s0 網卡的配置信息。

切換網卡工作模式#

在 Linux 系統中,可以使用 ethtool 命令來配置網卡的工作模式。ethtool 是一個用於配置網絡接口設備的工具,它可以查看和修改網絡接口設備的驅動程序和硬件設置。

步驟一:安裝 ethtool#

如果系統中沒有安裝 ethtool 工具,可以通過以下命令來安裝:

#centos
sudo yum install ethtool

#debian,ubuntu
sudo apt install ethtool

步驟二:查看網卡工作模式#

要查看當前網卡的工作模式,可以使用以下命令:

ethtool <網卡設備>
#e.g. ethtool eth0

其中,eth0 為要查看的網卡的名稱。該命令將輸出網卡的配置信息,包括當前的工作模式。

步驟三:修改網卡工作模式#

要修改網卡的工作模式,可以使用以下命令:

ethtool -s eth0 speed 1000 duplex full

其中,eth0 為要修改的網卡的名稱,speed 為網卡的速度,duplex 為網卡的工作模式。這裡將網卡的速度設置為 1000Mbps,工作模式設置為全雙工模式。完成後,可以使用 ethtool 命令再次查看網卡的配置信息,確認設置已經生效。

補充:ethtool 的詳細用法#

查看網卡信息#

要查看網絡接口設備的信息,可以使用以下命令:

ethtool eth0

其中,eth0 為要查看的網絡接口設備的名稱。該命令將輸出該網絡接口設備的詳細信息,包括驅動程序的信息、速度、工作模式等。

修改網卡速度#

要修改網絡接口設備的速度,可以使用以下命令:

ethtool -s eth0 speed 1000

其中,eth0 為要修改的網絡接口設備的名稱,speed 為要設置的速度值。這裡將網卡的速度設置為 1000Mbps。

修改網卡工作模式#

要修改網絡接口設備的工作模式,可以使用以下命令:

ethtool -s eth0 duplex full

其中,eth0 為要修改的網絡接口設備的名稱,duplex 為要設置的工作模式。這裡將網卡的工作模式設置為全雙工模式。

打開或關閉自協商#

自協商(Auto-Negotiation)是一種自動協商設備速度和雙工模式的技術。要打開或關閉自協商,可以使用以下命令:

ethtool -s eth0 autoneg on/off

其中,eth0 為要修改的網絡接口設備的名稱,autoneg 為要設置的自協商狀態。這裡將自協商設置為打開狀態。

查看網卡統計信息#

要查看網絡接口設備的統計信息,可以使用以下命令:

ethtool -S eth0

其中,eth0 為要查看的網絡接口設備的名稱。該命令將輸出該網絡接口設備的統計信息,包括接收和發送的數據包數量、錯誤數量等。

總結#

本文介紹了如何在 Linux 中查看網卡的配置信息,並且詳細介紹了如何切換網卡的工作模式。通過使用 ethtool 命令,可以輕鬆地實現對網卡工作模式的切換。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。