1 问题说明
最近在使用Orin NX时遇到了ssh连接失败的问题,查看ip地址是没问题的(192.168.1.*),但就是ping不通。经过检查发现是因为该机子配有多张网卡(有线网卡、无线网卡),有线网卡的ip设置为了同一号段、不同ip地址,可能是该原因导致ping不通的。所以我想要找到一种方法来禁用网卡,使得每次开机后不需要连接显示器、键盘等外设,直接ssh连接控制即可。之前也在其他机子上禁用过网卡,但是没有记录下来,所以这次顺手记录一下。
2 解决方法
网上查找Ubuntu禁用网卡方法,大概有以下几种:
- ifconfig
- ip
- netplan
- blacklist.conf
其中,ifconfig和ip都属于临时设定网卡,重启之后就会失效,所以不适用于本方法。netplan方法测试后在本机上无效果,所以这里记录一下使用blacklist.conf的方法,该方法参考了该文章。
blacklist.conf 是一个在 Linux 系统中用于阻止加载指定内核模块的配置文件,可禁止模块在系统启动时自动加载。
因此,可以将网卡的驱动写入该文件,实现对该网卡的禁用。
首先,使用lshw -C network
命令获取网卡信息;需要注意的是,如果有多张网卡,需要根据网卡名称来其对应的具体参数,如下所示,这是eno1
网卡的参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| ❯ lshw -C network WARNING: you should run this program as super-user. *-network description: Ethernet interface product: Ethernet Connection (5) I219-LM vendor: Intel Corporation physical id: 1f.6 bus info: pci@0000:00:1f.6 logical name: eno1 version: 00 serial: 74:86:e2:17:b4:4f size: 1Gbit/s capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=6.5.0-14-generic duplex=full firmware=0.1-4 ip=192.168.1.245 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s resources: irq:69 memory:92f00000-92f1ffff WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
|
根据上述信息得到网卡的驱动driver=e1000e
。然后,将该驱动参数写入blacklist.conf文件中:
1 2 3 4
| sudo vi /etc/modprobe.d/blacklist.conf
blacklist e1000e
|
保存退出后,使用如下命令来确保系统可以正确引导并进行重启操作:
1 2
| sudo update-initramfs -u sudo reboot
|
update-initramfs -u 命令用于更新 Linux 系统的初始化 RAM 磁盘文件系统(initramfs)。在系统引导过程中,initramfs 用于加载必要的驱动程序并初始化硬件,以便在挂载根文件系统之前完成这些工作。该命令生成一个新的 initramfs 映像文件并更新符号链接到最新的映像文件。在更新内核或任何与内核相关的配置文件更改之后,通常会运行此命令,以确保系统可以正确引导。
同样地,若想使网卡禁用失效,那么删除对应语句并重复上述命令+重启即可。
此处附上Linux网卡操作命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| ifconfig:查看、设置网络接口信息 ip addr:查询和设置IP地址,子网掩码和广播地址 ip link:查询和设置网络接口的状态和属性 ip route:查询和设置路由信息 route:显示和管理IP路由表 netstat:显示网络状态信息 ping:测试网络连通性 arp:管理本地地址解析协议 (ARP) 缓存 nslookup:查询DNS服务器以获取IP地址 host:查询DNS服务器以获取IP地址 dig:DNS查询工具 ethtool:查询和设置以太网接口的状态和属性 mii-tool:查询和设置以太网接口的状态和属性 tcpdump:抓包分析网络数据 telnet:建立远程登录终端连接 ssh:建立安全的远程登录终端连接 ifup:启动网络接口 ifdown:关闭网络接口 ifcfg-xxx:网络接口配置文件 systemctl restart network:重启网络服务
|