Note-51756-18

Token ID: 1

ERC-721 1 Transfers

Metadata

{
  "title": "[Linux指南]查看网卡配置及切换网卡工作模式",
  "tags": [
    "post",
    "Linux",
    "Linux指南",
    "VPS",
    "服务器"
  ],
  "summary": "导言 前几天在对zimaboard内网测速时发现网速一直卡在100Mbps,在多次debug后发现是由于网卡不知道为什么默认配置为100M双工,于是记录以下我是如何在Linux下对网卡进行配置的。在Linux操作系统中,网卡是连接计算机和网络的关键组件之一。在进行网络通信时…",
  "sources": [
    "xlog"
  ],
  "external_urls": [
    "https://royc30ne.xlog.app/linux-network-config"
  ],
  "date_published": "2023-04-05T02:11:55.576Z",
  "content": "![https://images.unsplash.com/photo-1520869562399-e772f042f422?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1520869562399-e772f042f422?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb)\n\n## 导言\n\n前几天在对zimaboard内网测速时发现网速一直卡在100Mbps,在多次debug后发现是由于网卡不知道为什么默认配置为100M双工,于是记录以下我是如何在Linux下对网卡进行配置的。在Linux操作系统中,网卡是连接计算机和网络的关键组件之一。在进行网络通信时,网卡的速度和工作模式将直接影响网络连接的速度和稳定性。本文将介绍如何在Linux中查看网卡配置信息,以及如何切换网卡的工作模式。\n\n## 一些基础知识\n\n### **网卡的工作原理**\n\n网卡是计算机和网络之间的接口设备。它负责将计算机的数据转换成网络数据,以及将网络数据转换成计算机可以处理的数据。网卡的工作原理是通过网络电缆与交换机相连接,将数据包从一个网络节点传输到另一个网络节点。\n\n### **网卡的速度**\n\n网卡的速度是指网卡每秒钟可以传输的数据量,通常用Mbps(兆位每秒)来表示。在网络通信中,网卡的速度越快,数据传输的速度就越快。千兆以太网(Gigabit Ethernet)是当前常用的高速网络接口,它的速度是1000Mbps。\n\n### **全双工和半双工**\n\n全双工(Full Duplex)是指通信双方可以同时发送和接收数据。半双工(Half Duplex)是指通信双方不能同时发送和接收数据,只能先发送或先接收。全双工通信比半双工通信更加高效和稳定。\n\n## **查看网卡配置信息**\n\n要查看Linux系统中的网卡配置信息,可以使用ifconfig命令。该命令可以列出系统中所有的网络接口设备以及它们的配置信息。在终端输入以下命令:\n\n```\nifconfig\n```\n\n```python\n输出示例:\ndocker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500\n        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255\n        inet6 fe80::42:5eff:fefd:9c84  prefixlen 64  scopeid 0x20<link>\n        ether 02:42:5e:fd:9c:84  txqueuelen 0  (Ethernet)\n        RX packets 8622396  bytes 7223439485 (6.7 GiB)\n        RX errors 0  dropped 0  overruns 0  frame 0\n        TX packets 9796600  bytes 7777150109 (7.2 GiB)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n\nenp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500\n        inet 192.168.100.107  netmask 255.255.255.0  broadcast 192.168.100.255\n        inet6 fd0f:dcc:1d5f:6bf9:c6e5:baa:c32f:193c  prefixlen 64  scopeid 0x0<global>\n        inet6 fd0f:dcc:1d5f:6bf9:2e0:4cff:fe68:1647  prefixlen 64  scopeid 0x0<global>\n        inet6 fe80::2e0:4cff:fe68:1647  prefixlen 64  scopeid 0x20<link>\n        inet6 fd0f:dcc:1d5f:6bf9:407d:bba4:14ce:a32c  prefixlen 64  scopeid 0x0<global>\n        inet6 fd0f:dcc:1d5f:6bf9:628d:ad91:55b:1df2  prefixlen 64  scopeid 0x0<global>\n        inet6 fd0f:dcc:1d5f:6bf9:ea80:92b6:b9dd:8710  prefixlen 64  scopeid 0x0<global>\n        inet6 fd0f:dcc:1d5f:6bf9:a8ba:d85c:a55e:cc0d  prefixlen 64  scopeid 0x0<global>\n        inet6 fd0f:dcc:1d5f:6bf9:e584:259d:760f:faa3  prefixlen 64  scopeid 0x0<global>\n        inet6 fd0f:dcc:1d5f:6bf9:e8ec:cda2:3ad7:df4a  prefixlen 64  scopeid 0x0<global>\n        ether 00:e0:4c:68:16:47  txqueuelen 1000  (Ethernet)\n        RX packets 113354368  bytes 148231729254 (138.0 GiB)\n        RX errors 0  dropped 256  overruns 0  frame 0\n        TX packets 60782210  bytes 35517421804 (33.0 GiB)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n\nenp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500\n        ether 00:e0:4c:68:16:48  txqueuelen 1000  (Ethernet)\n        RX packets 0  bytes 0 (0.0 B)\n        RX errors 0  dropped 0  overruns 0  frame 0\n        TX packets 0  bytes 0 (0.0 B)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n\nlo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536\n        inet 127.0.0.1  netmask 255.0.0.0\n        inet6 ::1  prefixlen 128  scopeid 0x10<host>\n        loop  txqueuelen 1000  (Local Loopback)\n        RX packets 11573003  bytes 13645776101 (12.7 GiB)\n```\n\n该命令将输出网络接口的配置信息,包括IP地址、子网掩码、MAC地址等。如果要查看某个特定的网卡的配置信息,可以使用以下命令:\n\n```\nifconfig enp2s0\n```\n\n其中,enp2s0为要查看的网卡的名称。该命令将输出enp2s0网卡的配置信息。\n\n## **切换网卡工作模式**\n\n在Linux系统中,可以使用ethtool命令来配置网卡的工作模式。ethtool是一个用于配置网络接口设备的工具,它可以查看和修改网络接口设备的驱动程序和硬件设置。\n\n### 步骤一:安装ethtool\n\n如果系统中没有安装ethtool工具,可以通过以下命令来安装:\n\n```\n#centos\nsudo yum install ethtool\n\n#debian,ubuntu\nsudo apt install ethtool\n```\n\n### 步骤二:查看网卡工作模式\n\n要查看当前网卡的工作模式,可以使用以下命令:\n\n```\nethtool <网卡设备>\n#e.g. ethtool eth0\n```\n\n其中,eth0为要查看的网卡的名称。该命令将输出网卡的配置信息,包括当前的工作模式。\n\n### 步骤三:修改网卡工作模式\n\n要修改网卡的工作模式,可以使用以下命令:\n\n```\nethtool -s eth0 speed 1000 duplex full\n```\n\n其中,eth0为要修改的网卡的名称,speed为网卡的速度,duplex为网卡的工作模式。这里将网卡的速度设置为1000Mbps,工作模式设置为全双工模式。完成后,可以使用ethtool命令再次查看网卡的配置信息,确认设置已经生效。\n\n## 补充:ethtool的详细用法\n\n### **查看网卡信息**\n\n要查看网络接口设备的信息,可以使用以下命令:\n\n```\nethtool eth0\n```\n\n其中,eth0为要查看的网络接口设备的名称。该命令将输出该网络接口设备的详细信息,包括驱动程序的信息、速度、工作模式等。\n\n### **修改网卡速度**\n\n要修改网络接口设备的速度,可以使用以下命令:\n\n```\nethtool -s eth0 speed 1000\n```\n\n其中,eth0为要修改的网络接口设备的名称,speed为要设置的速度值。这里将网卡的速度设置为1000Mbps。\n\n### **修改网卡工作模式**\n\n要修改网络接口设备的工作模式,可以使用以下命令:\n\n```\nethtool -s eth0 duplex full\n```\n\n其中,eth0为要修改的网络接口设备的名称,duplex为要设置的工作模式。这里将网卡的工作模式设置为全双工模式。\n\n### **打开或关闭自协商**\n\n自协商(Auto-Negotiation)是一种自动协商设备速度和双工模式的技术。要打开或关闭自协商,可以使用以下命令:\n\n```\nethtool -s eth0 autoneg on/off\n```\n\n其中,eth0为要修改的网络接口设备的名称,autoneg为要设置的自协商状态。这里将自协商设置为打开状态。\n\n### **查看网卡统计信息**\n\n要查看网络接口设备的统计信息,可以使用以下命令:\n\n```\nethtool -S eth0\n```\n\n其中,eth0为要查看的网络接口设备的名称。该命令将输出该网络接口设备的统计信息,包括接收和发送的数据包数量、错误数量等。\n\n## **总结**\n\n本文介绍了如何在Linux中查看网卡的配置信息,并且详细介绍了如何切换网卡的工作模式。通过使用ethtool命令,可以轻松地实现对网卡工作模式的切换。",
  "attributes": [
    {
      "value": "linux-network-config",
      "trait_type": "xlog_slug"
    }
  ]
}