CentOS8.2基础配置

系统服务配置

现在活动的服务列表

systemctl -t service

image.png

所有服务清单

systemctl list-unit-files -t service

[root@lianglab ~]# systemctl list-unit-files -t service
UNIT FILE                                  STATE
accounts-daemon.service                    enabled
alsa-restore.service                       static
alsa-state.service                         static
anaconda-direct.service                    static
anaconda-nm-config.service                 static
anaconda-noshell.service                   static
anaconda-pre.service                       static
anaconda-shell@.service                    static
anaconda-sshd.service                      static
anaconda-tmux@.service                     static
anaconda.service                           static
arp-ethers.service                         disabled
atd.service                                enabled
auditd.service                             enabled
auth-rpcgss-module.service                 static
autovt@.service                            enabled
avahi-daemon.service                       enabled
blivet.service                             static
blk-availability.service                   disabled
bluetooth.service                          enabled
bolt.service                               static
brltty.service                             disabled
btattach-bcm@.service                      static
canberra-system-bootup.service             disabled
canberra-system-shutdown-reboot.service    disabled
canberra-system-shutdown.service           disabled
chrony-dnssrv@.service                     static
chrony-wait.service                        disabled
chronyd.service                            disabled
clean-mount-point@.service                 static
cockpit-motd.service                       static
cockpit-wsinstance-http-redirect.service   static
cockpit-wsinstance-http.service            static

网络配置 nmcli命令讲解

命令目的
nmcli dev status显示所有网络接口的网络管理器状态
nmcli con show列出所有连接
nmcli con show *name*列出连接名称的当前设置
nmcli con add con-name *name* ..添加一个名为name的新连接
nmcli con mod *name* ..修改连接名称
nmcli con reload告诉networkManager重新读取配置文件(在手工编辑之后有用)
nmcli con up *name*激活连接名称
nmcli dev dis *dev*停用并断开网络接口开发人员上的当前连接
nmcli con del *name*删除连接名称及其配置文件

1.检查NetworkManager是否正在运行

您可以使用以下命令检查NetworkManager是否正在运行

[root@cobbler-p-010200064008 ~]# nmcli -t -f RUNNING general
running

2.列出所有可用的设备

查看和列出Linux系统上所有可用的设备

[root@cobbler-p-010200064008 ~]# nmcli dev status
DEVICE      TYPE      STATE         CONNECTION
br0         bridge    connected     Bridge br0
virbr0      bridge    connected     virbr0
bond0       bond      connected     bond0
eno49       ethernet  connected     System eno49
eno50       ethernet  connected     System eno50
vnet0       tun       connected     vnet0
ens2f0      ethernet  disconnected  --
ens2f1      ethernet  disconnected  --
lo          loopback  unmanaged     --
virbr0-nic  tun       unmanaged     --

3.列出所有可用的连接

[root@cobbler-p-010200064008 ~]# nmcli con show
NAME          UUID                                  TYPE      DEVICE
Bridge br0    d2d68553-f97e-7549-7a26-b34a26f29318  bridge    br0
virbr0        19ec752e-976f-4c23-b236-deb684b9db07  bridge    virbr0
bond0         ad33d8b0-1f7b-cab9-9447-ba07f855b143  bond      bond0
System eno49  31fc52de-447b-46f6-33cf-1d4dbbcddef5  ethernet  eno49
System eno50  12e7087a-5ced-5405-d350-7726d3570bae  ethernet  eno50
vnet0         149dcea1-7c1f-439b-b4eb-b2f0ca31f0b4  tun       vnet0
ens2f0        98e575e9-2fcc-428f-bc02-1663f81402b9  ethernet  --
ens2f1        daa451f8-b227-4d91-95e4-48c8e46d002d  ethernet  --

4.列出接口的所有配置

[root@cobbler-p-010200064008 ~]# nmcli con show "System eno49"
connection.id:                          System eno49
connection.uuid:                        31fc52de-447b-46f6-33cf-1d4dbbcddef5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              eno49
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1606981056
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      bond0
connection.slave-type:                  bond
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)

5.检查物理网络设备状态

[root@cobbler-p-010200064008 ~]# nmcli dev status
DEVICE      TYPE      STATE         CONNECTION
br0         bridge    connected     Bridge br0
virbr0      bridge    connected     virbr0
bond0       bond      connected     bond0
eno49       ethernet  connected     System eno49
eno50       ethernet  connected     System eno50
vnet0       tun       connected     vnet0
ens2f0      ethernet  disconnected  --
ens2f1      ethernet  disconnected  --
lo          loopback  unmanaged     --
virbr0-nic  tun       unmanaged     --

