使用nmcli命令配置網路 NetworkManager是管理和監控網路設置的守護進程,設備既就是網路介面,連接是對網路介面的配置,一個網路介面可以有多個連接配置,但同時只有一個連接配置生效。 1 配置主機名 CentOS6 之前主機配置文件:/etc/sysconfig/network CentO ...
使用nmcli命令配置網路
NetworkManager是管理和監控網路設置的守護進程,設備既就是網路介面,連接是對網路介面的配置,一個網路介面可以有多個連接配置,但同時只有一個連接配置生效。
1 配置主機名
CentOS6 之前主機配置文件:/etc/sysconfig/network
CentOS7主機名配置文件:/etc/hostname,預設沒有這個文件,通過DNS反向解析獲取主機名,主機名預設為:localhost.localdomain
顯示主機名信息
hostname
hostnamectl status
創建並修改文件並生效
hostnamectl set-hostname deskX.example.com
[root@centos73 ~]# hostnamectl set-hostname centos7.3.com [root@centos73 ~]# hostname centos7.3.com [root@centos73 ~]# cat /etc/hostname centos7.3.com
可以看到已經修改成功。
刪除文件。回覆預設主機名localhost.localdomain
2 常用命令
nmcli connection show 顯示所有連接
nmcli connection show --active 顯示所有活動的連接狀態
nmcli connection show "ens33" 顯示網路連接配置
nmcli device status 顯示設備狀態
nmcli device show ens33 顯示網路介面屬性
nmcli connection add help 查看幫助
nmcli connection reload 重新載入配置
nmcli connection down test2 禁用test2的配置,註意一個網卡可以有多個配置。
nmcli connection up test2 啟用test2的配置
nmcli device disconnect ens33 禁用ens33網卡,物理網卡
nmcli device disconnect ens33 啟用ens33網卡
圖形工具
nm-connection-editor
字元工具
nmtui
nmtui-connect
nmtui-edit
nmtui-hostname
3 創建新連接配置
(1)創建新連接配置default,IP通過DHCP自動獲取
[root@centos73 ~]# nmcli connection add con-name default type Ethernet ifname eth0 Connection 'default' (d62f98af-86ed-4735-80aa-2d80351765b2) successfully added.
刪除連接
[root@centos73 ~]# nmcli connection delete default Connection 'default' (d62f98af-86ed-4735-80aa-2d80351765b2) successfully deleted.
(2)創建新的連接配置test2,指定靜態IP,不自動連接
[root@centos73 ~]# nmcli connection add con-name test2 ipv4.method manual ifname ens33 autoconnect no type Ethernet ipv4.addresses 172.25.100.100/24 gw4 172.25.100.1 Connection 'test2' (98385bf5-8cc3-47e3-a5f2-51e2d736be6d) successfully added.
參數說明:
con-name 指定連接名字,沒有特殊要求,
ipv4.methmod 指定獲取IP地址的方式
ifname 指定網卡設被名,既就是次配置所生效的網卡
autoconnect 指定是否自動啟動
ipv4.addresses 指定IPv4地址
gw4指定網關
4查看/etc/sysconfig/network-scripts/目錄
會看到多出一個文件ifcfg-test2。說明添加確實生效了。
/etc/sysconfig/network-scripts/ifcfg-test2
[root@centos73 ~]# ls /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-test2
5 啟用test2連接配置
[root@centos73 ~]# nmcli connection up test2 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7) [root@centos73 ~]# systemctl restart network
看下是否生效
[root@centos73 ~]# nmcli device show ens33 GENERAL.DEVICE: ens33 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:3A:00:82 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: test2 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/7 WIRED-PROPERTIES.CARRIER: on IP4.ADDRESS[1]: 172.25.100.100/24 IP4.GATEWAY: 172.25.100.1 IP6.ADDRESS[1]: fe80::5a5b:2cc3:a448:e2e1/64 IP6.GATEWAY:
好了,基本的IP地址配置成功
6 修改連接設置
(1)修改test2為自動啟動
[root@centos73 ~]# nmcli connection modify test2 connection.autoconnect yes
(2)修改DNS為172.25.1.1
[root@centos73 ~]# nmcli connection modify test2 ipv4.dns 172.25.1.1
(3)添加DNS 114.114.114.114
[root@centos73 ~]# nmcli connection modify test2 +ipv4.dns 114.114.114.114
看下是否成功
[root@centos73 ~]# cat /etc/sysconfig/network-scripts/ifcfg-test2 TYPE=Ethernet [……] NAME=test2 UUID=98385bf5-8cc3-47e3-a5f2-51e2d736be6d DEVICE=ens33 ONBOOT=yes DNS1=172.25.1.1 IPADDR=172.25.100.100 PREFIX=24 GATEWAY=172.25.100.1 DNS2=114.114.114.114
可以看到均已生效
(4)刪除DNS
[root@centos73 ~]# nmcli connection modify test2 -ipv4.dns 114.114.114.114
(5)修改IP地址
[root@centos73 ~]# nmcli connection modify test2 ipv4.addresses 200.100.100.100/24 gw4 200.100.100.1
(6)還可以添加多個IP
[root@centos73 ~]# nmcli connection modify test2 +ipv4.addresses 10.10.10.10/8
7 nmcli 命令和/etc/sysconfig/network-scripts/ifcfg-*文件的對應關係
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses "192.0.2.1/24 IPADDR=192.0.2.1
PREFIX=24
gw4 192.0.2.254" GATEWAY=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .