> 技术文档 > CentOS Stream10 设置固定ip_centos 10

CentOS Stream10 设置固定ip_centos 10

centos7和CentOS Stream9和CentOS Stream10的区别很大。管理方式也变了

1、打开网卡配置文件
CentOS Stream 10 的网卡配置文件移动在 /etc/NetworkManager/system-connections/ 目录下,打开对应的网卡配置文件:
vim /etc/NetworkManager/system-connections/ens33.nmconnection

CentOS 10 默认使用 NetworkManager 管理网络,而nmcli是 NetworkManager 命令行接口的缩写,是一个用来进行网络配置、管理网络连接的命令工具,可以简化网络设置,尤其是在无头(没有图形界面)环境下。

查看centos10的默认配置

[root@centos10model system-connections]# lsens33.nmconnection ens33.nmconnection.bak[root@centos10model system-connections]# pwd/etc/NetworkManager/system-connections[root@centos10model system-connections]# 

查看配置 ens33.nmconnection.bak

[root@centos10model system-connections]# cat ens33.nmconnection.bak[connection]id=ens33uuid=bc666755-b111-30f0-88e6-199803e48aa6type=ethernetautoconnect-priority=-999interface-name=ens33timestamp=1742935328[ethernet][ipv4]method=auto[ipv6]addr-gen-mode=eui64method=auto[proxy]

这书写风格和格式跟centos7简直天差地别啊。
看一下我修改后的配置

[root@centos10model system-connections]# cat ens33.nmconnection[connection]id=ens33 #网卡iduuid=bc666755-b111-30f0-88e6-199803e48aa6 ##uuidtype=ethernet  #网卡autoconnect-priority=-999 #不知道这个干什么的,应该是开机启动interface-name=ens33  #网卡名字timestamp=1742915250 #linux的时间戳[ethernet][ipv4]address1=192.168.230.130/24 #ip/掩码gateway=192.168.230.2  #网关 method=manual  ## 改成manual(意思是设置手动模式),auto自动获取[ipv6]addr-gen-mode=eui64 #ipv6,看情况,需要还是关闭method=ignore #auto自动获取,ignore关闭ipv6[proxy] #设置代理,这个我没设置

重启服务

sudo systemctl restart NetworkManager[root@localhost ~]# sudo nmcli c reload # 重新加载配置文件[root@localhost ~]# sudo nmcli c up ens33 # 重启ens33网卡连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection

修改后

