如何在 RHEL/CentOS 8/7 上配置网络静态 IP 地址
本教程的范围是解释如何仅从命令行编辑和更改RHEL/CentOS 8/7上的网络配置,更具体地说,如何使用系统网络脚本在网络接口上设置静态 IP 地址,这是必须配置的,以提供面向 Internet 的网络服务,以及如何配置或更改 RHEL/CentOS 系统主机名。
同时还将向您展示如何管理或禁用不需要的系统服务,例如网络管理器,如果您使用在网络脚本上配置的手动静态 IP,则不再需要它;Avahi-Daemon在服务器上也是不需要的,并且代表着严重的安全漏洞,除非您在笔记本电脑上安装了服务器,并且想要立即浏览网络上的其他服务;最后将向您展示网络管理器文本用户界面 - nmtui ,这是一个系统实用程序,可以通过高级接口配置(如创建 Bond、Bridge、Team和VLAN接口)简化编辑系统网络设置的工作。
要求
- 安装“CentOS 8.0”并截图
- RHEL 8 的安装(带屏幕截图)
- 如何在 RHEL 8 中启用 RHEL 订阅
- CentOS 7.0 最小系统安装
- RHEL 7.0 最小系统安装
- 活动 RHEL 7.0 订阅和功能存储库
另外,请注意,在使用固定 IP 地址建立持续可靠的网络连接之前,不应使用 SSH 服务从远程位置执行编辑系统文件提供的大多数配置。
步骤1:在CentOS中禁用不需要的系统服务
1.在实际开始做任何事情之前,我们需要确保我们的系统安装了一些必要的编辑和网络工具,如netstat、ifconfig、wget、curl和lsof,其中一些工具不会在此步骤中使用,但最好安装它们以供将来进行配置。
# yum install nano wget curl net-tools lsof
2.工具安装完成后,运行ifconfig获取网络接口设置和状态,然后运行netstat或lsof命令检查服务器上默认运行的服务。
# ifconfig # netstat -tulpn # lsof -i
3. netstat命令输出非常直观,显示与其正在运行的程序名称关联的套接字列表。
例如,如果我们的系统不用作邮件服务,您可以停止在本地主机上运行的Postfix主守护程序,并使用以下命令停止和禁用其他不需要的服务 - 如果您需要远程控制服务器,我建议现在不要停止或禁用的唯一服务是SSH。
停止 Postfix 服务
# systemctl stop postfix # systemctl disable postfix # systemctl status postfix
停止 Avahi Daemon 服务
# systemctl stop avahi-daemon # systemctl disable avahi-daemon # systemctl status avahi-daemon
4.您也可以使用旧的init命令来停止或禁用服务,但由于Red Hat现在实现了systemd进程和服务管理,您最好习惯systemctl 命令并经常使用它。
如果您使用 Arch Linux,那么切换到 systemd 应该是小菜一碟——尽管现在所有 init 命令都已链接并穿过 systemd 过滤器。
# service postfix stop # chkconfig postfix off
5.如果您想要获取所有已启动服务的列表,请运行service命令,如果想要获取详尽的报告,请使用systemctl。
# service --status-all # systemctl list-unit-files
6.要管理服务,请使用最重要的开关运行systemctl命令: start、stop、restart、reload、disable、enable、show、list-dependencies、is-enabled等,后跟您的服务名称。
此外, systemctl命令的另一个重要功能还可以使用-H选项通过指定主机上的 SSH 服务在远程服务器上运行,并执行与本地相同的操作。
例如,请参见下面的命令和屏幕截图。
# systemctl -H remote_host start remote_service
第 2 步:在 CentOS 上配置静态 IP 地址
7.在开始编辑网络接口卡系统文件之前,请确保从现在开始直到设置静态 IP,您都有对服务器的物理或任何其他类型的访问,因为此步骤需要关闭您的网络接口和连接。
虽然它可以顺利完成而不会中断您的连接并在重启后激活连接。 如果您只连接了一个 NIC,则无法在重启之前对其进行测试。 尽管如此,我将向您介绍整个方法,并指出需要避免的步骤,以防您想保持连接并在之后进行测试。
8.现在转到/etc/sysconfig/network-scripts/路径,打开并选择您想要分配静态 IP 进行编辑的网络接口 - 要获取所有 NIC 名称,请使用ifconfig或IP 命令,如图所示。
# ifconfig OR # ip addr
9.接下来,使用以下网络模板编辑文件,并确保ONBOOT语句设置为YES,BOOTPROTO设置为静态或无,并且不要更改默认提供的HWADDR和UUID值。
# nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
如图所示进行以下更改。
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static 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=enp0s3 UUID=7546e483-16a0-499e-aaac-b37246b410a5 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1 DNS2=8.8.8.8 DOMAIN=example.lan
10.完成文件编辑后,关闭它,然后转到resolv.conf文件(如果您希望全系统启用 DNS 服务器)。
# nano /etc/resolv.conf
这里只需使用nameserver语句添加您的 DNS 服务器。
nameserver 192.168.1.1 nameserver 8.8.8.8
11.现在网络接口配置了静态 IP,唯一剩下的就是重新启动网络或重新启动系统,并使用ifconfig或IP命令查看 IP 地址,并使用ping命令测试配置。
# systemctl restart NetworkManager
注意:重新启动后,使用新配置的静态 IP 地址通过 SSH 执行远程登录。
# systemctl status NetworkManager # ifconfig # ip addr show
步骤3:在CentOS中设置主机名
12.要在整个系统范围内调整系统主机名,请打开位于/etc路径上的主机名和hosts文件,并按以下方式编辑它们。
主机名文件
# nano /etc/hostname
您可以在此处仅添加系统名称,但最好附加.dot域名。
server.example.lan
Hosts 文件
# nano /etc/hosts
这里在 localhost.localdomain 语句之前的 127.0.0.1 行上添加与上面相同的主机名。
127.0.0.1 server.example.lan localhost.localdomain …
或者,您可以使用hostnamectl 命令设置主机名,如图所示。
# hostnamectl -set-hostname example.lan
13.要测试您的主机名是否正确设置,请使用 hostname 命令。
# hostname -s # For short name # hostname -f # For FQDN mame
步骤 4:使用 Nmtui 工具在 CentOS 上设置静态 IP 地址
14、 NetworkManager 文本用户界面(TUI) 工具nmtui是一个 RHEL 直观工具,它通过控制网络管理器提供文本界面来配置网络,这有助于编辑高级网络设置,例如为网络接口分配静态 IP 地址、激活或禁用连接、编辑 WI-FI 连接、设置系统主机名或创建高级网络接口,如 InfiniBand、bond、bridge、team 或 VLAN。
NetworkManager-tui 默认安装在 RHEL/CentOS 7.0 中,但如果由于某种原因它缺失,请发出以下命令来安装它。
# yum install NetworkManager-tui
14.要启动网络管理器文本用户界面,请运行nmtui命令并使用TAB或箭头键浏览,然后按Enter选择一个选项。如果您想直接编辑或连接特定接口,请运行以下选项。
# nmtui edit enp0s3 # nmtui connect enp0s3
如果您想设置静态 IP,您也可以使用网络管理器文本用户界面作为实际编辑网络接口文件的简便替代方法,该方法提供的选项数量有限,但请确保网络管理器服务已在您的系统上启用并启动。