目前是纯属知其然不知其所以然的状态,特求答疑解惑。
- IP 动态伪装和 MSS 钳制到底是干啥的?参考文档:OpenWrt 设置静态路由实现跨网段访问
- 我以下的方案 2 是做这件事情的最佳实践吗?
- openwrt 的防火墙区域到底是做什么的?看起来也有转发和 NAT 的作用?
- 接口配置和不配置网关影响 default 路由?——就是一个接口如果不写默认网关,那么这个接口是不是就不会生成 default 路由?如果多个接口都写了默认网关,那么就会生成多个 default 的路由?
问题和解决方案
问题
之前的提问:
https://www.v2ex.com/t/852993
OPENWRT 的某个接口接入了另外一个子网,用 DHCP/STATIC 的方式获取 ip 地址之后,OP 本身可以直接访问子网,但是 OPENWRT 作为 br-lan 下的其他设备无法访问这个子网
网络拓扑
OP 的 ETH1 连接光猫的 LAN1 ,新建 pppoe-wan 接口拨号。
光猫关闭自身的 DHCP ,设备可以连接光猫的 LAN1~LAN4 ,用 STATIC 的方式获取 IP 。
光猫 IP:192.168.1.1
原解决方案 1:MAN 划入 WAN 接口,设置跃点
新建 MAN 接口:
- 协议:静态地址
- IPV4 地址:192.168.1.10
- 子网掩码:255.255.255.0
- 网关:192.168.1.1
MAN 接口的防火墙设置
区域选择WAN
MAN 接口的高级设置
网关跃点选择 99
此种方案的路由表
有两个默认路由,其中走 192.168.1.1 的默认路由的 metric 是 99 ,优先级较低,公网流量不会走这个出去。
解决方案 2:把 MAN 接口划入防火墙的 MAN 区域
新建 MAN 接口:
- 协议:静态地址
- IPV4 地址:192.168.1.10
- 子网掩码:255.255.255.0
- 网关:空着,不写
- 网关跃点:不写
MAN 接口的防火墙设置
区域选择MAN
,新建一个 MAN 防火墙区域
MAN 防火墙的设置
照抄 WAN 的设置。
- 入站,出站:允许;转发:拒绝
- IP 动态伪装:启用
- MSS 钳制:启用
- 覆盖接口:只选择 man 接口
- 端口触发:允许转发到目标区域 都不选;允许从源区域转发:只选 lan
此种方案的路由表
默认路由只有 pppoe-wan 的路由