网站搜索

RHCE 系列:如何设置和测试静态网络路由 - 第 1 部分


RHCE红帽认证工程师)是红帽公司的一项认证,向企业社区提供开源操作系统和软件,并给予培训、支持和帮助为公司提供咨询服务。

RHCE红帽认证工程师)是一项基于绩效的考试(代号EX300),考试对象拥有额外的技能、知识和能力负责 Red Hat Enterprise Linux (RHEL) 系统的高级系统管理员的要求。

重要:要获得 RHCE 认证,需要获得红帽认证系统管理员 (RHCSA) 认证。

以下是基于红帽企业 Linux 7 考试版本的考试目标,本 RHCE 系列将涵盖这些目标:

要查看您所在国家/地区的费用并注册考试,请查看 RHCE 认证页面。

RHCE系列的第 1 部分以及下一篇文章中,我们将介绍静态路由、数据包过滤和网络地址转换原理的基本但典型的案例。进入游戏。

请注意,我们不会深入介绍它们,而是以有助于迈出第一步并从那里开始构建的方式组织这些内容。

红帽企业 Linux 7 中的静态路由

现代网络的奇迹之一是可以连接计算机组的大量设备,无论是数量相对较少且局限于单个房间的设备,还是同一建筑物、城市、国家或跨洲的多台计算机。

然而,为了在任何情况下有效地实现这一点,需要对网络数据包进行路由,或者换句话说,必须以某种方式规则它们从源到目的地所遵循的路径。

静态路由是为网络数据包指定除默认路由之外的路由的过程,该路由由称为默认网关的网络设备提供。除非通过静态路由另有指定,否则网络数据包将定向到默认网关;使用静态路由,其他路径是根据预定义的标准定义的,例如数据包目的地。

让我们为本教程定义以下场景。我们有一个 Red Hat Enterprise Linux 7 盒子连接到路由器 #1 [192.168.0.1],以访问互联网和 192.168.0.0/24 中的计算机。

第二个路由器(路由器 #2) 有两个网络接口卡:enp0s3 也连接到路由器 #1 以访问互联网并进行通信与 RHEL 7 机器和同一网络中的其他计算机一起使用,而另一个 (enp0s8) 用于授予对内部服务所在的 10.0.0.0/24 网络的访问权限,例如网络和/或数据库服务器。

这种情况如下图所示:

在本文中,我们将重点关注在 RHEL 7 机器上设置路由表,以确保它既可以通过路由器 #1 访问互联网,也可以通过内部网络访问互联网通过路由器#2

RHEL 7中,您将使用 ip 命令通过命令行配置和显示设备和路由。这些更改可以在正在运行的系统上立即生效,但由于它们在重新启动后不会持续存在,因此我们将在 /etc 中使用 ifcfg-enp0sXroute-enp0sX 文件/sysconfig/network-scripts 永久保存我们的配置。

首先,让我们打印当前的路由表:

ip route show

从上面的输出中,我们可以看到以下事实:

  1. 默认网关的IP地址是192.168.0.1,可以通过enp0s3网卡访问。
  2. 当系统启动时,它启用了到169.254.0.0/16的zeroconf路由(以防万一)。简而言之,如果一台机器设置为通过 DHCP 获取 IP 地址,但由于某种原因未能获取 IP 地址,则会自动为其分配该网络中的地址。底线是,这条路由将允许我们通过 enp0s3 与其他未能从 DHCP 服务器获取 IP 地址的计算机进行通信。
  3. 最后但并非最不重要的一点是,我们可以通过enp0s3192.168.0.0/24网络内的其他盒子进行通信,其IP地址为192.168.0.18 >。

这些是您必须在此类设置中执行的典型任务。除非另有说明,否则应在路由器#2中执行以下任务:

确保所有 NIC 均已正确安装:

ip link show

如果其中之一已关闭,请将其启动:

ip link set dev enp0s8 up

并为其分配 10.0.0.0/24 网络中的 IP 地址:

ip addr add 10.0.0.17 dev enp0s8

哎呀!我们输入的 IP 地址有误。我们必须删除之前分配的那个,然后添加正确的那个(10.0.0.18):

ip addr del 10.0.0.17 dev enp0s8
ip addr add 10.0.0.18 dev enp0s8

现在,请注意,您只能通过本身已可达的网关添加到目标网络的路由。因此,我们需要为 enp0s3 分配 192.168.0.0/24 范围内的 IP 地址,以便我们的 RHEL 7 机器可以与其通信:

ip addr add 192.168.0.19 dev enp0s3

最后,我们需要启用数据包转发:

echo "1" > /proc/sys/net/ipv4/ip_forward

并停止/禁用(暂时 – 直到我们在下一篇文章中介绍数据包过滤)防火墙:

systemctl stop firewalld
systemctl disable firewalld

回到我们的 RHEL 7 框 (192.168.0.18),让我们配置一条通过 192.168.0.19 到 10.0.0.0/24 的路由路由器#2中的enp0s3):

ip route add 10.0.0.0/24 via 192.168.0.19

之后,路由表如下所示:

ip route show

同样,在 10.0.0.0/24 中尝试访问的计算机中添加相应的路由:

ip route add 192.168.0.0/24 via 10.0.0.18

您可以使用 ping 测试基本连接:

RHEL 7 框中,运行

ping -c 4 10.0.0.20

其中 10.0.0.2010.0.0.0/24 网络中 Web 服务器的 IP 地址。

在 Web 服务器 (10.0.0.20) 中,运行

ping -c 192.168.0.18

您可能还记得,其中 192.168.0.18 是我们的 RHEL 7 计算机的 IP 地址。

或者,我们可以使用 tcpdump(您可能需要使用 yum install tcpdump 安装它)来检查我们的 RHEL 7 机器和位于 10.0.0.20 的 Web 服务器之间通过 TCP 的 2 路通信

为此,我们在第一台机器上启动日志记录:

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

然后从同一系统中的另一个终端 telnet 到 Web 服务器中的端口 80(假设 Apache 正在侦听该端口;否则,指示以下命令中的正确端口):

telnet 10.0.0.20 80

tcpdump 日志应如下所示:

连接已正确初始化的位置,我们可以通过查看 RHEL 7 盒子 (192.168.0.18) 和 Web 服务器 (10.0.0.20)。

请记住,当您重新启动系统时,这些更改将会消失。如果您想让它们持久存在,您将需要在我们执行上述命令的同一系统中编辑(或创建,如果它们尚不存在)以下文件。

虽然对于我们的测试用例来说并不是绝对必要的,但您应该知道 /etc/sysconfig/network 包含系统范围的网络参数。典型的 /etc/sysconfig/network 如下所示:

Enable networking on this system?
NETWORKING=yes
Hostname. Should match the value in /etc/hostname
HOSTNAME=yourhostnamehere
Default gateway
GATEWAY=XXX.XXX.XXX.XXX
Device used to connect to default gateway. Replace X with the appropriate number.
GATEWAYDEV=enp0sX

当涉及到为每个 NIC 设置特定变量和值时(就像我们为路由器 #2 所做的那样),您必须编辑 /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-enp0s8

根据我们的案例,

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.19
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NAME=enp0s3
ONBOOT=yes

TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.18
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
NAME=enp0s8
ONBOOT=yes

分别为 enp0s3enp0s8

至于客户端计算机(192.168.0.18)中的路由,我们需要编辑/etc/sysconfig/network-scripts/route-enp0s3

10.0.0.0/24 via 192.168.0.19 dev enp0s3

现在重新启动您的系统,您应该会在表格中看到该路由。

概括

在本文中,我们介绍了Red Hat Enterprise Linux 7中静态路由的基本知识。尽管场景可能有所不同,但此处介绍的案例说明了执行此任务所需的原则和程序。在结束之前,我建议您查看 Linux 文档项目站点中保护和优化 Linux 部分的第 4 章,以获取有关此处涵盖的主题的更多详细信息。

关于保护和优化 Linux:黑客解决方案 (v.3.0) 的免费电子书 – 这本 800+ 电子书包含全面的 Linux 安全提示以及如何安全、轻松地使用它们配置基于 Linux 的应用程序和服务。

现在下载

下一篇我们会通过包过滤和网络地址转换来总结RHCE认证所需的网络基本技能。

一如既往,我们期待您的来信,因此请随时使用下面的表格留下您的问题、意见和建议。