[root@centos10model system-connections]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.230.130 netmask 255.255.255.0 broadcast 192.168.230.255 ether 00:0c:29:12:ef:50 txqueuelen 1000 (Ethernet) RX packets 1753 bytes 178069 (173.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1528 bytes 407885 (398.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 2088 bytes 96048 (93.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2088 bytes 96048 (93.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@centos10model system-connections]# 

网卡控制

查看运行状态:systemctl status NetworkManager启动:systemctl start NetworkManager重启:systemctl restart NetworkManager关闭:systemctl stop NetworkManager查看是否开机启动:systemctl is-enabled NetworkManager开机启动:systemctl enable NetworkManager禁止开机启动:systemctl disable NetworkManager

网上找的一些相关命令,还是的好好学习的
那么这个nmcli又是什么呢?经过查阅资料得知:

CentOS 10 默认使用 NetworkManager 管理网络,而nmcli是 NetworkManager 命令行接口的缩写,是一个用来进行网络配置、管理网络连接的命令工具,可以简化网络设置,尤其是在无头(没有图形界面)环境下。

sudo nmcli con mod \"ens33\" ipv4.addresses 192.168.150.145/24 # IP地址,自己设置,要匹配网络范围sudo nmcli con mod \"ens33\" ipv4.gateway 192.168.150.2 # 网关,要和VMware中配置的虚拟网卡一致sudo nmcli con mod \"ens33\" ipv4.dns \"192.168.150.2\" # DNS服务器,和网关一致即可 8.8.8.8 也可以sudo nmcli con mod \"ens33\" ipv4.method manual # IPv4配置方法设置为手动,也就是启用静态IP配置sudo nmcli con up \"ens33\"# 使配置生效添加第二个IP地址 nmcli con mod CON-NAME +ipv4.addresses 10.10.10.10/16删除第二个IP地址 nmcli con mod CON-NAME -ipv4.addresses 10.10.10.10/16添加dns1 nmcli con mod CON-NAME ipv4.dns 114.114.114.114添加dns2 nmcli con mod CON-NAME +ipv4.dns 8.8.8.8nmcli c m ens33 ipv4.address 192.168.80.10/24 # 修改 IP 地址和子网掩码nmcli c m ens33 ipv4.method manual # 修改为静态配置,默认是 autonmcli c m ens33 ipv4.gateway 192.168.80.2 # 修改默认网关nmcli c m ens33 ipv4.dns 192.168.80.2 # 修改 DNSnmcli c m ens33 +ipv4.dns 114.114.114.114 # 添加一个 DNSnmcli c m ens33 ipv6.method disabled  # 将 IPv6 禁用nmcli c m ens33 connection.autoconnect yes # 开机启动

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

centos7配置静态ip

cents7的配置,还是的需要了解下的。
/etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticIPADDR=\"192.168.208.50\"NETMASK=\"255.255.255.0\"GATEWAY=\"192.168.208.2\"DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesDHCPV6C=yesIPV6_AUTOCONF=noIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens32DEVICE=ens32ONBOOT=yesIPV6_PRIVACY=noDNS1=\"223.5.5.5\"DNS2=\"1.0.0.1\"

配置文件参数详解
TYPE: 网络接口的类型,通常为Ethernet,表示有线网络接口。
PROXY_METHOD: 代理方法配置。设置为none表示不使用代理。
BROWSER_ONLY: 设置为no表示该网络接口不仅用于浏览器访问,还可以用于其他网络通信。
BOOTPROTO: 定义接口的启动协议,设置为static表示使用静态IP地址。其他可能的值包括dhcp(动态获取IP)和none(不自动获取IP)。
IPADDR: 要为该接口分配的静态IP地址。确保该IP地址在你的网络中是唯一的。
NETMASK: 子网掩码,用于确定网络的大小。通常是255.255.255.0,表示标准的C类网络。
GATEWAY: 网络的默认网关IP地址。它是流量发送到其他网络时的出口。
DEFROUTE: 设置为yes表示使用此接口作为默认路由。
IPV4_FAILURE_FATAL: 设置为no表示即使IPv4配置失败,网络服务也不会停止。
IPV6INIT: 设置为yes表示启用IPv6协议。
DHCPV6C: 设置为yes表示使用DHCPv6来自动获取IPv6地址,设置为no表示不自动配置IPv6地址。
IPV6_AUTOCONF: 设置为yes表示自动配置IPv6地址。
IPV6_DEFROUTE: 设置为yes表示使用此接口的IPv6地址作为默认路由。
IPV6_FAILURE_FATAL: 设置为no表示即使IPv6配置失败,网络服务也不会停止。
IPV6_ADDR_GEN_MODE: 设置为stable-privacy表示生成稳定的隐私IPv6地址。
NAME: 网络接口的逻辑名称。可以与DEVICE相同。
DEVICE: 网络设备的名称。通常与ifconfig或ip a命令中看到的名称一致,如ens32。
ONBOOT: 设置为yes表示系统启动时自动启用该网络接口。
IPV6_PRIVACY: 设置为no表示不使用IPv6隐私扩展,使用固定的IPv6地址。
DNS1: 系统使用的第一个DNS服务器地址,用于域名解析。
DNS2: 可选的第二个DNS服务器地址,作为备用。
这些参数确保网络接口正确配置并在系统启动时自动激活。保存并退出编辑器后,重启网络服务应用配置

服务启动方式

修改后重启一下网络服务即可 systemctl restart networksudo systemctl stop NetworkManagersudo systemctl stop networksudo ip addr flush <你的接口名称> # 例如:sudo ip addr flush ens33sudo systemctl start networksudo systemctl start NetworkManager