最新消息:一个专业的撸码分享平台,代码哥在这里教你撸代码,赶快收藏吧!

使用nmcli命令配置网络

Linux开发 daimage 14浏览 0评论

使用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] ~]# hostnamecentos7.3.com[[email protected] ~]# cat /etc/hostnamecentos7.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 eth0Connection 'default' (d62f98af-86ed-4735-80aa-2d80351765b2) successfully added.

删除连接

[[email protected] ~]# nmcli connection delete defaultConnection '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.1Connection '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 test2Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)[[email protected] ~]# systemctl restart network

看下是否生效

[[email protected] ~]# nmcli device show ens33GENERAL.DEVICE: ens33GENERAL.TYPE: ethernetGENERAL.HWADDR: 00:0C:29:3A:00:82GENERAL.MTU: 1500GENERAL.STATE: 100 (connected)GENERAL.CONNECTION: test2GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/7WIRED-PROPERTIES.CARRIER:>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-test2TYPE=Ethernet[……]NAME=test2UUID=98385bf5-8cc3-47e3-a5f2-51e2d736be6dDEVICE=ens33ONBOOT=yesDNS1=172.25.1.1IPADDR=172.25.100.100PREFIX=24GATEWAY=172.25.100.1DNS2=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命令配置网络

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
血压计