如何使用 nmcli 将设备连接到连接?

如何使用 nmcli 将设备连接到连接?

CentOS 7 的安装有两个连接和三个设备。 如何将设备连接ens7到连接my-bridge?我怎样才能将设备连接eth0到连接上my-eth1

以下是来自终端的相关数据:

[root@localhost ~]# nmcli con show
NAME       UUID          TYPE            DEVICE 
my-bridge  some.uuid     802-3-ethernet  --     
my-eth1    another.uuid  802-3-ethernet  --     

[root@localhost ~]# nmcli device status
DEVICE  TYPE      STATE         CONNECTION 
ens7    ethernet  disconnected  --         
eth0    ethernet  disconnected  --         
lo      loopback  unmanaged     --         
[root@localhost ~]# ping 8.8.8.8
connect: Network is unreachable

我认为它是类似的东西nmcli connection modify id my-bridge ens7,但我不确定确切的语法。

my-bridge此外,问题可能与连接(例如)是以这种方式创建的 事实有关:

# nmcli con add con-name my-bridge ifname eth1 type ethernet ip4 10.1.1.2/24
# nmcli connection modify my-bridge ipv4.method manual ipv4.addresses 10.1.1.1/24

答案将显示在终端中键入以将设备连接到连接的确切语法,或者显示用于创建从一开始就自动连接到设备的新连接的语法。

答案1

简短的回答是:

# nmcli con modify my-bridge connection.interface-name ens7
# nmcli con up my-bridge

然而,事情从来没有那么简单——请继续阅读……

连接到设备需要三件事:

  1. 有效的网络设备
  2. connection.autoconnect要设置的属性为yes
  3. connection.interface-name属性设置为接口的名称

确保您有一个可用的 NIC(虚拟机中的虚拟网卡)。这超出了这个答案的范围,因为有很多选择。

检查财产的状态connection.autoconnect

# nmcli con show my-bridge | grep connection.autoconnect:
connection.autoconnect:                  no

如果需要,可以将其更改为:

# nmcli con modify my-bridge connection.autoconnect yes

检查状态connection.interface-name

# nmcli con show my-bridge | grep connection.interface-name
connection.interface-name           --

如果需要,请设置:

# nmcli con modify my-bridge connection.interface-name ens7

答案2

最简单的是

nmcli device wifi connect <name ssid> password <the password>

查看这个 bash 脚本以密码作为变量的解决方案。

该脚本为您提供选择和隐藏密码的选择。

答案3

如果您的设备有两个 wifi 适配器,并且您想使用第二个,那么您应该执行以下命令。我将其与我的 AWS DeepLens 一起使用,因为内部 WiFi 天线非常基本,但我的 USB WiFi 适配器非常非常好:

# Find the device name (such as wlan0) of your good adapter
ip a
ifconfig

# Ensure that NetworkManager sees the device
nmcli d

# Ensure that the device is detected as a Wifi adapter:
# NOTE: Replace "wlan0" with the name of your device
nmcli d show wlan0

# Ensure that the device can look around and do a scan of nearby networks:
nmcli d wifi list ifname wlan0

# Connect to the Wifi with the given password
# NOTE: Replace "MyHomeNetwork" with your Wifi network SSID
#       and replace "Sup3r-secret-password" with your password,
#       If your password contains any special characters, such as the $ below
#         I highly recommend surrounding it in single quotes, this is a shell thing,
#         not a nmcli thing.
nmcli d wifi connect MyHomeNetwork password 'Sup3r-$ecret-password' ifname wlan0

# Make sure it worked!
nmcli d
ip a
ifconfig

# PROFIT!

答案4

此外,为了完成此操作,如果您想要临时将网络连接配置文件附加到特定设备(例如,您想要使用带有 USB WiFi 适配器的无线连接),您可以nmcli使用非默认界面如下:

nmcli con up MyNetwork ifname other-device

(对于通过某些网络管理器前端配置的连接,这可能无法开箱即用,因为它们可能设置了“限制与此 MAC 地址的连接”,但很容易修复)。

相关内容