1. 前言
本文主要讲解如何在CentOS8或者RHEL8系统上配置静态IP。
如何在CentOS8或者RHEL8上配置一个静态IP地址?本指南将向您介绍在RHEL8和CentOS8上配置静态IP地址的不同方法。
IP地址是用于唯一地标识IP网络上的设备的地址。要使两台计算机彼此通信并共享数据,需要将IP地址设置为它们的网络接口。IP地址可以手动分配(静态IP地址),也可以通过DHCP分配。
DHCP IP地址分配通常用于台式机、笔记本电脑和工作站。如果IP发生变化,通过DHCP向服务器分配IP地址可能会造成严重的影响。
2. CentOS8或者RHEL8配置静态IP之方法1:编辑网络配置文件
我们将考虑的第一个方法是手动更改网络接口配置文件。我的RHEL 8服务器有两个网络接口。
ip link show
输出结果
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 12:34:56:8f:83:86 brd ff:ff:ff:ff:ff:ff
3: enp7s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 12:34:56:83:0a:b9 brd ff:ff:ff:ff:ff:ff
这些是enp1s0
和enp7s0
。我们将配置第二个接口enp7s0
静态IP地址。这个网络接口配置文件将放在/etc/sysconfig/network-scripts/ifcfg-enp7s0
下。
如果该文件不存在,请用网络接口名替换enp7s0
。
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp7s0
编辑以下内容以适合您的网络寻址方案,并粘贴到文件中。
DEVICE=enp7s0
TYPE=Ethernet
NM_CONTROLLED=yes
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.121.188
NETMASK=255.255.255.0
GATEWAY=192.168.121.1
DNS1=8.8.8.8
DNS2=4.2.2.2
IPV6INIT=no
USERCTL=no
PEERDNS=yes
使用参数/选项:
ONBOOT=yes : 网络随系统自启动。
NM_CONTROLLED=yes: 允许接口可以被Network Manager管理
BOOTPROTO=none: 网络配置协议,none或static表示静态配置IP
IPV6INIT=no: 禁用IPv6初始配置
更改后重新启动NetworkManager服务
sudo systemctl restart NetworkManager
您应该看到分配给网络接口的新IP地址。
ip addr show enp7s0
3: enp7s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 12:34:56:83:0a:b9 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.188/24 brd 192.168.121.255 scope global noprefixroute enp7s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe83:bb9/64 scope link
valid_lft forever preferred_lft forever
3. CentOS8或RHEL8配置静态IP之方法2:使用nmcli
nmcli
是一个命令行工具,用于控制NetworkManager和报告网络状态。使用此命令行工具,您可以用很少的命令设置CentOS8或RHEL8静态IP地址。
检查可用的连接。
nmcli connection show
NAME UUID TYPE DEVICE
enp1s0 4143edd7-3b96-45b7-a02a-8cc42af24f58 ethernet enp1s0
System enp7s0 8efeb265-0ab3-438f-bf8b-567d252cfa14 ethernet enp7s0
您可以删除和重新创建连接。
nmcli connection down 4143edd7-3b96-45b7-a02a-8cc42af24f58
Connection ‘System enp7s0’ (4143edd7-3b96-45b7-a02a-8cc42af24f58) successfully deleted.
nmcli connection delete 8efeb265-0ab3-438f-bf8b-567d252cfa14
Connection ‘System enp7s0’ (8efeb265-0ab3-438f-bf8b-567d252cfa14) successfully deleted.
在下面的代码段中,将enp7s0
替换为接口名和IP地址信息,并将其替换为实际值。
INT="enp7s0"
IP_SUBNET="192.168.121.188/24"
GW="192.168.121.1"
DNS1="8.8.8.8"
DNS2="4.2.2.2"
为接口添加一个新连接。
nmcli connection add type ethernet autoconnect yes con-name {INT} ifname{INT}
autoconnect yes
等同于ONBOOT=yes
为CentOS8或者RHEL8的网卡配置静态IP地址
nmcli connection modify {INT} ipv4.addresses{IP_SUBNET} ipv4.method manual
为CentOS8或者RHEL8的网卡设置默认网关
nmcli connection modify {INT} ipv4.gateway{GW}
为CentOS8或者RHEL8的网卡设置默认DNS
nmcli connection modify {INT} ipv4.dns{DNS1}
nmcli connection modify {INT} +ipv4.dns{DNS2}
检查配置结果,查看CentOS8或者RHEL8的网卡是否配置正确。
nmcli connection show
NAME UUID TYPE DEVICE
enp1s0 4143edd7-3b96-45b7-a02a-8cc42af24f58 ethernet enp1s0
enp7s0 8efeb265-0ab3-438f-bf8b-567d252cfa14 ethernet enp7s0
NetworkManager将为您将配置文件填充到/etc/sysconfig/network-scripts/
目录。我的示例如下所示。
cat /etc/sysconfig/network-scripts/ifcfg-enp7s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp7s0
UUID=9f9dba41-b532-414c-b531-0c7978e0eb6b
DEVICE=enp7s0
ONBOOT=yes
IPADDR=192.168.121.188
PREFIX=24
GATEWAY=192.168.121.1
DNS1=8.8.8.8
DNS2=4.2.2.2
有一个叫做nmtui
的工具,它有ncurses GUI,但是它不是在基于RHEL / CentOS的系统上设置静态IP地址的推荐方法。
5. 结论
通过本文,您现在应该明白如何在RHEL8/CentOS8服务器上配置了一个静态IP地址。如果您有任何看法,请留下评论。
评论前必须登录!
注册