在 Linux 中设置静态网络连接

学习检查网络连接并在 CentOS 中添加静态网络连接的工具和命令。
167 位读者喜欢这篇文章。

从 Linux 机器配置网络连接可能具有挑战性。 幸运的是,许多新的 Linux 发行版都带有一些类型的网络管理工具,可以帮助您自动连接到无线网络。 但是,如果能够从 Linux 机器设置静态网络连接,那不是很好吗? 本指南将向您展示如何使用不同的 Linux 工具来检查来自 CentOS/RHEL 机器的网络连接,并解释如何使用 nmcli 工具添加静态网络。

步骤 1:检查网络连接

ping 命令是一个众所周知的实用程序,可以快速检查与地址的连接。 在命令行中输入以下内容

ping -c3 opensource.com

其中 -c3 参数选项表示您将仅调用此域名三次。

Using the ping tool to call Opensource.com

如果您已连接到互联网,您将收到一个数据包响应,如本屏幕截图底部所示。

步骤 2:检查连接信息

您可以使用 ip add 命令检查网络信息。

Checking the connection information using ip add

运行此命令会显示设备信息、IP 地址等。 您稍后需要其中一些信息,例如设备信息和 IP 地址,以设置静态连接,因此请继续获取它。

步骤 3:检查网络信息

网络信息可以在 /etc/sysconfig/network-scripts 目录中找到,方法是输入

ls /etc/sysconfig/network-scripts

Checking the connection information stored in the network-scripts directory

例如,此屏幕截图显示 ifcfg-enp0s3ifcfg-lo,但这会因您运行 Linux 的位置以及设备的设置方式而异。

步骤 4:显示可用连接

nmcli 工具显示当前用于连接到网络的可用连接。 输入以下命令

nmcli con show

Show the available connections using nmcli con show

此屏幕截图显示两个设备处于活动状态:enp0s8enp0s3,它们分别称为 Wired Connection 1  2。 但这 可能会有所不同,具体取决于您的 Linux 环境的设置方式。

步骤 5:检查网络连接是否已打开

您在上面使用了 ping 命令 来检查您是否可以接收数据包,但现在使用 systemctl 命令来对 network 进行监控、更新和故障排除。 命令是

systemctl status network

Checking that the network connection is on using the systemctl status network command

如果网络实用程序没有问题,当您运行此命令时,您将看到状态为 active

步骤 6:添加静态连接

现在您已准备好添加静态连接。 使用您在步骤 2 中从 ip add 获取的设备名称,修改并输入以下命令以添加新连接

nmcli con add con-name "SomeName" ifname YOUR_DEVICE autoconnect yes type YOUR_CONNECTION_TYPE

根据您的配置更改 SomeNameYOUR_DEVICEYOUR_CONNECTION_TYPE

Adding the static connection using the nmcli con add command

步骤 7:验证连接是否已添加到 network-scripts 路径

有两种方法可以使用 nmcli 工具修改新的连接信息。 一种是使用以下命令

nmcli con mod

此命令实际上修改了 /etc/sysconfig/network-scripts 目录下的网络配置文件,这也是修改连接信息的另一种方式。 选择直接修改连接的选项。

再次查看 /etc/sysconfig/network-scripts 路径,方法是输入

ls /etc/sysconfig/network-scripts

Verifying the connection is added to the network-scripts path

您可以看到连接 ifcfg-MyFavoriteCafe 已添加。

步骤 8:确认您可以看到连接

检查 MyFavoriteCafe 是否可见为可用连接。 使用以下命令启动连接。 请注意,SOME_CONNECTION_NAME 是您的连接名称 (在本例中为 MyFavoriteCafe)

nmcli con up SOME_CONNECTION NAME

或使用以下命令将其关闭

nmcli con down SOME_CONNECTION NAME

当您添加新连接时,autoconnect 设置为 true,因此如果您重新启动网络实用程序,它将自动启动。

到目前为止,一切顺利。 当您运行以下命令时,连接会显示出来

Verifying the connection is added to the network-scripts path

步骤 9:修改连接为静态

打开文件 /etc/sysconfig/network-scripts/ifcfg-SOME_CONNECTION_NAME(在本例中为 MyFavoriteCafe), 使用文本编辑器,例如 Vim、Emacs 或 Nano。(如果您想要快速了解 Vi 或 Vim,请查看我的入门指南,“Vim 入门:基础知识。”)

要使连接成为静态连接,请修改一个参数并添加三个参数

  1. BOOTPROTO 修改为 static。
  2. 添加 IPADDR。 这可以从 ip add 命令或您连接的网络中找到。
  3. 添加 NETMASK。 这可以从 ip add 命令或您连接的网络中找到。
  4. 添加 GATEWAY。 这可以从 ip add 命令或您连接的网络中找到。

您可能还需要添加 DNSPREFIX 或其他信息,具体取决于您的网络和机器的设置方式。

Modifying the connection to be static

完成此操作后,保存文件。 使用以下命令重新启动网络

systemctl restart network

使用以下命令检查状态

systemctl status network

步骤 10:确认新连接处于活动状态

应该可以了! 但请通过检查新连接是否正常工作来确保。 再次运行 nmcli con show 命令以启动新连接。

Confirm the new connection is active

您还可以 ping 网站地址以验证连接是否正常工作。

Ping a website to confirm the new connection is active

最后,您可以使用以下命令检查设备信息

nmcli dev show DEVICE_NAME

其中 DEVICE_NAME 是您的网络设备的名称。

Confirm the new connection is active

如果您有任何问题或反馈,请在评论中留言。

标签
User profile image.
Bryant Jimin Son 是 GitHub 的 Octocat(这不是正式职称,但他喜欢这样称呼自己),GitHub 是一家以托管世界上大多数开源项目而闻名的公司。 在工作中,他正在探索不同的 git 技术、GitHub Actions、GitHub 安全等。 此前,他曾是 Red Hat 的高级顾问,Red Hat 是一家以其 Linux 服务器和开源贡献而闻名的技术公司。

8 条评论

嗨,Bryant,
感谢这篇好文章。
您可以使用 nmcli 编辑静态网络配置,而不是手动编辑 ifcfg 文件
nmcli conn modify SOME_CONNECTION_NAME ipv4.method manual ipv4.address YOUR_IP_ADDRESS/NETMASK ipv4.gateway YOUR_IP_GATEWAY

nmcli 也可以作为检查网络接口的替代方法
nmcli device

或检查整体网络状态
nmcli

感谢您的反馈。 是的,这也是快速编辑网络配置的一个很好的选择。

回复 作者 fgiudici

好文章!

学习这个工具并充分利用它。

好文章,谢谢。
但是,永远不要使连接成为静态连接。
如果网络由 DHCP 管理,请勿将连接设置为静态,这将导致 IP 地址重复并惹恼网络管理员。 如果您需要静态 IP,请设置 DHCP 保留。
如果网络不是由 DHCP 管理的,则 ip add 将不会返回有效的网络设置。

感谢您的评论,但在某些情况下,您需要建立静态连接。

回复 作者 Luuk Dae (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.