[排错] 解决虚拟机使用命令 nmcli connection up enp1s0 时报错 Error: Connection activation failed: No suitable device found for this connection (device eth0 not available because profile is not compatible with device (mismatching interface name)). (给网卡配置的静态 IP 地址无法生效)

报错代码:

# nmcli connection up enp1s0 
Error: Connection activation failed: No suitable device found for this connection (device eth0 not available because profile is not compatible with device (mismatching interface name)).

解决方法:

步骤一:在虚拟机管理器上刷新虚拟机网卡的 MAC 地址或者删除原网卡添加一个新网卡

(步骤略)

步骤二:删除 NetworkManager 上所有的网卡配置

2.1 显示目前 NetworkManager 所有的网卡配置

# nmcli connection show

2.2 删除 NetworkManager 上所有的网卡配置

# nmcli connection delete enp1s0
# nmcli connection delete Wired\ connection\ 1 

(补充:这里以删除网卡配置 enp1s0 和 Wired\ connection\ 1 为例)

2.3 确保目前 NetworkManager 没有网卡配置

# nmcli connection show

(注意:确保这条命令输入后没有输出结果)

步骤三:添加新的 NetworkManager 网卡配置

3.1 显示目前的网卡硬件

# nmcli device show

(注意:这里需要记住网卡硬件的名称,因为下个步骤需要使用)

3.2 添加新的 NetworkManager 网卡配置

# nmcli connection add con-name eth0 ifname eth0 type ethernet

(补充:这里以给 eth0 网卡添加个名为 eth0 的 NetworkManager 网卡配置为例)

(注意:这里的 ifname 后面的名称,必须和上个步骤输出命令后显示的网卡硬件名称一致)

3.3 让刚刚添加的 NetworkManager 网卡配置生效

# nmcli device connect eth0

(补充:这里以启动 eth0 网卡为例)

(注意:这里的 eth0 是在上个步骤中使用 con-name 参数配置的网卡配置名)

步骤四:给 NetworkManager 网卡配置设置 IP 地址

4.1 给 NetworkManager 网卡配置设置 IP 地址

# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.100.8/24 ipv4.gateway 192.168.100.1 autoconnect yes ipv4.dns 1.1.1.1

(补充:这里以给 eth0 网卡添加静态 IP 地址 192.168.100.8/24,网关 IP 地址 192.168.100.1,DNS 1.1.1.1 并开机自启为例)

(注意:这里的 eth0 是在前面的步骤中使用 con-name 参数配置的网卡配置名)

4.2 让刚刚配置的 IP 地址生效

# nmcli connection up eth0 

(补充:这里以让 eth0 网卡上配置的 IP 地址生效为例)

(注意:这里的 eth0 是在前面的步骤中使用 con-name 参数配置的网卡配置名)

[命令] Linux 命令 nestat (显示本地端口,以及其 PID 信息等)

案例一

$ netstat -ntulap
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:7001            0.0.0.0:*               LISTEN      1250/nxnode.bin     
tcp        0      0 127.0.0.1:25001         0.0.0.0:*               LISTEN      1345/nxrunner.bin   
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:3001          0.0.0.0:*               LISTEN      1316/pipewire
......


补充:
1) -n 不解析名称
2) -t 显示 tcp 端口
3) -u 显示 udp 端口
4) -l 显示服务器接口
5) -a 显示所有接口
6) -p 显示 PID 或者程序名称的接口

案例二

mingyuzhu@mingyuzhu:~$ netstat -W -neopa
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name     Timer
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      991        6431       -                    off (0.00/0/0)
tcp        0      0 0.0.0.0:7001            0.0.0.0:*               LISTEN      1001       11218      1250/nxnode.bin      off (0.00/0/0)
tcp        0      0 127.0.0.1:25001         0.0.0.0:*               LISTEN      1001       11498      1345/nxrunner.bin    off (0.00/0/0)
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      0          6018433    -                    off (0.00/0/0)
tcp        0      0 127.0.0.1:3001          0.0.0.0:*               LISTEN      1001       12293      1316/pipewire        off (0.00/0/0)
tcp        0      0 0.0.0.0:4000            0.0.0.0:*               LISTEN      121        11121      -                    off (0.00/0/0)
tcp        0      0 127.0.0.1:26001         0.0.0.0:*               LISTEN      1001       11426      1250/nxnode.bin      off (0.00/0/0)
tcp        0      0 127.0.0.1:26002         0.0.0.0:*               LISTEN      1001       6513629    1065010/nxnode.bin   off (0.00/0/0)
......


补充:
1) -W 不缩写 IP 地址
2) -n 不解析名称
3) -e 显示更多的信息
4) -o 显示计时器
5) -p 显示 PID 或者程序名称的接口
6) -a 显示所有接