6.创建一个新的以太网连接并分配静态IP地址

在此示例中 nmcli,使用IPv4地址和网络前缀 192.168.6.66/24 以及默认网关静态配置 eth2 接口 192.168.6.1 ,但仍会在
启动时自动连接并将其配置保存到 /etc/sysconfig/network-scripts/ifcfg-ens2f0 文件中。

nmcli con add con-name ens2f0 type ethernet ifname ens2f0 ipv4.method manual ipv4.address 192.168.6.66/24 ipv4.gateway 192.168.6.1   ---执行要谨慎
连接'ens2f0'(460b16aa-e755-403e-b0ec-5e1560dcc441)已成功添加。

7.创建一个新的以太网连接并分配DHCP IP地址

以下命令将为接口 eth2 添加一个新连接,该连接将使用 DHCP 获取 IPv4 网络信息,并在启动时自动连接。配置将被
保存,/etc/sysconfig/network-scripts/ifcfg-ens2f0 因为 con-name ens2f0

nmcli con add con-name ens2f0 type ethernet ifname ens2f0 ipv4.method auto
连接'ens2f0'(d75cb87f-cd15-40a2-9c33-138e69a06a1f)已成功添加。

我们可以在映射的接口配置文件中验证相同

egrep BOOTPROTO /etc/sysconfig/network-scripts/ifcfg-ens2f0
BOOTPROTO = DHCP

8.nmcli创建bond mode 4

查看网卡信息

nmtui connection show
nmcli device

为bond0添加网卡配置文件

nmcli connection add con-name bond4 ifname bond4 type bond mode 4
这里默认为dhcp获取ip的方式,手动修改配置文件为静态ip, 配置参考(模式)
vim /etc/sysconfig/network-scripts/ifcfg-bond0
image.png

启用连接bond0

nmcli connection up bond0

添加slava网卡

我们创建的是一个bond设备配置文件,那么就需要slave网卡来支撑,下面我们添加两个slave网卡:
nmcli connection add type bond-slave ifname enp1s0 master bond0
nmcli connection add type bond-slave ifname enp6s0 master bond0

查看slave网卡配置

cat /etc/sysconfig/network-scripts/ifcfg-bond-slave-enp1s0
cat /etc/sysconfig/network-scripts/ifcfg-bond-slave-enp6s0

启用slave网卡

nmcli connection up bond-slave-enp1s0
nmcli connection up bond-slave-enp6s0

重启网络

systemctl restart network

bond mode模式

balance-rr (0) –轮询模式,负载均衡(bond默认的模式)
active-backup (1) –主备模式(常用)
balance-xor (2)
broadcast (3)
802.3ad (4) –动态聚合模式(LACP)
balance-tlb (5)
balance-alb (6)

查看聚合状态

cat /proc/net/bonding/bond0
image.png

删除网卡绑定

nmcli connection show
nmcli connection delete bond-bond0
nmcli connection delete bond-slave-enp1s0
nmcli connection delete bond-slave-enp6s0

网络配置 IP 命令讲解

1.使用ip命令显示所有可用接口的IP地址

使用ip addr show显示你的Linux系统上的所有可用网络接口的IP地址

ip addr show

2.显示单个接口的IP地址

ip addr show dev bond0

3.根据接口类型列出接口

Linux系统上可以使用各种类型的NIC,例如vlan,bond,bridge,vxlan等。

ip addr show type bond

4.检查网卡的链接状态是启用还是禁用

ip link 将管理和显示所有网络接口的状态。显示所有接口的当前状态
检查单个接口的链接状态

ip link show dev em1

5.更改NIC的链接状态

ip link set em2 down
ip link show dev em2
ip link set em2 up
ip link show dev em2

ip link set ifname command 将网络接口设置为 IFF_UP 状态,并从内核范围启用它。这与 ifup ifname 初始化脚本命令或设备的 NetworkManager 激活状态不同。实际上,即使当前断开连接,NetworkManager也会始终设置接口。

虽然都说指令 ip link set eth0 up 和指令 ifup eth0 的作用是一样的,但是通过实践表明两者还是有区别的。ip link set eth0 up 仅仅启用网卡,但是不会配置路由;而 ifup 指令不仅启用网卡,同时会配置默认路由。

