网络配置之nmcli

Posted Today is a nice day

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络配置之nmcli相关的知识,希望对你有一定的参考价值。

使用nmcli命令配置网络

NetworkManager是管理和监控网络设置的守护进程,设备既就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效。

1 配置主机名

CentOS6 之前主机配置文件:/etc/sysconfig/network

CentOS7主机名配置文件:/etc/hostname,默认没有这个文件,通过DNS反向解析获取主机名,主机名默认为:localhost.localdomain

显示主机名信息

    hostname

    hostnamectl status

创建并修改文件并生效

hostnamectl set-hostname deskX.example.com

[[email protected] ~]# hostnamectl set-hostname centos7.3.com
[[email protected] ~]# hostname
centos7.3.com
[[email protected] ~]# 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自动获取

[[email protected] ~]# nmcli connection add con-name default type Ethernet ifname eth0
Connection ‘default‘ (d62f98af-86ed-4735-80aa-2d80351765b2) successfully added.

删除连接

[[email protected] ~]# nmcli connection delete default
Connection ‘default‘ (d62f98af-86ed-4735-80aa-2d80351765b2) successfully deleted.

(2)创建新的连接配置test2,指定静态IP,不自动连接

[[email protected] ~]# 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

[[email protected] ~]# 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连接配置

[[email protected] ~]# nmcli connection up test2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[[email protected] ~]# systemctl restart network

看下是否生效

[[email protected] ~]# 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为自动启动

[[email protected] ~]# nmcli connection modify test2 connection.autoconnect yes

(2)修改DNS为172.25.1.1

[[email protected] ~]# nmcli connection modify test2 ipv4.dns 172.25.1.1

(3)添加DNS 114.114.114.114

[[email protected] ~]# nmcli connection modify test2 +ipv4.dns 114.114.114.114

看下是否成功

[[email protected] ~]# 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

[[email protected] ~]# nmcli connection modify test2 -ipv4.dns 114.114.114.114

(5)修改IP地址

[[email protected] ~]# nmcli connection modify test2 ipv4.addresses 200.100.100.100/24 gw4 200.100.100.1

(6)还可以添加多个IP

[[email protected] ~]# 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= . . .

 

以上是关于网络配置之nmcli的主要内容,如果未能解决你的问题,请参考以下文章

RedHat7之nmcli

Linux中使用nmcli配置网络

LINUX网络配置---nmtui&nmcli

nmcli 配置网络

Linux配置网络参数之IP地址、子网掩码、网关地址,DNS

网络配置工具nmcli