OPENWRT 实现跨网段访问的问题解决,求解惑

2022-05-17 13:09:29 +08:00
 phpfpm

目前是纯属知其然不知其所以然的状态,特求答疑解惑。

  1. IP 动态伪装和 MSS 钳制到底是干啥的?参考文档:OpenWrt 设置静态路由实现跨网段访问
  2. 我以下的方案 2 是做这件事情的最佳实践吗?
  3. openwrt 的防火墙区域到底是做什么的?看起来也有转发和 NAT 的作用?
  4. 接口配置和不配置网关影响 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 接口:

  1. 协议:静态地址
  2. IPV4 地址:192.168.1.10
  3. 子网掩码:255.255.255.0
  4. 网关:192.168.1.1

MAN 接口的防火墙设置

区域选择WAN

MAN 接口的高级设置

网关跃点选择 99

此种方案的路由表

有两个默认路由,其中走 192.168.1.1 的默认路由的 metric 是 99 ,优先级较低,公网流量不会走这个出去。

解决方案 2:把 MAN 接口划入防火墙的 MAN 区域

新建 MAN 接口:

  1. 协议:静态地址
  2. IPV4 地址:192.168.1.10
  3. 子网掩码:255.255.255.0
  4. 网关:空着,不写
  5. 网关跃点:不写

MAN 接口的防火墙设置

区域选择MAN,新建一个 MAN 防火墙区域

MAN 防火墙的设置

照抄 WAN 的设置。

  1. 入站,出站:允许;转发:拒绝
  2. IP 动态伪装:启用
  3. MSS 钳制:启用
  4. 覆盖接口:只选择 man 接口
  5. 端口触发:允许转发到目标区域 都不选;允许从源区域转发:只选 lan

此种方案的路由表

默认路由只有 pppoe-wan 的路由

3907 次点击
所在节点    OpenWrt
1 条回复
phpfpm
2022-05-17 18:18:48 +08:00
MSS 钳制:启用

这个如果不是 pppoe ,似乎不是必选的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/853428

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX