本地整了一台CentOS当做开发时使用的服务器,但是接入网线后依然显示线缆被拔出
排查情况
- 网线故障: 看下是否有判断线路正常的工具或者其他正常设备测试线缆是否损坏
- 交换机/路由器端口故障: 连接其他端口看看是否可以,或者检查端口是否被禁用
- 网卡故障:检查网卡是否损坏或者是否需要更新驱动
- 网络配置问题:IP或者其他网络配置不正确,则可能导致无法连接网络
- 网口速率不同:如果计算机网口配置为千兆以太网(1000 Mbps),而交换机端口只支持百兆以太网(100 Mbps),则交换机与计算机之间的连接速率将被限制为100 Mbps,这可能会导致通信问题。此时,计算机可能会检测不到网线连接,或者在进行网络通信时会遇到缓慢或不稳定的速度。
解决方案
我的问题是发生在网口速率不一致的情况下,但这里列举下关于网络配置的一些东西还有自己发生问题的解决方案
以下的一些操作以自己的CentOS为例
确认网卡名称: 命令ifconfig或者ip addr来查看网络接口的名称,例如eth0,eno1或者enp0s3(关于网卡名称含义可见文章末尾)
网络配置
/etc/sysconfig/network-scripts/ifcfg-<interface>是CentOS系统中网络接口的配置文件,interface根据前面确定的网卡名称调整
示例如下:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
PERSISTENT_DHCLIENT=yes
各个参数的含义如下:
DEVICE: 指定设备名称。BOOTPROTO: 指定网络协议类型,通常为dhcp(自动获取IP地址)、static(静态IP地址)或none(不启用网络接口)。ONBOOT: 指定是否在系统启动时自动启用网络接口。TYPE: 指定网络接口类型,通常为Ethernet(以太网)或Wireless(无线网卡)。USERCTL: 指定普通用户是否有权控制网络接口。PEERDNS: 指定是否使用DNS服务器解析域名。IPV6INIT: 指定是否启用IPv6协议。PERSISTENT_DHCLIENT: 指定是否持久化DHCP客户端,以防止IP地址的丢失。
检查网络配置是否正常,先配置为DHCP,ONBOOT设置为yes
网口速率限制
发现网口速率不一致导致显示线缆被拔出是因为我将网线由交换机插入了另一个路由器,发现网口的灯光就亮起来了,并且可以获取到ip于是我将交换机和路由器连接另一台设备,所亮起来的灯光不一致
解决方案
- 可以尝试使用不同的网卡或更改硬件配置。
- 配置调整
交换机是百兆的,但是计算机的是千兆口,先尝试了使用配置调整网口速率,步骤如下
如果还没有安装ethtool,先进行安装
sudo yum install ethtool
- 设置为100Mbps全双工模式并关闭自动协商
sudo ethtool -s eth0 speed 100 duplex full autoneg off
- 设置为100Mbps半双工模式并关闭自动协商
sudo ethtool -s eth0 speed 100 duplex half autoneg off
- 打开自动协商,让网卡自动选择速度和双工模式
sudo ethtool -s eth0 autoneg on
上述eth0根据确定网口名称替换
如果无法手动设置可能是网卡就不支持手动设置
我设置的时候就显示异常:Invalid Argument
最后还是接入了千兆交换机
附
网卡名称
- eno1:代表由主板bios内置的网卡
- ens1:代表有主板bios内置的PCI-E网卡
- enp2s0: PCI-E独立网卡
- eth0:如果以上都不使用,则回到默认的网卡名
静态ip配置
在/etc/sysconfig/network-scripts/ifcfg-<interface>中添加
IPADDR=<ip>
NETMASK=<子网掩码>
GATEWAY=<网关>
DNS1=<DNS>
重启网卡
sudo ifdown eth0 && sudo ifup eth0
查询网口速率
sudo ethtool eth0 | grep Speed