Linux网络管理服务———NetworkManager

目录

网络管理服务

网络管理工具

图形工具

伪图形工具

命令行工具

nmcli device 管理

nmcli 查看网卡和网卡配置文件的概述信息

删除网卡:nmcli device delete

disconnect:nmcli device disconnect

connect:nmcli device connect

查看网卡信息:nmcli device show

nmcli 管理网卡配置文件:nmcli connection

查看一个网卡配置文件

添加一块网卡配置文件

激活一个网卡配置文件

删除一个网卡配置文件

重新加载网卡配置文件

修改网卡配置文件

查看网卡文件详细信息


网络管理服务

在早期的Linux发行版本里几乎所有的网络服务都是network服务,从RHEL7开始红帽官方建议采用NetworkManager的“方式”配置网络,而不建议再使用network服务传统的方式配置网络。

网络是非常复杂的,需要配置的网络相关的参数非常多。早期配置网络的方法,几乎只有创建网卡配置文件,添加网络参数,修改网络参数,然后重启network服务,让network服务加载网卡配置文件到内存,然后让内核读取内存里面的网卡配置文件来获取网络配置。

NetworkManager早期的设计目的是为了统一网络配置,同一网络配置的意思就是以后所有网络相关的配置都使用NetworkManager来实现

NetworkManager服务提供了3种工具类配置网卡参数,无论哪种工具,都不需要手工的修改网卡配置文件。

确认NetworkManager服务是开启的,如果服务不开启,就无法使用NetworkManager。

