如何在 Linux 中配置 IPv4 和 IPv6 地址如何在 Linux 中配置 IPv4 和 IPv6 地址如何在 Linux 中配置 IPv4 和 IPv6 地址如何在 Linux 中配置 IPv4 和 IPv6 地址
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 中配置 IPv4 和 IPv6 地址

作为系统管理员,您偶尔会负责配置或设置服务器的 IP 地址,以满足不断变化的网络要求。因此,拥有分配 IP 地址和配置主机名解析的基本技能对于确保服务器符合网络拓扑至关重要。

在本主题中,我们将首先了解什么是 IP 地址,并深入研究 IPv4 和 IPv6 之间的差异。最后,我们将演示如何在 Linux 系统上配置 IPV4 和 IPv6 地址以及主机名解析。

什么是IP地址?

IP 地址代表互联网协议,是识别TCP/IP网络中设备的唯一数字标识符或地址。这可以是局域网 (LAN) 或互联网。

IP 地址允许网络中的设备(例如服务器、路由器、交换机以及连接到网络的任何其他网络设备)之间进行通信。

IPv4 与 IPv6 之间的区别

IP 地址大致可分为两类:IPv4 和 IPv6。

IPv4地址

IPv4(IP 版本 4)地址是一个 32 位数字,分为四个八位字节,每个八位字节以句点或小数点分隔。这通常称为点分十进制格式。

每个八位位组由 8 个位组成,这些位共同代表一个字节。 IPv4地址可以进一步分为两部分。第一部分代表网络部分,而其余部分定义主机部分。

网络部分

IP 地址的网络部分标识 IP 地址所属的类别。计算机网络中使用的 IP 地址分为 3 类:A 类、B 类和C 类。

什么是 IPv4 A 类

在A 类网络类型中,前 8 位(八位字节)定义网络,而其余 24 位则为网络中的主机保留。

  • 公共 IP 地址范围从 1.0.0.0 到 127.0.0.0。
  • 私有 IP 地址范围从 10.0.0.0 到 10.255.255.255。

地址127.0.0.0到127.255.255.255保留用于环回和其他诊断目的,因此不会分配给网络中的主机。

A 类默认子网掩码为255.0.0.0,前 8 位用于标识网络。其余 24 位指定给主机。此类用于控制大量主机的网络。它最多可生成 16,777,214 个主机和 126 个网络。

什么是 IPv4 B 类

在B类中,前两个八位字节或16位用于定义网络ID。

  • 公共 IP 地址范围从 128.0.0.0 到 191.255.0.0。
  • 私有IP范围是从172.16.0.0到172.31.255.255。

默认子网掩码为255.255.0.0,其中前 16 位定义网络 ID。此类 IP 通常用于中大型网络,每个网络生成 65,534 个主机,总共有 16,382 个网络。

什么是 IPv4 C 类

此类 IP 主要用于小型网络,例如家庭网络或小型办公室或企业。

在C类网络中,前两个网络位设置为1,而第三个网络位设置为0,即1 1 0。前三个八位字节的其余21位定义网络ID,并且最后一个八位字节定义了主机数量。

因此,C 类 IP 地址产生的网络数量最多,为 2,097,150,每个网络的主机数量最少,为 254 台主机。

  • 公网IP地址范围为192.0.0.0至223.255.255.0。
  • 私有IP范围是从192.168.0.0到192.168.255.255。

子网桅杆为 255.255.255.0。

主机部分

IP 地址的其余部分是主机部分,该部分决定网络中主机的数量。该部分唯一标识网络中的主机。同一网络中的所有主机共享相同的网络部分。

例如,以下主机IP地址属于同一网络。

192.168.50.15
192.168.50.100
192.168.50.90

IPv6地址

IPv6 地址是一个 128 位长的字母数字地址,分为八组,每组包含 16 位。

与 IPv4 地址一样,它分为两部分:网络 和主机 部分。网络部分组成前 64 位,用于路由目的。其余 64 位标识节点上的地址。

以下是完整 IPv6 地址的示例。

fe80:ce00:0000:5029:45ff:0000:211E:469C

这可以进一步缩短如下。

fe80:ce00:0:5029:45ff:0:211E:469C

IPv6 的开发是为了解决 IPv4 地址即将耗尽的问题。如您所知,IPv6 包含 128 位,是 IPv4 的位数(32 位)的四倍。这些额外的位提供了更多的寻址空间,这将补充 IPV4 提供的地址。

尽管 IPv6 将在不久的将来取代 IPv4 寻址,但许多组织和 ISP 仍然使用并很大程度上依赖 IPv4 地址。

事实上,您几乎不需要在设备上配置 IPv6 来提供连接。事实上,IPv6 取代或逐步淘汰 IPv4 还需要一段时间。

动态 (DHCP) 和静态 IP 配置

客户端计算机或连接到网络的任何端点设备上的 IP 分配是使用 DHCP 协议或静态分配 IP 地址的手动配置完成的。

DHCP IP 地址

DHCP(动态主机配置协议)是一种客户端-服务器协议,可为网络上的客户端系统动态分配 IP 地址。 DHCP 服务器(在大多数情况下是路由器)包含一个地址池,在一段时间内将其出租给网络上的客户端设备。因此,它简化了 IP 地址的配置并使之更加高效。一旦租用时间到期,客户端就会获取一个新的 IP 地址。

默认情况下,大多数系统都配置为使用 DHCP 协议自动获取 IP。这消除了两个设备共享相同 IP 地址的网络中发生 IP 冲突的可能性。

DHCP 的缺点是一旦租约到期,IP 地址就会发生变化。如果服务器设置为通过 DHCP 获取 IP,一旦 IP 地址发生更改,就会导致连接问题。这就是静态 IP 配置的用武之地。

静态IP地址

在静态 IP 配置中,IP 地址是在客户端系统(尤其是服务器)上手动配置的。与动态分配的地址不同,静态配置的 IP 地址保持不变且不会改变。

然而,静态配置需要网络管理员进行大量工作。他们必须手动登录并配置静态 IP 以及其他详细信息,例如子网掩码、DNS 服务器和网关 IP。此外,他们需要跟踪所有具有静态 IP 地址的客户端系统。

在本教程中,我们将重点介绍如何在各种系统上静态配置 IP 地址。

如何在 Linux 中配置 IPv4 网络

在本节中,我们将转移焦点并了解如何在 Linux 上配置 IPv4 地址。我们将了解如何在 Debian、Ubuntu 以及稍后的 RHEL 和 Red Hat 发行版上执行此操作。

在 Debian 上配置 IPv4 地址

首先,检查 Linux 系统当前的 IP 配置总是一个好主意。

ip a

这会显示您的网络接口的 IP 地址和状态。从输出来看,我们有两个接口。

第一个是 lo 接口,它是仅为测试目的保留的环回地址,并且始终指定为地址127.0.0.1。环回地址不与任何物理网络接口关联。

第二个接口是enp0s3(这可能与您的情况不同)。这是映射到服务器上物理网卡的活动网络接口。

其 IPv4 地址由 inet 参数表示,在本例中为 192.168.2.113,通过 DHCP 协议分配。

在 Debian 中,网络配置包含在 /etc/network/interfaces 文件中。您可以使用 nano 或 vim 编辑器查看它。

sudo nano /etc/network/interfaces

要配置静态 IPv4 地址,请删除或注释 allow-hotplug 和 dhcp 行,然后添加以下配置。

The primary network interface
auto enp0s3
iface enp0s3  inet static
 address 192.168.2.150
 netmask 255.255.255.0
 gateway 192.168.2.1
 dns-nameservers 192.168.2.1 8.8.8.8

在此配置中,192.168.2.150 将是我们的新 IPv4 地址,其网络掩码或网络子网为 255.255.255.0。默认网关(也恰好是路由器的 IP)是 192.168.2.1,而 DNS 名称服务器是 192.168.2.1 和 8.8.8.8 。

保存更改并退出文件。

要应用更改,请重新启动网络服务。

sudo systemctl restart networking.service

然后确认没有遇到错误

sudo systemctl status networking.service

注意:如果您通过 SSH 连接到服务器,您的连接将会断开并断开连接。要再次访问服务器,请使用新的 IP 地址进行连接。

要确认服务器已获取新 IP,请运行以下命令:

ip -c addr show enp0s3

下面的输出确认我们已成功配置静态 IPv4 地址。

在 Ubuntu 上配置 IPv4 地址

