先说预算:
要求:
为什么非要换支持 IPv6 完整功能的路由器,是因为虽然目前电信给分配了 IPv6 地址,但是访问国外的速度真的是慢的要命,v 站的 CDN 目前已支持 IPv6,如果不使用代理或者直接在 IPv6 防火墙里 Ban 掉 v 站的域名,根本打不开 v 站。
还有就是 Win10 的 choco 包管理器,现在里面很多包下载链接已经使用了 IPv6,比如 firefox 的包。不关掉 v6 或者不使用代理的情况下,根本下载不下来。
内网有台代理服务器,可以将所有访问非中国大陆 IP 的链接全部策略路由到代理服务器上去以实现加速的功能。
之前一直用的 RouterOS,非常好用。但是它的 IPv6 功能目前是个残废,IPv6 的策略路由以及 NAT 完全没有,只能忍痛弃之。
这几天陆续试用了几个路由操作系统,自己甚至尝试基于 debian 搞了个路由系统,还是不尽人意。
后者 fork 自前者,都是基于 freebsd 的防火墙,OPNSense 将很多功能封装的比 pfSense 更好。
比如别名功能,也就是 Address Group,里面直接内置了 GeoIP,可以使用国家和大洲的 IP 组成网络组,不用自己去手动写入 ip 段,还可以将多个网络组组合成一个网络组,这个功能真是好用极了!
另外吐槽一点,也有可能是我眼睛残疾,官方文档里别名这一页关于导入 ip 段的这一段里,完全没有导入文件的格式说明,试了几个格式都是 JSON 解析错误,最后用导出功能导出 ip 段文件之后才有了导入格式的样本。
其他地方功能算是比较完整了,策略路由 NAT 什么的都有了,但是不清楚为什么拨号后 IPv6 获取到前缀的速度非常慢,web 响应速度也非常慢,待调试。
后两者 fork 自前者,前者被博通收购后现在似乎已经停止了,EdgeOS 是 ubnt 的路由操作系统,仅在他们公司自己的硬件上可以安装。
而 Vyos 项目现在主要的开发者成立了公司,搞起了类似红帽的模式,只为订阅用户以及一些非盈利组织(需申请)提供最新的稳定版本 ISO 镜像,普通用户只能下载到 Nightly builds,或者自己从 Github 上拉取代码进行编译。
Vyos 初上手还挺不错,和 cisco 类似的命令行让人很容易上手。
策略路由需要导入中国大陆 IP 段列表,由于 vyos 是基于 debian 的系统,设置路由时需要使用 configure 进行设置,于是把 IP 段文件传上去,写了个脚本读取 IP 段循环写入 network-group。
IP 段列表是直接从 apnic 扒下来的,在没有合并之前大概 8 千多条的样子,结果很简单的脚本跑了快十分钟还没有结束。
以为是自己使用方式有问题,结果在 reddit 上看到说如果直接用脚本使用 configure 进行写入大量 ip 段的话就是这么慢,但是实际上它是最终写入了 ipset,可以在 configure 模式下创建好分组名称,然后在 linux 下直接将 ip 段导入 ipset 对应的集合就可以了。
遂用 ipset 导入文件,不到五秒 8 千多条 ip 段便导入完毕,保存 ipset 并设置好开机恢复之后,进入 configure 模式下发现 network-group 对应的条目下还是空的,退出来查看 ipset 又是正常的,有点怀疑人生了。
上 google 一查,结果这是特有的"feature",虽然 network-group 里不显示,但是它是可以正常工作的~ 只要别在 configure 模式下修改 network-group 就好了,好吧,这"feature"真是让人惊喜。
然后还有另一个问题,在文档里看到网络组是可以在 nat 表里使用的,但是在设置 nat 表时我发现好像并没有办法使用网络组,请问有大佬知道该怎么使用吗?
我以为可以set nat source rule 100 source group xxxx ...
,但是实际上并没有 group 的选项...
几个路由系统都用的不爽,打算开始从头撸一个。
装好 debian,拨号用 pppoeconf,dhcp 和 dns 用 dnsmasq,获取 ipv6 前缀用 wide-dhcpv6-client,ipset 负责网络组,iptables 负责 nat 防火墙和以及使用 ipset 进行 mark,ip rule 负责策略路由,用了一天时间算是跑起来了。
因为我是个菜鸟,iptables 也是一知半解,虽然一切都正常跑起来了,但是代理服务器的速度非常慢,瞎折腾半天突然恢复正常了。然后闲的无聊升级下内核,又炸了,得,没事装什么大尾巴狼玩什么硬核呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.