![如何使用 nmcli 将 IP 地址添加到接口?](https://linux22.com/image/75120/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20nmcli%20%E5%B0%86%20IP%20%E5%9C%B0%E5%9D%80%E6%B7%BB%E5%8A%A0%E5%88%B0%E6%8E%A5%E5%8F%A3%EF%BC%9F.png)
在 CentOS 7 虚拟机上,我有一个名为 的界面ens7
,如下所示:
[root@localhost ~]# nmcli con show
NAME UUID TYPE DEVICE
Wired connection 1 448101d7-1f8f-4b78-ad90-7efd5be23b08 802-3-ethernet ens7
eth0 d976f7ca-ab7f-4fd0-ab2b-6213815bd1a1 802-3-ethernet eth0
如何让 nmcli10.1.1.1
为ens7
接口分配 IP 地址?
我尝试nmcli con modify 'Wired connection 1' ipv4.addresses "10.1.1.2"
从虚拟机内输入,但没有成功,如 `` 的结果所示,如下所示:
[root@localhost ~]# nmcli con modify 'Wired connection 1' ipv4.addresses "10.1.1.2"
[root@localhost ~]# nmcli device show
GENERAL.DEVICE: eth0
...lots of stuff related to eth0
GENERAL.DEVICE: ens7
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 52:54:00:8F:3B:14
GENERAL.MTU: 1500
GENERAL.STATE: 70 (connecting (getting IP configuration))
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/64
WIRED-PROPERTIES.CARRIER: on
GENERAL.DEVICE: lo
...lots of stuff related to lo
[root@localhost ~]#
我应该使用什么语法来让 IP 地址显示在nmcli device show
结果中? 这样我就能从授权的外部人员处 ping 通新的 IP 地址吗?
答案1
您的 conn 修改看起来大部分是正确的,但需要在地址上放置一个网络掩码,否则它将获得默认值(可能是 /8,这可能是也可能不是您想要的)。例如,如果您需要 C 类网络(254 个主机,在您的情况下为 10.1.1.1 到 254),您可以:
nmcli con modify 'Wired connection 1' ipv4.addresses "10.1.1.2/24"
您还需要将配置应用到运行界面。我通常:
nmcli conn down "Wired Connection 1"
nmcli conn up !$
您也许可以只使用 conn up 而无需先关闭接口。
其他注意事项:您可以运行“nmcli conn show“有线连接1”来获取该设备的所有设置。最后,它还会显示所有大写的当前设置。
connection.id: virbr0
connection.stable-id: --
connection.type: bridge
connection.interface-name: virbr0
[截图]
IP4.ADDRESS[1]: 192.168.122.1/24
IP4.GATEWAY: --
IP4.ROUTE[1]: dst = 192.168.122.0/24, nh = 0.0.0.0, mt = 0
IP6.GATEWAY: --
答案2
nmcli con modify "Wired connection 1" ifname ens7 type ethernet ip4 10.1.1.2/24