这是我在这些委员会上的第一个问题。
我有一个配置,其中4个子网都想互相通信,但每个子网都需要通过自己的ISP访问互联网。
我有一个 CentOS7 Linux 机器,有 5 个网卡,我提供了一个小插图(抱歉,我的绘画技巧很差)
图中右侧的4个子网(192.168.x0.0/24)需要相互通信。在第 5 个 NIC 上,我创建了 4 个带有 /30 子网的虚拟接口(eth 5.1、5.2 等),每个接口都与 ISP 的调制解调器(其 IP 为 192.168.1x0.253)进行通信。所有 ISP 调制解调器都通过交换机连接到 Eth5。
到目前为止我只到达了iptables配置(我什至不确定是否正确):
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A FORWARD -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.110.252/30 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.120.252/30 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.130.252/30 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.140.252/30 -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.20.0/24 -i etg1 -o etg2 -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.30.0/24 -i etg1 -o etg3 -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.40.0/24 -i etg1 -o etg4 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.10.0/24 -i etg2 -o etg1 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.30.0/24 -i etg2 -o etg3 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.40.0/24 -i etg2 -o etg4 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.10.0/24 -i etg3 -o etg1 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.20.0/24 -i etg3 -o etg2 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.40.0/24 -i etg3 -o etg4 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.10.0/24 -i etg4 -o etg1 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.20.0/24 -i etg4 -o etg2 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.30.0/24 -i etg4 -o etg3 -j ACCEPT
COMMIT
# Completed on Sun Sep 13 17:04:45 2015
# Generated by iptables-save v1.4.21 on Sun Sep 13 17:04:45 2015
*nat
:INPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.20.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.30.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.40.0/24 -j MASQUERADE
COMMIT
我当前的状态是所有4个子网(192.168.x0.0/24)都可以相互通信,都可以访问每个ISP的调制解调器接口(例如192.168.10.0/24可以访问192.168.110.253),但互联网流量不是被路由通过。
我没有使用 NetworkManager,只是使用普通的 network.service。我还启用了ip转发。
我相当确定我需要进行基于源的路由,但我一生都无法理解我应该做什么。也许我一直以来都做错了。
有人可以解释一下吗?我是网络新手,我在发布此内容之前尝试过谷歌搜索并搜索答案,但无济于事。
谢谢你的时间