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-enp0sX 和 route-enp0sX 文件/sysconfig/network-scripts 永久保存我们的配置。
首先,让我们打印当前的路由表:
ip route show
从上面的输出中,我们可以看到以下事实:
- 默认网关的IP地址是192.168.0.1,可以通过enp0s3网卡访问。
- 当系统启动时,它启用了到169.254.0.0/16的zeroconf路由(以防万一)。简而言之,如果一台机器设置为通过 DHCP 获取 IP 地址,但由于某种原因未能获取 IP 地址,则会自动为其分配该网络中的地址。底线是,这条路由将允许我们通过 enp0s3 与其他未能从 DHCP 服务器获取 IP 地址的计算机进行通信。
- 最后但并非最不重要的一点是,我们可以通过enp0s3与192.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.20 是 10.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
分别为 enp0s3 和 enp0s8。
至于客户端计算机(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认证所需的网络基本技能。
一如既往,我们期待您的来信,因此请随时使用下面的表格留下您的问题、意见和建议。