在光猫拨号的情况下,openwrt 可以上网,也可以直接访问光猫的管理页面,也可以直接访问光猫下面连接的其他设备。 但在光猫桥接模式下,openwrt 进行拨号,则无法直接访问光猫的管理页面。这时如果需要设置光猫就比较麻烦,需要连接光猫的 wifi 或者网线连接到光猫进行配置。
通过在 openwrt 进行一些设置,则可以通过 openwrt 直接访问光猫的管理页面。
一般前提
- 本文基于 openwrt 23.05 进行设置。不同版本的界面可能有所不同,但原理是相同的。
- 本文假设光猫和 openwrt 使用不同的网段(例如光猫的网段为
192.168.1.*
,openwrt 的网段为192.168.2.*
),方便进行设置。 - 本位假设你已在 openwrt 中完成 pppoe 拨号上网的设置。
- 假设
wan
端口的设备名为wan
,接口名为wan
及wan6
步骤 1. 设备选择
笔者尝试使用 4 种方法配置 openwrt 让其可以同时访问光猫和互联网。经测试 4 种方法均可以正常使用。4 种方法的主要区别在于接口设置中的设备选择上,其他的步骤大同小异。
方案 1 - 使用 wan
设备
直接使用 wan
设备最简单,无需新增设备。
缺点是在 网络 - 接口 页面中,wan
接口 和 to_modem
接口显示的使用流量相同,不便于查看,并不影响使用。而后面 3 种方案均没有这个问题。
在步骤 2 中新建接口时,设备(device)直接选择 wan
设备即可。
方案 2 - macvlan
+ macvlan
- 首先需要安装
macvlan
软件包。 - 在 network - devices 页面中新增 2 个 MAC VLAN 设备,基础设备(base device)选择
wan
设备。名字可以自定,默认是wanmac0
和wanmac1
。mac 地址可以留空(每次启动时自动生成),或自行指定 2 个不同的 mac 地址。
2 个 MAC VLAN 设备,一个用于 pppoe 拨号上网,另一个用于连接光猫。
注意:要在接口设置中,将接口 wan
和 wan6
的设备(device)设置为其中一个 MAC VLAN 设备,例如 wanmac1
设备。
在步骤 2 中新建接口时,将设备(device)设置另一个 MAC VLAN 设备,例如 wanmac0
设备。
方案 3 - vlan
+ macvlan
适合光猫启用了 vlan
绑定的情况,例如单线复用。本文假定你已完成了 vlan
的相关设置,故 vlan
的设置本文不赘述。
- 首先需要安装
macvlan
软件包。 - 与方案 2 类似,在 network - devices 页面新增 1 个 MAC VLAN 设备。基础设备(base device)选择
wan
。名字可以自定,默认是wanmac0
。mac 地址可以留空(每次启动时启动生成),或自行指定 1 个 mac 地址。
vlan 设备用于 pppoe 拨号上网,MAC VLAN 设备则用于连接光猫。
在步骤 2 中新建接口时,设备(device)选择这个 MAC VLAN 设备,例如 wanmac0
。
方案 4 - 双线接入
如果有富余的网线和端口,则可以考虑采用双线接入的方式,例如 openwrt 的 wan
口连接光猫的 lan1
口,用于拨号上网。openwrt 的 lan1
口连接光猫的 lan2
口(也可以是其他端口,自行设置),用于访问光猫网络。
- 在光猫管理界面的宽带设置中,将
lan2
解绑(也可以是其他端口,自行设置)。 - 在 openwrt 的 network - devices 页面将
br-lan
设备的桥接端口中,取消 openwrt 的lan1
口(也可以是其他端口,自行设置)。 - 用网线连接 openwrt 的
lan1
口和光猫的lan2
口。
在步骤 2 中新建接口时,设备(device)选择这个 lan1
口。
步骤 2. 接口设置
新建接口和设备选择
在 network - interfaces 页面中 新增一个新的 interface (接口):
- 名字(name)随意,例如:
to_modem
。 - 协议(protocol)选择“静态地址”。
- 设备(device)根据步骤 1 选择相应的设备。
接口设置
在基本设置中,填入 ipv4 地址、掩码、网关。这里说的 ip 地址、掩码、网关是 openwrt 相对光猫而言的,例如光猫的网段是192.168.1.*
,那么地址应该192.168.1.114514
(自行设定)。网关是光猫的地址,一般是192.168.1.1
,掩码一般为/24
即255.255.255.0
高级设置中,取消勾选使用默认网关(Use default gateway)。DNS 权重(DNS weight)和网关跃点(Use gateway metric)设置一个比 lan
接口的跃点大但比 wan
接口的跃点小的数字,例如 lan
的跃点设置 0
,to_modem
接口的跃点设置 5
,wan
接口的跃点设置 10
.
跃点或网关设置不当,则可能会导致无法访问互联网。
防火墙设置中,可以选择 lan
区域或者 wan
区域。建议新建一个区域,例如modem_zone
。
步骤 3. 防火墙设置
打开 network - firewall 页面,
编辑 modem_zone
区域设置:
必要的设置
- 覆盖网络(Covered networks):选择前面建立的
to_modem
接口。 - 允许从源区域转发(Allow forward from source zones):选择
lan
区域。 - 开启 伪装(Masquerading)。
- 开启 MSS 钳制(MSS clamping)。
自定义的设置
- 入站(input):根据自己的需求设置。建议拒绝或者丢弃,表示不允许光猫及光猫下的设备访问 openwrt。
- 出站(output):根据自己的需求设置。表示是否允许 openwrt 访问光猫及光猫下的设备。一般拒绝或者丢弃即可。
- 转发(forward):根据自己的需求设置。表示是否允许光猫及光猫下的设备访问
lan
区域的设备。一般拒绝或者丢弃即可。
步骤 4. 静态路由设置
转到 network - routing 页面,点击添加静态路由:
- 接口(inteface):选择前面的新建的
to_modem
接口。 - 目标网络(target):填写光猫的网段及掩码,例如
192.168.1.0/24
。 - 网关(gateway):填写 openwrt 路由器在光猫子网中的 ip 地址,即前面在接口设置中设置的静态地址,例如
192.168.1.114514
。 - 跃点(Metric):填写一个比
lan
接口的跃点大但比wan
接口的跃点小的数字,例如笔者将静态路由的跃点设置为5
,lan
接口的跃点设置为0
,wan
接口的跃点设置10
。
End
完成设置后,openwrt 路由器下的设备就可以直接访问光猫的管理页面了。
ping 光猫地址可以 ping 通:
1 2 3 4 5 6 7 8 9 10 11 12
> ping 192.168.1.1 正在 Ping 192.168.1.1 具有 32 字节的数据: 来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=63 来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=63 来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=63 来自 192.168.1.1 的回复: 字节=32 时间=3ms TTL=63 192.168.1.1 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 1ms,最长 = 3ms,平均 = 1ms
在 window 下,可以通过 tracert 指令可以查看路由情况: