0%

Ubuntu系统禁用网卡方法

1 问题说明

最近在使用Orin NX时遇到了ssh连接失败的问题,查看ip地址是没问题的(192.168.1.*),但就是ping不通。经过检查发现是因为该机子配有多张网卡(有线网卡、无线网卡),有线网卡的ip设置为了同一号段、不同ip地址,可能是该原因导致ping不通的。所以我想要找到一种方法来禁用网卡,使得每次开机后不需要连接显示器、键盘等外设,直接ssh连接控制即可。之前也在其他机子上禁用过网卡,但是没有记录下来,所以这次顺手记录一下。

2 解决方法

网上查找Ubuntu禁用网卡方法,大概有以下几种:

  1. ifconfig
  2. ip
  3. netplan
  4. 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 

# Disable network card eno1.
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:重启网络服务