在Ubuntu 18.04及更高版本中,Netplan是默认的网络配置工具,它可以通过YAML文件轻松配置网络设置。根据 Canonical 的说法,netplan 处理 YAML 文件并为 systemd-network 或 NetworkManager 生成网络配置。

现代 Ubuntu 发行版的网络配置文件位于 /etc/netplan 目录中。对于桌面系统,该目录下的配置文件为01-network-manager-all.yaml。对于服务器,该文件为 /etc/netplan/01-netcfg.yaml。

我们再次检查当前由 DHCP 自动分配的 IP 地址。

ip a

我们当前的 IP 是 192.168.2.106。我们将其设置为 192.168.2.180。

要分配 IPv4 地址,我们将打开网络配置文件。

sudo nano /etc/netplan/01-network-manager-all.yaml

默认情况下,以下行自动将系统设置为使用 DHCP 进行 IP 分配。

添加以下行以分配静态 IP。

 ethernets:
        enp0s3:
            addresses:
                - 192.168.2.180/24
            nameservers:
                addresses: [8.8.8.8, 8.8.4.4]
            routes:
                - to: default
                  via: 192.168.2.1

让我们分解一下所使用的参数:

  • enp0s3 – 是网络接口的名称。
  • 地址 – 配置接口上的 IPv4 地址。接下来是 CIDR,在本例中为/24,这意味着网络子网为 255.255.255.0。
  • 名称服务器 – 这指定要使用的 DNS 服务器。在本例中,我们使用 8.8.8.8 和 8.8.4.4,它们是 Google 的名称服务器。
  • 路由 – 这会设置您系统上的网关。

请记住替换接口名称和 IP 配置以匹配您的网络环境。

保存更改并退出。

要应用所做的更改,请运行以下命令:

sudo netplan apply

再次验证更改是否已反映,如图所示。

ip -c addr show enp0s3

在 RHEL 上配置 IPv4 地址

在 Red Hat 发行版中,nmcli(NetworkManager 命令行界面)命令行工具是配置 IPv4 地址的最首选方法之一。它使用 NetworkManager 服务来执行此操作。

要查看连接到系统的网络接口名称,请执行以下命令:

nmcli device

要显示活动连接,请运行以下命令:

nmcli connection show

在 RHEL 9 和其他基于 RHEL 的 Red Hat 发行版中,网络配置文件位于 /etc/sysconfig/network-scripts 目录中。在我们的例子中,配置文件是ifcfg-enp0s3。

我们将在接口“enp0s3”上分配一个静态 IPv4 地址,如下所示:

IP: 192.168.2.100
netmask: 255.255.255.0
gateway: 192.168.2.1
dns: 8.8.8.8

为此,我们将运行以下命令:

sudo nmcli con mod enp0s3 ipv4.addresses 192.168.2.100/24
sudo nmcli con mod enp0s3 ipv4.gateway 192.168.2.1
sudo nmcli con mod enp0s3 ipv4.method manual
sudo nmcli con mod enp0s3 ipv4.dns "8.8.8.8"
sudo nmcli con up enp0s3 

这些命令将更改保存在关联的网络配置文件中。您可以使用您喜欢的文本编辑器查看该文件

sudo nano etc/sysconfig/network-scripts ifcfg-enp0s3

要确认新的 IP 地址,请运行以下命令

ip addr show enp0s3

您还可以运行不带任何命令行选项的nmcli命令,活动界面将显示在顶部。

nmcli

如何在 Linux 中配置主机名

配置良好的系统应该能够将其主机名或域名解析为配置的 IP 地址。通常,主机名和 IP 地址映射是在 /etc/hosts 文件中完成的。

要配置主机名解析,请将主机条目添加到 /etc/hosts 文件中。该条目包括主机的 IP 地址和主机名,如图所示。

echo '192.168.2.150  debian-11' >> /etc/hosts

请务必更新要连接到同一本地网络上的系统的每个 Linux 系统上的 /etc/hosts 文件。

完成后,您可以成功 ping Linux 机器的主机名。

ping debian-11 -c 5

结论

在本教程中,我们介绍了 IPv4 和 IPv6 IP 地址,并探讨了如何在 Linux 上配置 IPv4 网络和主机名解析。

©2015-2025 艾丽卡 support@alaica.com