自动分流的Shadowsocks搭建(一)

目的

  • Shadowsocks客户端似乎都有分流功能呀?

    以Android为例, 客户端分流是以IP地址分过国内外, 而DNS常常把国内网站解析到国外(因为服务器在墙外嘛)

  • 目标
    • 为用户提供一个国内的Shadowsocks接入点
    • 用户接入后无需多余配置, 直接开启全局模式即可
    • 所有流量在此国内服务器分流

准备

  • 一台国内服务器, 一台或多台境外服务器。(我的选择是阿里云华南区和阿里云香港)

使用OpenVPN建立国内与国外服务器之间的隧道

  • 为啥使用OpenVPN?

    因为对OpenVPN比较熟

  • 以下称境外服务器为B, 国内服务器为A

在B上建立OpenVPN server

  • 安装OpenVPN

  • 生成静态密钥

    • 为什么要使用静态密钥
      • OpenVPN证书方式在TLS握手阶段会受到干扰
      • 使用静态密钥正好适用于配置一对一的隧道
  • 配置文件

  • 开启转发

    编辑/etc/sysctl.conf

    将net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1

  • iptables 配置

  • 保存iptables 配置

    编辑/etc/network/interfaces 插入一行

在A上连接OpenVPN打通隧道

  • 客户端配置文件

  • 连接OpenVPN并根据中国路由表进行分流
    • 直接放上我使用的脚本

完成

  • 至此隧道已打通, 国内服务器会根据访问的IP地址进行分流

One thought on “自动分流的Shadowsocks搭建(一)

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注