[root@localhost ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-02-28 19:46:10 CST; 18h ago
       Docs: man:NetworkManager(8)
   Main PID: 1056 (NetworkManager)
      Tasks: 3 (limit: 23272)
     Memory: 9.6M
        CPU: 449ms
     CGroup: /system.slice/NetworkManager.service
             └─1056 /usr/sbin/NetworkManager --no-daemon

Feb 29 14:40:54 localhost.localdomain NetworkManager[1056]: <info>  [1709188854.5595] dhcp4 (ens192): activation: beginning transaction (timeout in 45 seconds)
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5382] device (ens160): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-ifac>
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <warn>  [1709188899.5389] device (ens160): Activation: failed for connection 'ens160'
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5390] device (ens192): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-ifac>
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5395] manager: NetworkManager state is now DISCONNECTED
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <warn>  [1709188899.5397] device (ens192): Activation: failed for connection 'ens192'
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5401] device (ens160): state change: failed -> disconnected (reason 'none', sys-iface-state: 'mana>
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5446] dhcp4 (ens160): canceled DHCP transaction
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5455] device (ens192): state change: failed -> disconnected (reason 'none', sys-iface-state: 'mana>
Feb 29 14:41:39 localhost.localdomain NetworkManager[1056]: <info>  [1709188899.5496] dhcp4 (ens192): canceled DHCP transaction
lines 1-21/21 (END)

网络管理工具

图形工具

[root@localhost ~]# nm-connection-editor 

网络管理工具正常需要人为的指定配置文件和网卡名字的关系如果是在控制台操作,系统必须安装图形软件才可以调用出来图形界面。如果是远程操作,即使Linux并没有安装图形界面,远程的终端服务器必须安装了图形服务器软件才可以调用出图形。(Xming,XManager)

伪图形工具

[root@localhost ~]# nmtui

通过终端字符,模拟出图形界面,其实看到的图形不是真正的图形,而是字符组出来的。

命令行工具

nmcli (nmcli ---> network manager cli command line interface)

nmcli device 管理

nmcli 查看网卡和网卡配置文件的概述信息
[root@localhost ~]# nmcli device status
DEVICE  TYPE      STATE                                  CONNECTION            
ens192  ethernet  connecting (getting IP configuration)  Ethernet connection 1 
ens160  ethernet  disconnected                           --                    
lo      loopback  unmanaged                              --  

总共四列:

第一列表示网卡名称(内核label) 第二列是网卡的类型(内核label) 第三列是当前网卡的状态(指的是NetworkManager服务是否接管了这块网卡) 如果第三列是unmanaged,就表示该块网卡并没有被NetworkManager服务接管。如果网卡没有被NetworkManager服务接管,就意味着无法使用NetworkManager管理该网卡 如果第三列是disconnected,意味着该块网卡,并没有使用任何配置文件 如果第三列是connected,意味着该块网卡,正在使用某个配置文件 如果第三列是connecting状态,就意味着该网卡正在获取ip地址第四列表示当前网卡使用的配置文件是什么,如果有名字,就表示该网卡的配置文件就是那个名字。如果是"--"就表示该网卡当前没有配置文件。

nmcli 命令是可以不全的,但是要安装bash-completion-2.7-5.el8.noarch软件。

删除网卡:nmcli device delete
[root@localhost ~]# nmcli device delete ens192
Error: Device 'ens192' (/org/freedesktop/NetworkManager/Devices/3) deletion failed: This device is not a software device or is not realized
Error: not all devices deleted.

delete 只能删除软网卡,不能删除硬件网卡

disconnect:nmcli device disconnect

指定一个网卡,就能切断该网卡和当前配置文件的联系

[root@localhost ~]# nmcli device status
DEVICE  TYPE      STATE         CONNECTION 
ens160  ethernet  connected     ens160     
ens192  ethernet  disconnected  --         
lo      loopback  unmanaged     --             
[root@localhost ~]# nmcli device disconnect ens160
Device 'ens160' successfully disconnected.
[root@localhost ~]# nmcli device status
DEVICE  TYPE      STATE         CONNECTION 
ens160  ethernet  disconnected  --         
ens192  ethernet  disconnected  --         
lo      loopback  unmanaged     --   
connect:nmcli device connect

连接一个网卡与网络配置文件的联系

[root@localhost ~]# nmcli device connect ens160 
Device 'ens160' successfully activated with 'b7125524-1707-3b98-90d9-1311b8e18704'.
[root@localhost ~]# nmcli device status
DEVICE  TYPE      STATE         CONNECTION 
ens160  ethernet  connected     ens160     
ens192  ethernet  disconnected  --         
lo      loopback  unmanaged     --    
查看网卡信息:nmcli device show
[cui@bogon ~]$ nmcli device show ens160 
GENERAL.DEVICE:                         ens160
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:71:94:D2
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens160
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/12
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.100.129/24
IP4.GATEWAY:                            192.168.100.2
IP4.ROUTE[1]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 101
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.100.2, mt = 101
IP4.DNS[1]:                             114.114.114.114
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe71:94d2/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024
[cui@bogon ~]$ nmcli device show ens192 
GENERAL.DEVICE:                         ens192
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:71:94:DC
GENERAL.MTU:                            1500
GENERAL.STATE:                          30 (disconnected)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
WIRED-PROPERTIES.CARRIER:               on
IP4.GATEWAY:                            --
IP6.GATEWAY:                            --

nmcli 管理网卡配置文件:nmcli connection

  • 常用的设施网卡配置文件的参数

    • ip地址

    • ip掩码

    • ip gatway

    • ip dns

    • ip method(手动配置还是dhcp自动获取地址)

    • ip autoconnect(开机是否自动连接配置文件)

注意:操作网卡配置文件非常危险

私有云云服务器上的网卡一般是4~8块,2块用作管理网络,2块用作traffic网络,2块用作存储网卡(如果使用本地存储,就不需要存储网卡),2块额外的网卡做高速虚拟化网卡转发(SR-IOV)

服务器上最少两块onboard(板载)的网卡,至少千兆,通过PCI总线接的外部网卡,至少万兆(光模块)

一般来说,管理网卡(控制网络的网卡)配置文件是装系统的时候就配好了,我们操作网卡配置文件,一般都是操作数据网络的网卡和存储网络的网卡。如果你是远程连接,误操作将管理网络配置文件配置错误,导致无法远程连接,最坏的情况就是要去机房将其修复。

1、添加一个网卡配置文件

nmcli connection add 

2、删除一个网卡配置文件

nmcli connection delete

3、激活一个网卡配置文件

nmcli connection up 

4、关闭一个网卡配置文件

nmcli connection down

5、查看一个网卡配置文件

nmcli connection show
 

6、重新加载一个网卡配置文件

nmcli connection reload 

我们通过nmcli connection操作网卡配置文件,默认目录都在

# 在rhel9种,网卡的配置文件这个目录中
[root@bogon ~]# ls /etc/NetworkManager/system-connections/
ens160.nmconnection  ens192.nmconnection

# 在rhel9之前,网卡的配置文件在中
[root@bogon ~]# ls /etc/sysconfig/network-scripts/
查看一个网卡配置文件
[root@bogon ~]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens160  b7125524-1707-3b98-90d9-1311b8e18704  ethernet  ens160 
ens192  0ccad405-4cd0-31ec-b845-46389f1c5a56  ethernet  --    

第一列NAME表示网卡配置文件的名称,该名称可以重复,但是不建议重复

第二列表示网卡配置文件的UUID,UUID一定不会重复,当名字重复的时候,UUID不会重复

第三列TYPE表示该网卡配置文件的类型,一般都是ethernet

第四列表示配置文件服务于哪个网卡(DEVICE)

配置网卡配置文件的守则

我是谁,我在哪,我要干什么 只有root才能操作网卡配置文件,因为网卡配置文件要最终关联到网卡。

千万不要操作管理网卡

添加一块网卡配置文件
[root@bogon ~]# nmcli connection add ifname ens192 type ethernet con-name ens192-1 ipv4.addresses 192.168.200.200 ipv4.dns 114.114.114.114 ipv4.method manual 
Connection 'ens192-1' (bff9e051-20da-427b-a3a6-d20a97e9d213) successfully added.
[root@bogon ~]# nmcli connection show 
NAME      UUID                                  TYPE      DEVICE 
ens160    b7125524-1707-3b98-90d9-1311b8e18704  ethernet  ens160 
ens192    0ccad405-4cd0-31ec-b845-46389f1c5a56  ethernet  --     
ens192-1  bff9e051-20da-427b-a3a6-d20a97e9d213  ethernet  --    
[root@bogon ~]# nmcli connection up 
ens160    ens192    ens192-1  filename  help      id        path      uuid  
[root@bogon ~]# nmcli connection show 
NAME      UUID                                  TYPE      DEVICE 
ens160    b7125524-1707-3b98-90d9-1311b8e18704  ethernet  ens160 
ens192-1  bff9e051-20da-427b-a3a6-d20a97e9d213  ethernet  ens192 
ens192    0ccad405-4cd0-31ec-b845-46389f1c5a56  ethernet  --     

添加网卡配置有三个必须的参数con-name(配置文件的名称)、type、(配置文件的类型)ifname(配置文件的网卡)

只有这三个参数的情况下,使用的是DHCP进行自动分配IP

如果需要手动配置ip,则需要使用ipv4.method这个参数

如果一个网卡没有配置文件,那么添加之后就会直接将这个配置文件应用于这块网卡

激活一个网卡配置文件

如果一个网卡有多个配置文件,可以激活自己所需要的配置文件

[root@bogon ~]# nmcli connection show 
NAME      UUID                                  TYPE      DEVICE 
ens160    b7125524-1707-3b98-90d9-1311b8e18704  ethernet  ens160 
ens192-1  47fe36e3-ccc2-4c92-800d-ddcd1360f291  ethernet  ens192 
ens192    0ccad405-4cd0-31ec-b845-46389f1c5a56  ethernet  --     
ens192-2  bf4334d1-c3fb-4399-a2e0-002924240666  ethernet  --     
ens192-3  208db02d-6b8f-447d-91c3-59690de34be3  ethernet  --     
[root@bogon ~]# nmcli device status 
DEVICE  TYPE      STATE      CONNECTION 
ens160  ethernet  connected  ens160     
ens192  ethernet  connected  ens192-1   
lo      loopback  unmanaged  --          

可以看到 ens192这块网卡是用的是ens192-1这个配置文件,我们现在让他使用ens192-2这块网卡

[root@bogon ~]# nmcli connection up ens192-2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)
[root@bogon ~]# nmcli connection show 
NAME      UUID                                  TYPE      DEVICE 
ens160    b7125524-1707-3b98-90d9-1311b8e18704  ethernet  ens160 
ens192-2  bf4334d1-c3fb-4399-a2e0-002924240666  ethernet  ens192 
ens192    0ccad405-4cd0-31ec-b845-46389f1c5a56  ethernet  --     
ens192-1  47fe36e3-ccc2-4c92-800d-ddcd1360f291  ethernet  --     
ens192-3  208db02d-6b8f-447d-91c3-59690de34be3  ethernet  --     
[root@bogon ~]# nmcli device status 
DEVICE  TYPE      STATE      CONNECTION 
ens160  ethernet  connected  ens160     
ens192  ethernet  connected  ens192-2   
lo      loopback  unmanaged  --         

可以看到现在使用的是ens192-2这个网卡配置

删除一个网卡配置文件
## 使用NAME进行删除
[root@bogon ~]# nmcli connection delete ens192-1
Connection 'ens192-1' (47fe36e3-ccc2-4c92-800d-ddcd1360f291) successfully deleted.
## 使用uuid删除
[root@bogon ~]# nmcli connection delete 208db02d-6b8f-447d-91c3-59690de34be3
Connection 'ens192-3' (208db02d-6b8f-447d-91c3-59690de34be3) successfully deleted.
[root@bogon ~]# nmcli connection delete ens192
Connection 'ens192' (0ccad405-4cd0-31ec-b845-46389f1c5a56) successfully deleted.
[root@bogon ~]# nmcli connection show 
NAME      UUID                                  TYPE      DEVICE 
ens160    b7125524-1707-3b98-90d9-1311b8e18704  ethernet  ens160 
ens192-2  bf4334d1-c3fb-4399-a2e0-002924240666  ethernet  ens192 
重新加载网卡配置文件

如果手工修改了配置文件,需要将修改的配置文件加载到内存中,在激活,才能生效

[root@bogon ~]# nmcli connection reload 
[root@bogon ~]# nmcli connection up ens192-2 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/20)
[root@bogon ~]# ip a show ens192 
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:71:94:dc brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 192.168.200.101/32 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::b9c6:781:a9ec:8006/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
修改网卡配置文件
[root@bogon ~]# nmcli connection modify ens192-2 ipv4.addresses 192.168.200.250
[root@bogon ~]# ip a show ens192 
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:71:94:dc brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 192.168.200.101/32 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::b9c6:781:a9ec:8006/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@bogon ~]# nmcli connection up ens192-2 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)
[root@bogon ~]# ip a show ens192 
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:71:94:dc brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 192.168.200.250/32 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::b9c6:781:a9ec:8006/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

connection.autoconnectc参数,定义autoconnect的开和关

[root@bogon ~]# nmcli connection modify ens192-2 connection.autoconnect yes

modify 的参数和 add 的有90%的相似度

查看网卡文件详细信息
[root@bogon ~]# nmcli connection show ens192-2 > 1.txt
[root@bogon ~]# cat 1.txt 
connection.id:                          ens192-2
connection.uuid:                        bf4334d1-c3fb-4399-a2e0-002924240666
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              ens192        # 作用于那个网卡
connection.autoconnect:                 no
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1709270614
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        default
connection.mdns:                        -1 (default)
connection.llmnr:                       -1 (default)
connection.dns-over-tls:                -1 (default)
connection.wait-device-timeout:         -1
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          no
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     auto
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.200.250/32
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
ipv6.method:                            auto
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                            --
ipv6.route-metric:                      -1
ipv6.route-table:                       0 (unspec)
ipv6.routing-rules:                     --
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.required-timeout:                  -1 (default)
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.ra-timeout:                        0 (default)
ipv6.dhcp-duid:                         --
ipv6.dhcp-iaid:                         --
ipv6.dhcp-timeout:                      0 (default)
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
ipv6.dhcp-hostname-flags:               0x0 (none)
ipv6.token:                             --
proxy.method:                           none
proxy.browser-only:                     no
proxy.pac-url:                          --
proxy.pac-script:                       --
GENERAL.NAME:                           ens192-2
GENERAL.UUID:                           bf4334d1-c3fb-4399-a2e0-002924240666
GENERAL.DEVICES:                        ens192
GENERAL.IP-IFACE:                       ens192
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        no
GENERAL.DEFAULT6:                       no
GENERAL.SPEC-OBJECT:                    --
GENERAL.VPN:                            no
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/24
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/10
GENERAL.ZONE:                           --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         192.168.200.250/32
IP4.GATEWAY:                            --
IP4.DNS[1]:                             8.8.8.8
IP6.ADDRESS[1]:                         fe80::b9c6:781:a9ec:8006/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024

如果需要修改网卡配置文件,可以用 modify进行修改

### Linux系统中的网络配置 在网络配置方面,确保主机之间的通信顺畅至关重要。对于Linux操作系统而言,可以通过图形化界面或命令行工具来实现这一目标。 #### 使用图形化界面配置网络 用户可以直接点击桌面环境右上角的网络连接图标进入网络配置界面,在这里可以方便地完成网络信息查询和必要的调整工作[^1]。 #### 命令行方式下的网络配置 对于更高级的操作或是无GUI环境下,则依赖于命令行工具来进行详细的自定义设置: - **NetworkManager** 是现代版本Red Hat Enterprise Linux (RHEL) 中默认使用的动态网络控制与配置解决方案。通过`nmcli`命令可轻松管理和修改各种类型的网络连接属性,包括但不限于创建新的连接、编辑现有连接参数等[^4]。 ```bash nmcli con show # 列出当前所有的活动连接 ``` - 对于特定场景下可能还需要手动编辑位于 `/etc/sysconfig/network-scripts/` 下的相关脚本文件以满足复杂的应用需求。例如,当需要为某个物理网卡设定固定的IPv4地址时,可以在对应的ifcfg-ethX文件内指定相应的静态IP配置项。 ```bash vi /etc/sysconfig/network-scripts/ifcfg-eth0 ``` > 注:以上路径适用于基于RedHat/CentOS系列发行版;其他如Debian/Ubuntu可能会有所不同,请参照官方文档确认确切位置。 ### 确认服务状态及其监听端口的方法 为了验证某项服务是否已经成功启动并正常运行,除了观察日志外还可以借助专门设计用于此目的的各种实用程序之一——`ss`命令。该命令不仅可以用来显示套接字的状态信息,而且还能帮助识别哪些进程正在占用特定端口号,从而间接反映出对应的服务是否处于活跃状态[^3]。 ```bash ss -tuln | grep <port_number> ``` 上述指令将会筛选出所有TCP协议(`-t`)上的监听(`-l`)且未建立连接(`-u`)的本地(`-n`,即不解析名称而直接给出数字形式的目标地址)端口中匹配给定数值的部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值