openwrt应该也差不多吧emm
我的网络结构是主路由(华硕)拨号 然后ImmortalWrt接入主路由
主路由(华硕)的网段ip为192.168.2.x
我的需求是接入ImmortalWrt的设备获取的是主路由的网段ip
更改桥接
网络-接口 这里只保留LAN
(可选)在主路由给ImmortalWrt添加一个静态ip
编辑LAN的以下设置
IPv4地址填入你主路由网段下的任意未被使用的ip
网关填主路由的网关
DNS填主路由的ip
在DHCP服务设置中勾选忽略此接口
保存退出
配置设备
勾选所有eth开头的网卡
保存并应用
电脑接入路由器
❯ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether e8:9c:25:32:e5:36 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.2/24 brd 192.168.2.255 scope global dynamic noprefixroute enp5s0
valid_lft 85713sec preferred_lft 85713sec
成功获取主路由的ip
接下来访问ImmortalWrt需要使用刚才填的ip
我的是 192.168.2.141
配置ipv6
默认不会桥接ipv6
只需要配置LAN接口的DHCP的IPv6为如上即可
可选:删除IPv6 ULA 前缀
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether e8:9c:25:32:e5:36 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.2/24 brd 192.168.2.255 scope global dynamic noprefixroute enp5s0
valid_lft 85713sec preferred_lft 85713sec
inet6 fd42:7ead:87c7::67c/128 scope global dynamic noprefixroute
valid_lft 42506sec preferred_lft 42506sec
inet6 fd42:7ead:87c7:0:bb68:2c4e:4493:a694/64 scope global temporary dynamic
valid_lft 604118sec preferred_lft 85439sec
inet6 fd42:7ead:87c7:0:b2:b5db:51cd:e95c/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 240e:xx/64 scope global temporary dynamic
valid_lft 588sec preferred_lft 588sec
inet6 240e:xx/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 588sec preferred_lft 588sec
inet6 fe80::565e:cb8a:e24f:a297/64 scope link noprefixroute
valid_lft forever preferred_lft foreve
可以看到虽然正确获取到ipv6
但是有一些fd42开头 看着不怎么顺眼
清空这里的东西就可以了~
❯ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether e8:9c:25:32:e5:36 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.2/24 brd 192.168.2.255 scope global dynamic noprefixroute enp5s0
valid_lft 86399sec preferred_lft 86399sec
inet6 240e:xx/64 scope global temporary dynamic
valid_lft 600sec preferred_lft 600sec
inet6 240e:xx/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 600sec preferred_lft 600sec
inet6 fe80::565e:cb8a:e24f:a297/64 scope link noprefixroute
valid_lft forever preferred_lft forever
附:关于代理
这种方案的好处(也算坏处?),即使路由器开启了代理插件
通过DHCP自动分配ip接入的设备流量会走主路由而不是ImmortalWrt,也就是不会代理流量
(防蹭网刷节点流量)
如果你自己想要使用ImmortalWrt上的代理,只需要手动指定一下网关为ImmortalWrt就可以了
附:关于UPnP
文章发布到我现在写这句话已经过了快20天了 (2.26-3.10)
期间折腾了很久UPnP 但还是用不了
问了半天gpt也没有个解决方案
后来突然想到一个问题;我现在是桥接模式 而ImmortalWrt开启了UPnP
但此时主路由也开启了UPnP 此时就会导致这个局域网下会有两个UPnP设备
但是只有主路由是拨号获取的公网ip ImmortalWrt用的是主路由ip
所以使用ImmortalWrt进行UPnP转发的设备就用不了
解决方法十分简单
只需要把ImmortalWrt的UPnP关闭即可 让主路由进行UPnP转发
(被自己傻笑了)