在我们日常运维中,有时候难免会遇到某个设备必须为多个网段提供服务的情况。这种情况有时候是设备唯一,也有可能是服务唯一,也或许是配置较为复杂,数据量较大导致的。而这种情况下,如果遇到多个区域之间有隔离,那么就必须设置多网卡的形式。
但是我们知道,默认路由是具有唯一性的,就是 “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
七、常见报错排查手册


网友留言: