周末折腾软路由,把 openwrt 换成了 iKuai,分享一下过程。

311 天前
 peasant

之前光猫改桥接用 openwrt 拨号,新建的 LAN 获取不到 IPv6 ,重启 WAN 口,新建的 LAN 时不时还会无法联网,后来又改回光猫拨号了。

周末想着继续用光猫拨号真是白瞎了我的软路由了,没有公网 IPv4 ,IPv6 还被光猫挡着不能从外部访问,就很难受,看朋友用的 iKuai ,说比较稳定,就准备给软路由重新装个系统。

首先从官网下载了 IMG 镜像文件,直接写入软路由的硬盘,然后信心满满的启动了软路由,结果启动后发现插哪个网口都没有获取到 IP ,真的很懵,没办法,给软路由接上显示器和键鼠,重新开机,发现开机后直接进了 BIOS 界面,没有启动系统。一番搜索发现写入 IMG 镜像的方式不支持 UEFI 启动,就很无语,openwrt 都能这么玩,iKuai 要用 UEFI 启动必须用 iso 文件安装。

用 iso 文件安装系统以后看到系统成功启动,设置了 lan1 的网卡和地址,心想终于弄好了,拔掉显示器和键鼠把软路由放回原处启动,结果还是没有获取到 IP ,真的是卧槽了,再搜发现 iKuai 默认没有开启 DHCP ,要手动设置 IP 才能连接上,等连上去后自己新建 DHCP 服务,再设置 WAN 口,还有系统设置的基础设置里有个上网模式,一定不要改成路由模式,没有仔细看下面的帮助提示就选了个路由模式,结果不能上网,只能用 NAT 模式。

确认 iKuai 能正常工作了,就把光猫又改成了桥接模式,再次尝试用 iKuai 进行拨号,尝试了一下,原有的 LAN 和新建的 LAN 能正常获取到 IPv6 ,工作也很稳定,用手机网络访问家里的 IPv6 地址也都正常。

因为没有用光猫做路由,所以防火墙就没了,IPv6 相当于完全敞开的状态,需要每个设备自身都开启防火墙才行,但是局域网内有对外开放访问需求的也就只有一台 NAS ,于是想用设置 iKuai 来做防火墙。

iKuai 的 ACL 规则默认是空的,允许所有流量,不做任何限制,所以只需要添加阻止的规则,尝试添加规则时发现 IPv4 的协议选项有 6 个,分别是:tcp 、udp 、tcp+udp 、icmp 、gre 、任意,IPv6 的协议选项只有 3 个,分别是:tcp 、udp 、任意。

如果想要外部 IP 能够 ping 通内部设备的 IPv6 就不能选择阻断任意协议,这里没有单独列出 ICMPv6 ,但是选择任意的话就会阻止。

首先阻止从外部访问内部的 IPv6 ,规则如下(如果不想阻止 ICMPv6 需要分别添加 tcp 和 udp ,不能选任意):
协议栈:IPv6
协议:任意
动作:阻断
方向:转发
连接方向匹配:原始方向(不能选择关闭,否则会把应答方向的入站一起阻断,导致无法上网)
进接口:wan1

不需要单独设置允许 lan 到 wan 的转发,没有阻止的都是允许的。

接下来阻止外部访问路由器的 WAN 口,只需要把上面规则里的方向改为进即可。

因为 IPv6 与 IPv4 的工作方式稍有不同,如果阻止 IPv6 的 WAN 口任意协议入站,为了保证能够正常收到 IPv6 前缀,需要单独放行 IPv6 协议栈的 UDP546,547 端口,否则会出现 WAN 口有 IPv6 地址,但是 IPv6 前缀是空的,导致 LAN 口没法分配 IPv6 。

IPv6 的内网配置如下:
内网接口:lan1
配置类型:自动获取
绑定外网线路:wan1
前缀分配长度:自动
DHCPv6:开启
DHCPv6 模式:无状态

前面阻止了 IPv6 WAN 口原始方向的转发,需要将内网设置暴露出去就需要再添加一条允许的 ACL 规则,允许的规则优先级高于阻断的规则, 比如需要放行 NAS 的 5001 端口。

协议栈:IPv6
协议:tcp
动作:允许
方向:转发
连接方向匹配:原始方向
目的地址: ::9209:d2ff:fe39:89c2/::ffff:ffff:ffff:ffff (表示固定后缀为::9209:d2ff:fe39:89c2 的的 IPv6 地址,这一段查看设备 IP 的时候有个 fe80::9209:d2ff:fe39:89c2 ,就是 fe80 后面的一段)
目的端口:5001
进接口:wan1
出接口:lan1

