先说预算:
要求:
为什么非要换支持 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 也是一知半解,虽然一切都正常跑起来了,但是代理服务器的速度非常慢,瞎折腾半天突然恢复正常了。然后闲的无聊升级下内核,又炸了,得,没事装什么大尾巴狼玩什么硬核呢?
1
leehomsf 2019-08-29 00:18:47 +08:00
我竟然完整的看完了,你直接租用运营商服务直接付费,比你这个省事
|
2
Danswerme OP @leehomsf 说到底就是个很简单的 IPv6 策略路由问题,华为 Cisco 之流的路由器应该很轻松就能干的事情。 但是他们这种设备都是 ToB 的,而我也买不起..
|
3
wwqgtxx 2019-08-29 01:00:35 +08:00 via iPhone
为什么不试试 openwrt/lede 呢
|
4
Danswerme OP @wwqgtxx openwrt 也就是插件多呀,然而这些插件我并用不上。 其他地方就是个标准的 linux 发行版,我已经用 debian 尝试过了,不想再手动去撸 iptables
|
5
pakro888 2019-08-29 01:11:02 +08:00 via Android
router os 试试吧
|
6
chinesestudio 2019-08-29 01:21:13 +08:00 via Android
不用 ipv6 路由器屏蔽不就好了 也不会解析
|
8
Danswerme OP @chinesestudio 既然提供了 ipv6 就要物尽其用嘛。
|
9
ysc3839 2019-08-29 01:26:42 +08:00 via Android
@Danswerme OpenWrt 不仅仅是软件多吧?网络功能都配置好了,开箱即用,不需要手动配置各种参数。同时 init 以及网络系统都比 systemd 简单得多。
|
10
flynaj 2019-08-29 01:54:10 +08:00 via Android
你的要求只有 openwrt 可以满足,不明白那些早就没有人维护的你要去试。
|
11
trepwq 2019-08-29 02:25:38 +08:00 via iPhone
opnsense 或者 openwrt 吧,其他 ipv6 支持确实不行
|
12
huluhulu 2019-08-29 08:40:59 +08:00 via iPhone
你这要求没有什么特殊的,openwrt 都满足了…不要尝试小众的,浪费时间
|
13
wangxu1991 2019-08-29 08:53:36 +08:00
自己编译个 openwrt 就行了
|
14
Danswerme OP @flynaj
@trepwq @huluhulu @wangxu1991 谢谢大家,今天早上试用了群友的 er-x,nat 表可以直接用防火墙定义的 network-group,如果没什么意外就决定用它了。 |
15
haf007 2019-08-29 12:11:25 +08:00 via Android
openwrt
|