当前位置:首页>Linux>linux网络服务管理

linux网络服务管理

  • 2026-10-11 08:42:19
linux网络服务管理

1.1.网络管理工具

1.1.1.NetworkManager管理

在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何脚本文件,没有传统的network.service。因此只能通过其它方法进行网络配置,包括NM命令工具集。换言之,在rhel8上必须开启NM,否则无法使用网络。

# 查看NM纳管状态

nmcli n

# 开启NM接管

nmcli n on

# 关闭NM纳管(谨慎执行)

nmcli n off

# 查看网卡IP地址配置

# cat /etc/NetworkManager/system-connections/ens160.nmconnection 

[connection]

id=ens160

uuid=da886baa-1297-3992-a855-b3ccde22b765

type=ethernet

autoconnect-priority=-999

interface-name=ens160

timestamp=1744662773

[ethernet]

[ipv4]

address1=192.168.1.11/24,192.168.1.1

dns=192.168.1.1;

may-fail=false

method=manual

[ipv6]

addr-gen-mode=eui64

method=auto

[proxy]

1.1.2.网络管理命令行工具nmcli

在nmcli中有2个命令最为常用:

(1)、nmcli connecfion

表示连接,可理解为配置文件,相当于ffcfg-ethX.可以简写为nmcli c

(2)、nmcli device

表示设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmclid

在NM里,有2个维度:连接(connecion)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli cup切换连接。

connection有2种状态:

l活跃(带颜色字体):表示当前该connection生效

l非活跃(正常字体):表示当前该connection不生效

device有4种常见状态:

lconnected:已被NM纳管,并且当前有活跃的connection

ldisconnected:已被NM纳管,但是当前没有活跃的connection

lunmanaged:未被NM纳管

lunavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip linkset enp0s3 down)

1.1.3.nmcli connection配置

# nmcli c show

NAMEUUIDTYPEDEVICE 

ens160da886baa-1297-3992-a855-b3ccde22b765ethernetens160 

lo405e4db9-3dfc-4c33-869f-6db8dd45d333loopbacklo

# 下面命令是常见的一些操作:

#启用connection(相当于ifup)

nmcli c up enp0s3

#停止connection(相当于ifdown)

nmcli c down

# nmcli connection配置

#删除connection(类似于ifdown并删除ifcfg)

nmcli c delete ens160

#查看connection列表

nmcli c show

# 查看connection详细信息

nmcli c show ens160

#重载配置文件(不会马上生效)

nmcli c reload

#立即生效connection,有3种方法:

nmcli c up ens160

nmcli d reapply ens160 #专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。

nmcli d connect ens160 #刷新该网卡对应的活跃connection

1.1.4.Nmcli 实战

# nmcli c show

NAMEUUIDTYPEDEVICE 

ens160da886baa-1297-3992-a855-b3ccde22b765ethernetens160 

lo405e4db9-3dfc-4c33-869f-6db8dd45d333loopbacklo

# nmcli c edit ens160

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'ens160'

Type 'help' or '?' for available commands.

Type 'print' to show all the connection properties.

Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, hostname, link, tc, proxy

nmcli> ?//命令帮助

------------------------------------------------------------------------------

---[ Main menu ]---

goto[|]:: go to a setting or property

remove[.] |:: remove setting or reset property value

set[.]:: set property value

describe [.]:: describe property

print[all |[.]]:: print the connection

verify[all | fix]:: verify the connection

save[persistent|temporary]:: save the connection

activate [] [/|]:: activate the connection

back:: go one level up (back)

help/?[]:: print this help

nmcli:: nmcli configuration

quit:: exit nmcli

------------------------------------------------------------------------------

nmcli> goto ipv

Error: invalid setting name; 'ipv' is ambiguous: ipv4, ipv6

nmcli> goto ipv4 

You may edit the following properties: method, dns, dns-search, dns-options, dns-priority, addresses, gateway, routes, route-metric, route-table, routing-rules, replace-local-rule, dhcp-send-release, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-iaid, dhcp-dscp, dhcp-timeout, dhcp-send-hostname, dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, required-timeout, dad-timeout, dhcp-vendor-class-identifier, link-local, dhcp-reject-servers, auto-route-ext-gw

nmcli ipv4> goto addresses 

nmcli ipv4.addresses> ?

------------------------------------------------------------------------------

---[ Property menu ]---

set[]:: set new value

add[]:: add new option to the property

change:: change current value

remove[|

describe:: describe property

print[setting | connection]:: print property (setting/connection) value(s)

back:: go to upper level

help/?[]:: print this help or command description

quit:: exit nmcli

------------------------------------------------------------------------------

nmcli ipv4.addresses> print --打印输出当前配置

addresses: 192.168.1.11/24

nmcli ipv4.addresses> change

Edit 'addresses' value: 192.168.1.12/24--直接修改即可

nmcli ipv4.addresses> print

addresses: 192.168.1.12/24

nmcli ipv4.addresses> change--修改IP地址

Edit 'addresses' value: 192.168.1.11/24

nmcli ipv4.addresses> print--打印输出当前配置

addresses: 192.168.1.11/24

nmcli ipv4.addresses> back--返回上一级

nmcli ipv4> back

nmcli> save--保存配置

Connection 'ens160' (da886baa-1297-3992-a855-b3ccde22b765) successfully updated.

nmcli> activate--激活配置

# 另一种快捷方式

nmcli c edit ens160

nmcli> goto ipv4.addresses 

nmcli ipv4.addresses> print

addresses: 192.168.1.11/24

nmcli ipv4.addresses>change

addresses: 192.168.1.12/24

nmcli>save

nmcli> activate

# 手工修改配置文件

nmcli c reload--重新加载网卡地址

nmcli c up ens160

1.1.5.修改链接名称

# nmcli c edit ens160

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'ens160'

Type 'help' or '?' for available commands.

Type 'print' to show all the connection properties.

Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, hostname, link, tc, proxy

nmcli> goto 

802-1x802-3-ethernet (ethernet)connectiondcbethtoolsriov

nmcli> goto connection 

You may edit the following properties: id, uuid, stable-id, type, interface-name, autoconnect, autoconnect-priority, autoconnect-retries, multi-connect, auth-retries, timestamp, permissions, zone, controller, master, slave-type, port-type, autoconnect-slaves, autoconnect-ports, down-on-poweroff, secondaries, gateway-ping-timeout, metered, lldp, mdns, llmnr, dns-over-tls, mptcp-flags, mud-url, wait-device-timeout, wait-activation-delay

nmcli connection> go id

nmcli connection.id> print

id: ens160

nmcli connection.id> change

Edit 'id' value: haibin

nmcli connection.id> print

id: haibin  --修改链接名

nmcli connection.id> back

nmcli connection> back

nmcli> save

Connection 'haibin' (da886baa-1297-3992-a855-b3ccde22b765) successfully updated.

nmcli> activate

Monitoring connection activation (press any key to continue)

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

nmcli> quit

nmcli d show ens160--查看设备信息

nmcli d connect ens160

最新文章

随机文章