免责声明

①本文仅供学习交流使用,严禁用于非法用途!
②若想搭建节点,请遵循我国法律法规!目前我们国家是禁止个人搭建节点的,《中华人民共和国计算机信息网络国际联网管理暂行规定》第六条:计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。
③任何人根据本文所产生的违法犯罪行为,与本人无关!

在正式开始之前,我必须说明:本文面向的对象并不是小白,而是对计算机网络、服务器、Linux有一定知识储备的人。

开始前的准备:

  1. 一台国外的VPS或者一台云服务器,我不做推荐。有一台能够访问国外服务的服务器即可(服务器ping www.google.com 能够有响应即可 )。
  2. 服务器的系统是Ubuntu 20.04,其它操作系统请自行适配。

检查服务器能否被访问

  • 首先,我们必须先检查一下在你自己的电脑上能不能ping通你的服务器。例如:ping 8.8.8.8;我假设我的服务器公网IP是8.8.8.8。然后你会看见能返回一些响应那就是可以访问,如果是访问超时,那就要先去设置一下把ICMP(ping)给打开。紧接着再去ping(切记要ping通了再往下操作

安装Shadowsocks服务端

  • 连接服务器进入root账户。在安装过程中有任何确认信息一律选Y

    1
    2
    更新软件源:apt update
    安装shadowsocks-libev:apt install shadowsocks-libev

配置Shadowsocks服务端

  • 我们可以先确认一下文件目录下是否存在配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    查看文件下内容:ls /etc/shadowsocks-libev/
    编辑配置文件:vi /etc/shadowsocks-libev/config.json
    在编辑过程中的操作:
    按一下“i”键进入编辑模式。
    编辑好了后按Esc,再输入:wq退出文件。
    :wq保存并退出
    :w保存不退出
    :q不保存退出
    :q!强制退出
确认文件目录下有一个config.json的配置文件
确认文件目录下有一个config.json的配置文件
将该配置文件里的内容修改成这样
将该配置文件里的内容修改成这样
* "server":"0.0.0.0"表示监听所有的网卡;"server_port":5699表示服务端口;"password":"g59cHTGd140p"表示密码。主要设置这三项即可。

打开端口

  • 现在找到服务器厂家的服务器安全组设置,将我们刚刚所设置占用的5699端口打开。或者直接输入以下命令打开端口。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    开放端口:ufw allow 5699
    防火墙重启:ufw reload
    查看状态:ufw status

    防火墙设置:
    查看状态:ufw status
    开放端口:ufw allow 5699
    拒绝端口:ufw deny 8388
    删除规则:ufw delete allow 8388
    关闭防火墙:ufw disable
    启动防火墙:ufw enable
    防火墙重启:ufw reload
添加入站安全规则
添加入站安全规则
输入命令后会看见一个5699的端口号即可
输入命令后会看见一个5699的端口号即可

启动Shadowsocks服务端

  • 重启服务再检查服务状态

    1
    2
    重启: systemctl restart shadowsocks-libev.service
    检查状态:systemctl status shadowsocks-libev.service
有这个绿色的active(running)则表示服务正常运行
有这个绿色的active(running)则表示服务正常运行

添加v2rayN服务器(添加节点)

  • 打开v2rayN,点击右上角服务器,再点击《添加【Shadowsocks】服务器》。其中别名自己任意起;地址填自己服务器的公网IP地址;端口就填自己在配置文件中所打开的端口;密码就填配置文件中设置的密码;加密方式就填配置文件中所指定的加密方式。其它的均默认,最后点击确定。
  • 然后在列表下会看见你添加的节点,选中它右键选择测试服务器延迟ping,如果能ping通那就基本上就可以使用了,如果测试结果为-1,那现在有两个原因。一个是你服务器没有打开ICMP;另一个是受到地区影响,你的地区禁止了这种方式。
每项值必须一一对应不然会连接不成功
每项值必须一一对应不然会连接不成功

解决ping值为-1的情况

  • 如果是第一种情况,也就是自己电脑ping不通服务器这种情况,请回到第一步。或者自己查询如何命令开启ICMP
  • 如果是地区禁用了这种方式,便要用到一个插件shadowsocks-v2ray-plugin

安装shadowsocks-v2ray-plugin

  • 这款插件的原理就是将我们的SOCKS5代理流量伪装成WebSocket协议(http)的流量,这样的流量在网络中就像普通的网页浏览流量,更难以被检测和干扰。(举一个不太恰当的例子:杀手在解决掉目标人物后,他不能光明正大、大摇大摆的走在大街上并高声呼喊:“警察,来抓我呀!”而是应该混入人群中悄无声息的离开)

  • 由于我直接使用shadowsocks便能成功,所以这种伪装的方式我并没有完全去实现。感兴趣的朋友可以去v2ray-plugin看看。实现这个方式还需要在本地电脑上下载两个程序软件shadowsocksv2ray-plugin希望对你们有帮助。