多网卡,多VLAN,多网段路由(route)配置方案

工作日常 0 225 团子精英 收藏

在我们日常运维中,有时候难免会遇到某个设备必须为多个网段提供服务的情况。这种情况有时候是设备唯一,也有可能是服务唯一,也或许是配置较为复杂,数据量较大导致的。而这种情况下,如果遇到多个区域之间有隔离,那么就必须设置多网卡的形式。

但是我们知道,默认路由是具有唯一性的,就是 “0.0.0.0/0.0.0.0 GW 网关地址 ”  如果想走其他通路,就必须手动设置路由。

网络结构如下:

有3个区域分别是:

10.0.X.X
10.1.X.X
10.2.X.X

每个网段都有大量的vlan,这些vlan以24为子网掩码,以254为网关。例如:

10.0.1.0/24   10.0.1.254
10.0.10.0/24 10.0.10.254
10.0.100.0/24 10.0.100.254

10.1.1.0/24   10.1.1.254
10.1.10.0/24 10.1.10.254
10.1.100.0/24 10.1.100.254

10.2.1.0/24  10.2.1.254
10.2.10.0/24 10.2.10.254
10.2.100.0/24 10.2.100.254



有一台mirrors服务器,这个服务器存放了大量本地存储的mirror库。那么如何让三个网段都能联通这个服务器呢。

通过搜索引擎,我们搜索到很多关于静态路由的设置方法。但是你会发现,这些仅仅是一些基础而已。

具体如何设置,请看以下操作:

一、确定一个基础网段

这个网段就是你mirrors服务器的主区域。例如我们选择10.0.X.X网段为主区域。设置IP地址如下:

10.0.1.200/24  10.0.1.254  同时通过10.0网段的交换机或者防火墙配置 其他vlan与这个IP地址的互通。

其网卡名为ens160(假设)


二、增加网卡,可以是内置网卡,也可以是外置网卡。配置IP,注意此处的子网掩码需要遵循大网段原则。

例如10.1网段,我们不能因为配置了10.1.1.200这个IP,就配置24的子网掩码,我们要兼顾10.1网段下其他vlan

因此10.1网段的IP配置为:

10.1.1.200/16  无网关

其网卡名为ens192(假设)


三、增加网卡配置10.2网段

同10.1网段一样,配置10.2网段的IP地址,配置如下:

10.2.1.100/16  无网关

其网卡名为ens224(假设)


四、手动配置路由进行测试

为10.1网段增加路由 ,命令如下

route add -net 10.1.0.0/16 gw 10.1.1.254 ens192

为10.2网段增加路由 ,命令如下

route add -net 10.2.0.0/16 gw 10.2.1.254 ens224

此处需要注意配合上面配置的IP地址,如果你在配置IP的时候的子网掩码与配置路由时候的子网掩码不一致,会报错如下

Network unreachable   网络不可达


五、为什么要这么配置。

1、主网卡(ens160)绑定基础网段(10.0.X.X),带网关保证自身网络连通性,同时依托交换机 / 防火墙配置,覆盖该网段下所有 VLAN 互通。

2、额外网卡(ens192、ens224)采用 / 16 子网掩码,直接覆盖对应大网段(10.1.X.X、10.2.X.X)的所有 VLAN,无需单独配置每个 VLAN 的 IP。

3、静态路由明确绑定 “目标网段 - 网关 - 网卡”,解决默认路由唯一性问题,让不同网段流量走对应网卡通路。

4、子网掩码选择:/16 掩码可覆盖 10.X.0.0-10.X.255.255 的所有地址,刚好匹配每个区域下的大量 VLAN,避免逐 VLAN 配置 IP 的繁琐。

5、网关配置原则:仅主网卡设网关(10.0.1.254),额外网卡不设网关,防止路由冲突;静态路由中指定的网关(10.1.1.254、10.2.1.254),是对应网段的统一出口。

6、路由绑定目的:通过 “route add” 命令明确流量走向,确保 10.1.X.X 网段流量走 ens192 网卡、10.2.X.X 网段流量走 ens224 网卡,避免流量误走主网卡导致网络不可达。


六、具体配置如下:

1、配置主网卡(ens160,10.0.X.X 网段)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes  # 主网卡作为默认路由
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=10.0.1.200
PREFIX=24  # 子网掩码255.255.255.0(/24)
GATEWAY=10.0.1.254  # 主网段网关
DNS1=8.8.8.8  # 可选,根据实际环境配置



