V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Danswerme
V2EX  ›  问与答

大家推荐个路由器/软路由系统呗!

  •  
  •   Danswerme · 2019-08-29 00:13:31 +08:00 · 14625 次点击
    这是一个创建于 1695 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先说预算:

    • 如果是软路由系统,那么机器已经有了,配置很够用。
    • 如果是买路由器,预算 1500。

    要求:

    • 无需 AP 功能以及多余 LAN 口,因为有交换机和 ubnt 的 AP 了。
    • 可以带动 300M/30M 电信 + 100M/20M 移动两条线路。
    • 策略路由,基于源地址 /目的地址 /源端口 /目的端口、协议等策略路由。
    • 完整的 IPv6 支持,IPv6 NAT、IPv6 策略路由。
    • 简单的防火墙功能。

    为什么非要换支持 IPv6 完整功能的路由器,是因为虽然目前电信给分配了 IPv6 地址,但是访问国外的速度真的是慢的要命,v 站的 CDN 目前已支持 IPv6,如果不使用代理或者直接在 IPv6 防火墙里 Ban 掉 v 站的域名,根本打不开 v 站。

    还有就是 Win10 的 choco 包管理器,现在里面很多包下载链接已经使用了 IPv6,比如 firefox 的包。不关掉 v6 或者不使用代理的情况下,根本下载不下来。

    内网有台代理服务器,可以将所有访问非中国大陆 IP 的链接全部策略路由到代理服务器上去以实现加速的功能。

    之前一直用的 RouterOS,非常好用。但是它的 IPv6 功能目前是个残废,IPv6 的策略路由以及 NAT 完全没有,只能忍痛弃之。


    这几天陆续试用了几个路由操作系统,自己甚至尝试基于 debian 搞了个路由系统,还是不尽人意。

    • pfSense/OPNSense

    后者 fork 自前者,都是基于 freebsd 的防火墙,OPNSense 将很多功能封装的比 pfSense 更好。

    比如别名功能,也就是 Address Group,里面直接内置了 GeoIP,可以使用国家和大洲的 IP 组成网络组,不用自己去手动写入 ip 段,还可以将多个网络组组合成一个网络组,这个功能真是好用极了!

    另外吐槽一点,也有可能是我眼睛残疾,官方文档里别名这一页关于导入 ip 段的这一段里,完全没有导入文件的格式说明,试了几个格式都是 JSON 解析错误,最后用导出功能导出 ip 段文件之后才有了导入格式的样本。

    其他地方功能算是比较完整了,策略路由 NAT 什么的都有了,但是不清楚为什么拨号后 IPv6 获取到前缀的速度非常慢,web 响应速度也非常慢,待调试。

    • Vyatta/EdgeOS/Vyos

    后两者 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

    几个路由系统都用的不爽,打算开始从头撸一个。

    装好 debian,拨号用 pppoeconf,dhcp 和 dns 用 dnsmasq,获取 ipv6 前缀用 wide-dhcpv6-client,ipset 负责网络组,iptables 负责 nat 防火墙和以及使用 ipset 进行 mark,ip rule 负责策略路由,用了一天时间算是跑起来了。

    因为我是个菜鸟,iptables 也是一知半解,虽然一切都正常跑起来了,但是代理服务器的速度非常慢,瞎折腾半天突然恢复正常了。然后闲的无聊升级下内核,又炸了,得,没事装什么大尾巴狼玩什么硬核呢?

    leehomsf
        1
    leehomsf  
       2019-08-29 00:18:47 +08:00
    我竟然完整的看完了,你直接租用运营商服务直接付费,比你这个省事
    Danswerme
        2
    Danswerme  
    OP
       2019-08-29 00:22:13 +08:00
    @leehomsf 说到底就是个很简单的 IPv6 策略路由问题,华为 Cisco 之流的路由器应该很轻松就能干的事情。 但是他们这种设备都是 ToB 的,而我也买不起..
    wwqgtxx
        3
    wwqgtxx  
       2019-08-29 01:00:35 +08:00 via iPhone
    为什么不试试 openwrt/lede 呢
    Danswerme
        4
    Danswerme  
    OP
       2019-08-29 01:05:49 +08:00 via Android
    @wwqgtxx openwrt 也就是插件多呀,然而这些插件我并用不上。 其他地方就是个标准的 linux 发行版,我已经用 debian 尝试过了,不想再手动去撸 iptables
    pakro888
        5
    pakro888  
       2019-08-29 01:11:02 +08:00 via Android
    router os 试试吧
    chinesestudio
        6
    chinesestudio  
       2019-08-29 01:21:13 +08:00 via Android
    不用 ipv6 路由器屏蔽不就好了 也不会解析
    Danswerme
        7
    Danswerme  
    OP
       2019-08-29 01:25:46 +08:00 via Android
    @pakro888 您应该没有仔细看我的帖子..ros 的 ipv6 功能是残废
    Danswerme
        8
    Danswerme  
    OP
       2019-08-29 01:26:14 +08:00 via Android
    @chinesestudio 既然提供了 ipv6 就要物尽其用嘛。
    ysc3839
        9
    ysc3839  
       2019-08-29 01:26:42 +08:00 via Android
    @Danswerme OpenWrt 不仅仅是软件多吧?网络功能都配置好了,开箱即用,不需要手动配置各种参数。同时 init 以及网络系统都比 systemd 简单得多。
    flynaj
        10
    flynaj  
       2019-08-29 01:54:10 +08:00 via Android
    你的要求只有 openwrt 可以满足,不明白那些早就没有人维护的你要去试。
    trepwq
        11
    trepwq  
       2019-08-29 02:25:38 +08:00 via iPhone
    opnsense 或者 openwrt 吧,其他 ipv6 支持确实不行
    huluhulu
        12
    huluhulu  
       2019-08-29 08:40:59 +08:00 via iPhone
    你这要求没有什么特殊的,openwrt 都满足了…不要尝试小众的,浪费时间
    wangxu1991
        13
    wangxu1991  
       2019-08-29 08:53:36 +08:00
    自己编译个 openwrt 就行了
    Danswerme
        14
    Danswerme  
    OP
       2019-08-29 08:58:35 +08:00
    @flynaj
    @trepwq
    @huluhulu
    @wangxu1991

    谢谢大家,今天早上试用了群友的 er-x,nat 表可以直接用防火墙定义的 network-group,如果没什么意外就决定用它了。
    haf007
        15
    haf007  
       2019-08-29 12:11:25 +08:00 via Android
    openwrt
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5580 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:08 · PVG 14:08 · LAX 23:08 · JFK 02:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.