管理 RHEL 8 上的两个网络接口

管理 RHEL 8 上的两个网络接口

我希望在托管 Web 服务(Web 服务器、API、gitlab...)的双网络 RHEL8 企业计算机上设置配置。该机器有两个网络接口:eno1 用于本地网络,eno2 用于公司网络。目标是能够在两个网络上提供 WEB 服务。 WEB 服务还必须能够在 WEB 上发出请求,而且还必须能够向本地或公司网络上的其他服务器发出请求。

接下来是一个简化的网络图,其中当前服务器是“Web 服务器”:

简化网络

网页界面配置:

# eno1 interface
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=eno1
UUID=40eefeb5-cf77-4332-9b13-5efff8ca1191
DEVICE=eno1
ONBOOT=yes
IPADDR=192.168.0.4
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.168.0.254
IPV4_ROUTE_METRIC=100
# eno2 interface
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=eno2
UUID=b0ba0e02-f62a-48bb-95b3-e4411316d102
DEVICE=eno2
ONBOOT=yes
IPV4_ROUTE_METRIC=100

路由表已自动生成(ip Route):

default via 172.26.254.254 dev eno2 proto dhcp src 172.26.0.1 metric 100 
default via 192.168.0.254 dev eno1 proto static metric 100 
172.26.0.0/16 dev eno2 proto kernel scope link src 172.26.0.1 metric 100 
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.4 metric 100 

在详细说明预期行为和实际行为之前,最后一件事是本地网络上的 VLAN 间路由已实现。它考虑了 WEB 服务所需的所有端口上的双向通信,也考虑了在此情况下使用的计算机之间的 ICMP 协议。

会发生什么 :

这是 NetworkManager 启动时所需的行为:

  • 可从 VLAN 1 中的所有服务器(例如服务器 B)访问 Web 服务
  • 可从所有 VLAN 2 服务器(例如服务器 A)访问 Web 服务
  • 可以从服务器 D 或公司网络中的任何其他服务器访问 Web 服务。
  • 网络服务器能够访问网络
  • Web服务器能够请求Gitlab服务器和LDAP服务器

根据最后启动的接口,我有两种不同的行为。

如果最后启动的接口是 eno1 (本地网络接口):

  • 可从 VLAN 1 中的所有服务器访问 Web 服务
  • 网页服务不是可从所有 VLAN 2 服务器访问
  • 可以从服务器 D 或公司网络中的任何其他服务器访问 Web 服务。
  • 网络服务器不是能够访问网络
  • 网络服务器不是能够请求Gitlab服务器和LDAP服务器

如果最后启动的接口是eno2(公司网络接口):

  • 网页服务不是可从 VLAN 1 中的所有服务器访问
  • 可从所有 VLAN 2 服务器访问 Web 服务
  • 可以从服务器 D 或公司网络中的任何其他服务器访问 Web 服务。
  • 网络服务器能够访问网络
  • Web服务器能够请求Gitlab服务器和LDAP服务器

我的测试:

我已经尝试将eno1的子网掩码更改为192.168.0.0/22,同时保留网关并更改以下路由

192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.4 metric 100 

经过

192.168.0.0/22 dev eno1 proto kernel scope link src 192.168.0.4 metric 100 

但问题仍然在这里。

另外,我尝试使用接口指标,删除 192.168.0.0/24 默认网关,尝试使用自定义路由指令在网络脚本文件夹中添加规则和路由文件,但没有任何结论。

先感谢您 !

答案1

我认为你让它变得比需要的更复杂。

我要做的是添加 1 个默认路由并将其路由到互联网/上游路由器。不需要另一个默认路由。

为 VLAN2 中的设备添加额外路由

ip add route -n net 192.168.2.0/24 via 192.168.2.254 dev eno1

添加NM中的路由

这是假设您的北侧交换机可以路由 VLAN,实际上取决于交换机及其配置。

北边的交换机或服务器需要知道如何到达 192.168.0.0/24 网络,但我认为它已经知道了。

我认为没有更多的事情了。

如果切换到 VLAN2 出现问题,您可以将另一个 IP 添加到服务器的北侧,并让服务器使用 VLAN2 标记其数据包并允许其进入该网络。

相关内容