2、配置 10.1.X.X 网段网卡(ens192)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=no  # 非默认路由
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=10.1.1.200
PREFIX=16  # 子网掩码255.255.0.0(/16,覆盖10.1.0.0-10.1.255.255)
# 不配置GATEWAY,避免路由冲突



3、配置 10.2.X.X 网段网卡(ens224)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=no  # 非默认路由
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=10.2.1.100
PREFIX=16  # 子网掩码255.255.0.0(/16,覆盖10.2.0.0-10.2.255.255)
# 不配置GATEWAY,避免路由冲突



4、配置静态路由(永久生效)


# 10.1.X.X网段路由(通过ens192网卡,网关10.1.1.254)
cat > /etc/sysconfig/network-scripts/route-ens192 << EOF
10.1.0.0/16 via 10.1.1.254 dev ens192
EOF
# 10.2.X.X网段路由(通过ens224网卡,网关10.2.1.254)
cat > /etc/sysconfig/network-scripts/route-ens224 << EOF
10.2.0.0/16 via 10.2.1.254 dev ens224
EOF



5、重启网络服务生效

# CentOS 7systemctl restart network# CentOS 8/RHEL 8nmcli connection reload
nmcli connection up ens160
nmcli connection up ens192
nmcli connection up ens224



6、检查 IP 配置是否正确


ip addr show ens160  # 确认10.0.1.200/24、网关存在
ip addr show ens192  # 确认10.1.1.200/16、无网关
ip addr show ens224  # 确认10.2.1.100/16、无网关



7、检查路由表是否生效

route -n  # 查看所有路由,应包含: 
# 10.0.0.0/24  via 0.0.0.0  dev ens160 (主网段直连) 
# 10.1.0.0/16  via 10.1.1.254  dev ens192 (静态路由) 
# 10.2.0.0/16  via 10.2.1.254  dev ens224 (静态路由) 
# 0.0.0.0/0    via 10.0.1.254  dev ens160 (默认路由)



8、从各网段的主机测试到服务器的连通性(例如):

# 在10.0.10.XXX主机上 
ping -c 3 10.0.1.200 
 # 在10.1.100.XXX主机上 
ping -c 3 10.1.1.200 
 # 在10.2.10.XXX主机上 
ping -c 3 10.2.1.100



七、常见报错排查手册

1. 报错:Network unreachable(配置路由时)

  • 原因 1:网卡 IP 的子网掩码与路由网段不匹配(如网卡用 / 24,路由用 / 16)。排查:ip addr检查网卡 PREFIX 是否为 / 16(10.1 和 10.2 网段),路由网段是否为 10.1.0.0/16 和 10.2.0.0/16。解决:确保网卡子网掩码(/16)包含路由网段(10.1.0.0/16)。
  • 原因 2:路由网关不在网卡所在网段内。排查:10.1.1.254 是否在 ens192 的 / 16 网段(10.1.0.0-10.1.255.255),10.2.1.254 是否在 ens224 的 / 16 网段。解决:网关必须属于网卡 IP 所在的大网段(如 10.1.1.254 属于 10.1.0.0/16)。

2. 报错:某网段主机无法 ping 通服务器

  • 原因 1:服务器对应网卡未启用。排查:ip link show ens192(或 ens224),确认状态为UP。解决:nmcli connection up ens192启用网卡。
  • 原因 2:静态路由未生效。排查:route -n是否存在 10.1.0.0/16 和 10.2.0.0/16 的路由条目。解决:检查/etc/sysconfig/network-scripts/route-ens192配置是否正确,重启网络服务。
  • 原因 3:交换机 / 防火墙隔离。排查:服务器本地能 ping 通对应网段网关(如 10.1.1.254),但主机不能 ping 通服务器,可能是中间设备 ACL 限制。解决:联系网络团队开放服务器 IP 与对应网段的互通规则。

3. 报错:默认路由冲突(多网关导致网络混乱)

  • 原因:额外网卡(ens192/ens224)配置了 GATEWAY,与主网卡默认路由冲突。

    排查:cat /etc/sysconfig/network-scripts/ifcfg-ens192确认无 GATEWAY 配置。

    解决:删除额外网卡的 GATEWAY 配置,仅保留主网卡的默认路由。

通过以上配置和排查,可确保三个网段的主机正常访问 mirrors 服务器。若遇特殊网络环境(如 VLAN 标签、bonding 等),需额外配置对应参数(如VLAN=yesMASTER=bond0等)。


相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码