需求

需求是这样的:

有一台刷了OpenWRT的Newifi D1无线路由器作为二级路由,插入了4G网卡,此时有了WAN。为了同时能访问家里的内网,需要新建一个WAN2。
同时需要配置一下相应的路由规则。

拓扑图如下
Xnip2023-06-18_18-47-26.png

建立WAN2

以前没搞过双WAN,只依稀知道可以用MWAN3实现双线规则之类的操作。但我这个需求很简单,没必要出动MWAN3,于是咨询了ChatGPT。
首先要做的当然是创建好WAN2,注意网关跃点不能是默认的0,得大一些,防止路由冲突。我这里默认WAN是0,WAN2于是设置成是10。
Xnip2023-06-18_18-14-58.png
Xnip2023-06-18_18-15-19.png
防火墙我设置了一个新的WAN2防火墙
Xnip2023-06-18_18-17-52.png

增加防火墙规则

保存和应用后,WAN2就初步可用了,此时SSH到OP里,是可以正常ping通10.0.0.1网段的。但是LAN(192.168.1.0/24)下的设备并不能访问到10.0.0.1网段。于是需要增加防火墙规则:

iptables -t mangle -I PREROUTING -s 192.168.1.0/24 -d 10.0.0.0/24 -j MARK --set-mark 2
ip rule add fwmark 2 table 2
ip route add default via 10.0.0.1 dev WAN2 table 2

把这些规则加到网络-防火墙-自定义规则中,重启防火墙即可生效
Xnip2023-06-18_18-23-26.png
具体解释如下(取自ChatGPT)
这些命令是用于在 OpenWrt 上设置流量路由规则的 iptables、ip rule 和 ip route 命令的示例。

  1. iptables -t mangle -I PREROUTING -s 192.168.1.0/24 -d 10.0.0.0/24 -j MARK --set-mark 2

    • iptables 是一个用于配置 Linux 内核防火墙规则的工具。
    • -t mangle 表示使用 mangle 表,mangle 表用于修改数据包的特定字段。
    • -I PREROUTING 表示将规则插入到 PREROUTING 链中,该链在数据包进入路由之前被处理。
    • -s 192.168.1.0/24 指定源地址为 192.168.1.0/24 的流量匹配该规则。
    • -d 10.0.0.0/24 指定目标地址为 10.0.0.0/24 的流量匹配该规则。
    • -j MARK --set-mark 2 表示将匹配的流量设置标记为 2。

这条规则的作用是在数据包经过 PREROUTING 链时,对源地址为 192.168.1.0/24、目标地址为 10.0.0.0/24 的流量进行标记,将其标记设置为 2。这样标记后的流量可以在后续的路由过程中被识别和处理。

  1. ip rule add fwmark 2 table 2

    • ip rule 是一个用于配置 Linux 内核路由规则的命令。
    • add 表示添加一条新的路由规则。
    • fwmark 2 表示匹配标记为 2 的数据包。
    • table 2 表示将匹配的数据包路由到表 2。

这条规则的作用是添加一条新的路由规则,使得被标记为 2 的流量被路由到表 2。

  1. ip route add default via 10.0.0.1 dev WAN2 table 2

    • ip route 是一个用于配置 Linux 内核路由表的命令。
    • add 表示添加一条新的路由规则。
    • default 表示默认路由,即指向所有未匹配的流量的下一跳。
    • via 10.0.0.1 表示下一跳网关的 IP 地址为 10.0.0.1。
    • dev WAN2 表示出接口为 WAN2 的网络设备。
    • table 2 表示将该路由规则添加到表 2。

这条规则的作用是将标记为 2 的流量的默认路由设置为通过 WAN2 接口,网关为 10.0.0.1。这样,被标记为 2 的

流量将会通过 WAN2 接口发送出去。

请注意,这些命令中的参数和值可能需要根据您的实际网络配置进行调整。确保适当地替换 IP 地址、接口名称和标记值以匹配您的环境。

进一步的防火墙设置

为了使10.0.0.0/24网段内的设备,也能访问到192.168.1.1网段的设备,WAN2就完全放开了,反正也是纯内网。
Xnip2023-06-18_18-32-19.png
Xnip2023-06-18_18-32-27.png
另外需要在10.0.0.0/24网段的主路由下,配置上静态路由
Xnip2023-06-18_18-38-25.png

测试

此时在LAN(192.168.1.0/24)下的设备访问10.0.0.0/24网段内的设备,就能正常访问了。
Xnip2023-06-18_18-27-16.png
同时10.0.0.0/24网段内设备,也能访问192.168.1.0/24网段了。
Xnip2023-06-18_18-36-37.png

发表评论