这里是普通文章模块栏目内容页
CentOS Stream 9 设置静态IP

CentOS Stream 9 不同于以往版本的 CentOS,没有之前的网络命令,如:

service network start/restart/status

systemctl start/restart/status network

设置网卡 IP 的配置文件也在 /etc/sysconfig/network-script 目录下已经找不到了,更换了新的目录/etc/NetworkManager/system-connections/


查看系统版本等信息

查看发行版本

# cat /etc/redhat-release 
CentOS Stream release 9

查看IP地址和网卡名称

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:e0:4f:1d:18:73 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.235/24 brd 192.168.16.255 scope global dynamic noprefixroute enp2s0
       valid_lft 448916406sec preferred_lft 448916406sec
    inet6 fe80::2e0:4fff:fe1d:1873/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

从上面命令可以看出网卡名称是enp2s0


查找enp2s0网卡配置文件

# grep -rn /etc -e enp2s0
/etc/NetworkManager/system-connections/ens192.nmconnection:2:id=ens192
/etc/NetworkManager/system-connections/ens192.nmconnection:6:interface-name=ens192

可以看出,/etc/NetworkManager/system-connections/enp2s0.nmconnection即是网卡的配置文件


设置静态ip地址

编辑网卡配置文件 /etc/NetworkManager/system-connections/enp2s0.nmconnection

[connection]
id=enp2s0
uuid=0050f214-01a7-395e-ab19-b6e95412995a
type=ethernet
autoconnect-priority=-999
interface-name=enp2s0

[ipv4]
address1=192.168.16.235/24,192.168.16.1
dns=192.168.16.1
method=manual

nmcli重启网卡,service和systemctl在centos8及stram中已不能使用
nmcli c reload                         # 重新加载配置文件
nmcli c up enp2s0                       # 重启enp2s0网卡

附带nmcli命令用法
查看网卡信息命令
# 查看所有网络连接
# 长格式
nmcli connection show

# 短格式,缩写
nmcli con show

# 查看活动的网络连接
nmcli con show -active

# 查看指定网卡的详细信息
nmcli con show eth0

# 显示设备的连接状态
nmcli status

# 显示所有设备网络设备详情信息
nmcli device show

# 显示指定网络设备的详细信息
nmcli device show eth0

网卡状态修改命令
# 启用网络连接
nmcli con up eth0

# 停用网络连接(可以被自动激活)
nmcli con down eth0

# 禁用网卡,防止自动被激活
nmcli device disconnect eth0

# 删除网络连接的配置文件
nmcli con delete eth0

# 重新加载网络配置文件
nmcli con reload

新增网卡配置文件

# 使用 add 命令会在 /etc/sysconfig/network-scripts中生成以为 ifcfg开头加add指定的 con-name 名称命名,此文件皆由 nmcli命令进行动态配置

# 如果手动修改 ifcfg文件,重启NetworkManager是无法生效,还需要在执行 nmcli con up才行

# 因此不建议手动修改配置文件,一切修改都使用nmcli命令,修改后执行 nmcli con up 立即生效

# 动态获取IP方式的网络连接配置:
nmcli con add con-name dynamic ifname enp2s0 type ethernet 

#启用动态配置文件
nmcli con up  dynamic

# 指定静态IP方式的网络连接配置:
nmcli con add con-name static ifname enp2s0 autoconnect yes type ethernet ip4 192.168.16.235/24 gw4 192.168.16.1

#启动静态配置文件
nmcli con up static

修改网络单项
# 设置网卡自启动,实际修改的是网卡配置文件 ONBOOT=yes
nmcli con mod CON-NAME connection.autoconnect yes

# 修改IP地址是静态(manual)还是dhcp动态(auto)
# 实际修改的是网卡配置文件BOOTPROTO,BOOTPROTO=none 表示静态;BOOTPROTO=dhcp 表示动态
nmcli con mod CON-NAME ipv4.method manual(static) | auto

# 修改IP配置及网关
nmcli con mod CON-NAME ipv4.addresses “192.168.16.235/24 192.168.16.1”

# 修改默认网关
nmcli con mod CON-NAME ipv4.gateway 192.168.16.1

# 添加第二个IP地址
nmcli con mod CON-NAME +ipv4.addresses 192.168.16.236/16

# 删除第二个IP地址
nmcli con mod CON-NAME -ipv4.addresses 192.168.16.236/16

# 添加dns1
nmcli con mod CON-NAME ipv4.dns 192.168.16.1

# 添加dns2
nmcli con mod CON-NAME +ipv4.dns 114.114.114.114

修改所对应的文件条目
#修改配置文件
nmcli con mod         # ifcfg-* 文件

# IP获取方式
ipv4.method manual|static   # BOOTPROTO=none
ipv4.method auto       # BOOTPROTO=dhcp

# 连接名称
connection.id eth0       # NAME=eth0

#IP地址信息
ipv4.addresses      
“192.168.16.235/24         # IPADDR0=192.168.16.235 PREFIX0=24
192.168.16.1         # GATEWAY0=192.168.16.1

# dns
ipv4.dns 192.168.16.1       # DNS0=192.168.16.1

# dns搜索域
ipv4.dns-search example.com  # DOMAIN=example.com

ipv4.ignore-auto-dns true    # PEERDNS=no
connection.autoconnect yes   # ONBOOT=yes
connection.interface-name eth0  # DEVICE=eth0
802-3-ethernet.mac-address...  # HWADDR=...
栏目索引
相关内容