V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JackyBao
V2EX  ›  宽带症候群

配置国内走电信,国外走移动的策略路由的方法。

  •  
  •   JackyBao · 2017-01-11 13:34:44 +08:00 · 14161 次点击
    这是一个创建于 2880 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近一直看到有人在提问国内走电信,国外走移动的策略路由如何配置。
    我这边抛砖引玉一下,也许各位有更好的方法,欢迎赐教。

    当然第一部你需要一个可以刷 openwrt 的路由器,潘多拉的也可以,比如目前流行的各种智能路由器,小米,斐讯, Newifi ,优酷都可以。

    Openwrt 固件可以去官网下载,潘多拉固件的最新版在这里: http://downloads.pandorabox.com.cn/pandorabox-16-10-stable/targets/ralink/mt7620/ 推荐潘多拉吧,对国内热门的智能路由支持比较好,比如狗东免费送的 K2 。

    然后你需要以下软件包:
    ipset -> 用于将国内 IP 段放入一个 ipset ,以便使用 mwan3 做出口分流。
    luci-app-mwan3 -> 用于双线的出口分流

    基本思路:
    进交换机设置,划一个 LAN 出来设为单独的 VLAN ,作第二个 WAN 口用。
    进接口设置,新建一个 WAN 口,物理接口选择上面新建的 VLAN 口。
    进 DNS/DHCP 设置,将 dnsmasq 的上游 DNS 设置为 114.114.114.114 ,选中忽略解析文件。
    获取一份国内 IP 段的列表,将这个列表读如一个 ipset 。
    mwan3 配置很简单,满足国内 ipset 的流量走电信的 wan 口,否则走移动出口。

    完成!
    第 1 条附言  ·  2017-05-18 11:22:39 +08:00
    ==============================
    贴一个 MWAN3 的参考配置文件。
    2 个物理 WAN 分别命名 wan_ct 和 wan_cm,满足 chinalist 这个 ipset 的流量走 wan_ct,其他流量走 wan_cm。

    config interface 'wan_ct'
    option enabled '1'
    list track_ip '114.114.114.114'
    option reliability '1'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '3'

    config interface 'wan_cm'
    option enabled '1'
    list track_ip '114.114.114.114'
    option reliability '1'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '3'

    config member 'wan_ct_m1_w1'
    option interface 'wan_ct'

    config member 'wan_cm_m1_w1'
    option interface 'wan_cm'

    config member 'wan_ct_m2_w1'
    option interface 'wan_ct'
    option metric '2'
    option weight '1'

    config member 'wan_cm_m2_w1'
    option interface 'wan_cm'
    option metric '2'
    option weight '1'

    config policy 'ct_main'
    list use_member 'wan_ct_m1_w1'
    list use_member 'wan_cm_m2_w1'
    option last_resort 'unreachable'

    config policy 'cm_main'
    list use_member 'wan_cm_m1_w1'
    list use_member 'wan_ct_m2_w1'
    option last_resort 'unreachable'

    config rule 'china_ip'
    option proto 'all'
    option sticky '0'
    option ipset 'chinalist'
    option use_policy 'ct_main'

    config rule 'default_rule'
    option dest_ip '0.0.0.0/0'
    option proto 'all'
    option sticky '0'
    option use_policy 'cm_main'

    ==============================
    chinalist 可以从这里获取 https://github.com/17mon/china_ip_list
    将下面命令添加到 /etc/rc.local 文件内,开机自动加载 chinalist。

    CHINALIST_FILE=/root/china_ip_list.txt
    ipset -! restore <<-EOF || return 1
    create chinalist hash:net
    $(sed -e "s/^/add chinalist /" ${CHINALIST_FILE:=/dev/null} 2>/dev/null)
    EOF

    ==============================
    此 MWAN3 配置文件支持双线互备。
    在 wan_ct 和 wan_cm 任一不可用时,所有流量都会走另一个 WAN。
    19 条回复    2017-01-15 23:02:08 +08:00
    kozora
        1
    kozora  
       2017-01-11 15:02:16 +08:00
    梅林自带双线路 很方便
    fuxkcsdn
        2
    fuxkcsdn  
       2017-01-11 16:41:55 +08:00
    前几天刚好也想弄个类似的
    我大致想法是这样

    vultr vps 日本节点装 ss 服务端
    移动的宽带装 ss 客户端,专门处理国外请求和翻墙
    电信的宽带专门处理国内,对外开放 ss 服务端口,作为跳板(当前厦门电信还分配外网 ip )
    在路由器上将国外的请求都转到移动的 ss 客户端上(实现在家里的终端透明翻墙)

    外出的时候联通、移动手机就直接连 vps 的 ss 服务端
    电信手机就连家里电信的 ss 服务端口,然后家里电信线路将请求转发给移动(内网转发?),移动端口再转发给日本的 vps

    这样行得通吗??
    JackyBao
        3
    JackyBao  
    OP
       2017-01-11 18:06:30 +08:00 via Android
    @fuxkcsdn 你都有 vps 了,就不用这么复杂了。
    单条电信宽带,直接路由器用 ss 的国内国外分流,然后 vps 和路由器上都装上 kcptun 。
    xfspace
        4
    xfspace  
       2017-01-11 18:23:59 +08:00 via Android
    @fuxkcsdn 两台 VPS 搭 Tunnel 。
    迷之 IP 从 Tunnel 转到外国出
    国内就从 VPS 本地出去。
    这样做有风险
    fuxkcsdn
        5
    fuxkcsdn  
       2017-01-11 19:05:09 +08:00
    @JackyBao 电信国际带宽感人,反正用了移动的线路连接 vps 后,再让我用回电信连接同一台 vps ,那我是会砸路由器的
    不过 kcptun 的方案还没测试过,下次回家试试

    @xfspace 原本也是想用国内 vps 当跳板,但想了下,一年的 vps 费用也和我用一年的移动带宽(目前是 20M ,一个月 40 好像)差不多啊,甚至更贵,所以才会想出这方案
    xspoco
        6
    xspoco  
       2017-01-11 19:07:58 +08:00
    mark 学习下 有这需求
    lbp0200
        7
    lbp0200  
       2017-01-11 19:12:30 +08:00
    备案域名直连更方便,现成的白名单
    xfspace
        8
    xfspace  
       2017-01-11 19:13:51 +08:00 via iPad
    @fuxkcsdn 看看你的路由器性能,跑得动 IPSec VPN 也行。路由器(linux)和 VPS 搭 VPN
    JackyBao
        9
    JackyBao  
    OP
       2017-01-11 19:55:12 +08:00 via Android
    @fuxkcsdn 移动线路 kcptun 优化后,一般能到 8Mbps 左右。和 vps 本身的线路质量已经关系不大了。
    JackyBao
        10
    JackyBao  
    OP
       2017-01-11 19:55:56 +08:00 via Android
    @lbp0200 备案域名的列表怎么搞到呢?
    lbp0200
        11
    lbp0200  
       2017-01-11 22:17:22 +08:00 via Android
    @JackyBao 有些网站提供查询,但是查瘫痪了就不好了,需要缓存
    fuxkcsdn
        12
    fuxkcsdn  
       2017-01-11 23:21:06 +08:00
    @xfspace 路由器性能还行,要求不高看 youtube 1080p 不卡就行

    @JackyBao 移动的宽带本身连接 vps 速度就快,应该没必要 kcptun 优化,就看电信优化后速度咋样了
    lan894734188
        13
    lan894734188  
       2017-01-12 00:13:29 +08:00 via Android
    ros 我有路由表 可以找我要
    missdeer
        14
    missdeer  
       2017-01-12 09:10:37 +08:00
    ss 客户端直接绑定出口的 IP 就行了啊,哪那么复杂
    ramthun
        15
    ramthun  
       2017-01-12 13:05:25 +08:00
    @lan894734188 您好,能分享一下 ROS 做策略路由的教程吗?感谢
    lan894734188
        16
    lan894734188  
       2017-01-12 15:53:17 +08:00 via Android
    @ramthun 教程没有 都是标记目标地址走特定路由 很简单的
    ricardo
        17
    ricardo  
       2017-01-15 19:51:55 +08:00
    @missdeer ss-client 如何绑定出口 IP, 我理解添加跑 vps(ss-server)的 ip 到路由表。
    exiaohao
        18
    exiaohao  
       2017-01-15 20:40:06 +08:00
    如果你是 ROS 什么的
    https://github.com/17mon/china_ip_list
    自己写个批处理把 IP 列表导进去,当然这里面也混着移动,可以看情况调一调
    routing mark=CHINA_MAINLAND => 电信
    然后其他地址去移动
    missdeer
        19
    missdeer  
       2017-01-15 23:02:08 +08:00
    @ricardo 对啊,这就是一种做法。或者像 ss libev 版可以指定一个网络接口绑定。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:38 · PVG 15:38 · LAX 23:38 · JFK 02:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.