这个时候 NAS 的 5001 端口就可以从外部正常访问了。

4378 次点击
所在节点    分享发现
22 条回复
phub2020
311 天前
ikuai 能装 ddns 嘛?不能的话,一长串 v6 地址实在难顶
long1and
311 天前
@phub2020 自带 ddns 啊
ye4241
311 天前
额,我是周末把爱快换成了 OpenWrt 的。。。
aptupdate
311 天前
@ye4241 我是周末把 PVE 升级到 8.0 。
totoro625
311 天前
@aptupdate #4 借问一下,您 PVE8 开启直通了吗?
我新装 PVE8 后按 PVE7 的教程开启直通后系统炸了
xipuxiaoyehua
311 天前
ikuai 有后门
aptupdate
311 天前
@totoro625 我是从 7.x 最后一个版本升级到 8.0 的。
7.x 版本有直通网口给 OpenWrt ,按照官方文档升级完成后表现正常。
炸了具体是什么表现呢?是不是少了哪里的配置导致?
xipuxiaoyehua
311 天前
openwrt 固件直接 openwrt.org 下载就好,别用网上第三方乱七八糟编译的
lerry
311 天前
软路由我用的 r2s ,总是用几天就连不上了。这次把 lan 口 wan 口对调,用了刷油管发现的这个发行版,一周下来还不错,https://www.istoreos.com/

@aptupdate #4 我是周末从 pve 换到了 Debian 。。
本来就只跑 Docker ,对虚拟机没什么需求,PVE 上 Docker 构建镜像遇到了一些问题,貌似是内核原因,也试了下 EXSI ,但是 SATA 控制器直通没弄成,直接换成 Debian12 了

现在硬盘用 zfs ,换系统后挂载点不变。程序用 Docker ,配置文件存在固定的路径。
重装很简单,root 目录直接复制原来的,用自己写的 shell 脚本一键安装 docker ,启动容器,不到半个小时就都好了。
ye4241
311 天前
@lerry #9 同入 istoreos ,然后发现部分 ipk ,即使安装语言包都不能把语言统一变成中文的,然后看着特别别扭。

@aptupdate #4 pve 之前尝试过,发现内网传输速度减半了,尝试过直通方案啥的,后来放弃了。
greatbody
311 天前
ikuai+openwrt 方案比较推荐。

ikuai 拨号,dhcp ,端口映射。openwrt 翻墙。
jonty
311 天前
openwrt 没获取到 ipv6 可能是固件问题,如果说想折腾可以考虑安装一个虚拟机的底层?
lerry
311 天前
@ye4241 #10 我只用到一个翻墙插件,配置好就不管了
我 pve 速度也不行,台式机和 NAS 两边都是 2.5G 网卡,2.5G 交换机,smb 只能跑 60M/s ,网卡驱动也升级了,各种方法都不行,可能是 pve 用的网桥的原因。
刚又试了下,同样硬件,现在用的 Debian12 ,280MB/s ,这才正常
Rinndy
311 天前
刚买的 4125esxi 装了 op ,我还特意关闭了 ipv6 。。感觉没什么用,装上小猫咪翻墙可舒服了,手机不用开 vpn 了。
aptupdate
311 天前
@ye4241 “发现内网传输速度减半了” 是不是用 eSir 的固件?
我之前用 eSir 的精品小包出现过类似问题,换成 iStore 的固件之后正常了。
InTen
311 天前
爱快的 ipv6 可以用白名单模式,只给白名单设备分配 ipv6 地址,别的设备不分配 v6 ,需要扶墙的可以把网关改成 Openwrt ,这样就不出出现 ipv6 影响扶墙的情况了
titanium98118
311 天前
我最近折腾一翻,最后还是回到 openwrt ,感觉离不开 openwrt 的“魔掌“了,顺路把 openwrt 19.07 更新到 23.05 ,从使用多年的 iptables+redirect 更换为 nftables+tproxy ,这样 udp 和 ipv6 都能进透明代理了。
Amber2011
311 天前
懒蛋人,周末把旧的 GLINET1200 换成 MT3000 了,小猫咪啥的都是找的现成的.能用就行,没啥动力折腾
vileer
310 天前
@aptupdate 哈哈我是昨晚升的 8.0 ,搞了一晚第二天接着搞才搞定
fengyunSmlie
310 天前
我是 ikuai+openwrt openwrt 做旁路由扶墙,主要是机场和 openclash 稳定不太好 主路由影响家里人用网

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

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

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

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

© 2021 V2EX