6.分配/添加IPv4和IPv6地址

要使用分配IPV4地址,可以使用 ip addr add。为了演示此步骤,我已经从enp0s9接口临时取消分配/删除了IP地址。

ip addr add 192.168.56.101/24 dev em2

要使用ip命令分配IPv4地址,您将需要netmask前缀值 24
检查为em2接口分配的IPv4地址

ip addr show em2

要使用ip命令分配IPv6地址,您可以使用与IPv4地址相同的命令,但要使用IPv6地址和 netmask

ip addr add 2001:0001:0001:1443::0411/122 dev em2
ip addr show em2

7.取消分配/删除IPv4和IPv6地址

您可以使用 ip addr del 参数从接口取消分配或删除分配的IP地址。在这里,您必须提供确切的IP地址以及前缀值才能取消分配IP地址。

ip add del 192.168.56.101/24 dev em2
ip addr show em2

您可以使用与上述IPv4地址相同的命令取消分配或删除单个接口的IPv6地址。

ip addr del 2001:0001:0001:1443::0411/122 dev em2
ip addr show em2

8.从各个接口取消分配/删除所有协议地址

通过使用 ip addr del ,我们仅删除分配给相应接口的提供的地址。但是,如果要删除分配给单个接口的所有协议地址,则必须使用 flush

ip addr flush dev em2

9.显示界面的详细统计信息

[root@centos ~]# ip -s link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:a4:32:6f brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    366524753  2037501  0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    774696153  2110977  0       0       0       0      

如果该"-s"选项出现两次或更多次,则信息量会增加。

[root@centos ~]# ip -s -s link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:a4:32:6f brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    366558954  2037915  0       0       0       0       
    RX errors: length   crc     frame   fifo    missed
               0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    774846442  2111393  0       0       0       0       
    TX errors: aborted  fifo   window heartbeat transns
               0        0       0       0       2       

10.列出路由

[root@kvm-d-006188 ~]# ip route list
default via 192.168.6.1 dev br0 proto static metric 425
192.168.6.0/24 dev br0 proto kernel scope link src 192.168.6.188 metric 425

11.将默认路由添加到路由表

ip route add default via  192.168.0.1 dev em2
ip route list
default via 192.168.0.1 dev enp0s8
default via 192.168.6.1 dev br0 proto static metric 425
192.168.6.0/24 dev br0 proto kernel scope link src 192.168.6.188 metric 425

与其他路由一样,为默认路由添加更多详细信息

ip route add default via 192.168.0.1 dev em2 proto static metric 101

使用ip命令再次验证默认路由

ip route list
default via 192.168.0.1 dev em2 proto static metric 101

12.从路由表中删除默认路由

ip route delete default via 10.0.2.2

您也可以使用接口名称删除默认路由,以删除映射到提供的接口的所有默认路由

ip route delete default dev em2

13.将其他路由添加到路由表

现在,在添加默认路由之后,您还可以将其他路由添加到路由表中。在这里,我们将通过路由192.168.0.1添加到192.168.168.0/24的路由

ip route add 192.168.168.0/24 via 192.168.0.1 dev em2

14.从路由表中删除其他路由

ip route delete 192.168.168.0/24 via 192.168.0.1

15.替换路由表中的现有路由

ip route replace 192.168.168.0/24 via 10.0.2.2 dev em2

16.显示地址将要走的路由

获取 192.168.168.10 地址匹配的路由

ip route get 192.168.168.10

Metric 优先级配置

Metric的值越小,优先级越高
如果两块网卡的Metric的值相同,就会出现抢占优先级继而网卡冲突,将会有一块网卡无法连接

修改Metric的值

修改网卡配置文件,如果没有就加上IPV4_ROUTE_METRIC参数
我这里配置的是eth0的优先级高

image.png

修改完配置文件后需要重启网络服务才能生效
重启网络服务,配置的临时路由信息会失效

systemctl restart network

Linux下配置永久路由的几种方式

1.在/etc/rc.local里添加路由信息

route add -net 192.168.1.0/24 dev eth0  
# 或者  
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 

2.在/etc/sysconfig/network里追加

GATEWAY=[网关IP或者网关网卡名称]

3./etc/sysconfig/static-routes

any net 192.168.1.0/24 gw 192.168.1.1  
# 或者  
any net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1