Centos 7 搭建 socks5 代理服务器

我们可以通过 shadowsocks 来实现 socks5 的代理。当然了,前提你得有一台拥有固定 ip 的服务器。

安装配置 shadowsocks

首先通过 python-pip 安装 shadowsocks

# pip install shadowsocks

服务端配置

编辑配置文件

# vim /etc/shadowsocks.json

增加如下配置

{
     "server":"0.0.0.0",
     "server_port": 8386,
     "timeout": 300,
     "password": "password",
     "method": "aes-256-cfb",
     "fast_open": false,
     "workers":1
 }

各配置项说明如下

server 服务端 ip 地址(IPv4 或 IPv6)
server_port 服务端端口号
timeout 超时时间(秒)
password 密码
method 加密方式,如:

  • aes-128-cfb
  • aes-192-cfb
  • aes-256-cfb
  • bf-cfb
  • cast5-cfb
  • rc4-md5
  • chacha20
  • salsa20

不推荐的加密方式(要么慢,要么不安全):

  • rc4
  • des-cfb
  • table
  • salsa20-ctr
fast_open 是否启用 TCP-Fast-Open(如果服务端和客户端都是部署在 3.7.1 以上 Linux 版本就可以启用,以降低网络延迟)
workers worker 数量(可以类比 nginx 孵化子进程的方式)

也可以针对多个端口,设置多个密码

{
    "server": "0.0.0.0",
    "port_password": {
        "8381": "password1",
        "8382": "password2",
        "8383": "password3",
        "8384": "password4"
    },
    "timeout": 300,
    "method": "aes-256-cfb"
}

命令行启动进程

# ssserver -c /etc/shadowsocks.json -d start

确保防火墙没有关闭对应端口号。可以通过命令查看端口号的开放情况

# firewall-cmd --zone=public --list-ports

如果没有开放,则通过如下命令开放

# firewall-cmd --zone=public --add-port=8386/tcp --permanent
# firewall-cmd --reload

客户端配置

编辑配置文件

# vim /etc/shadowsocks.json

增加如下配置

{
      "server": "your-server-ip",
      "server_port": 8386,
      "local_address": "127.0.0.1",
      "local_port": 1080,
      "password": "password",
      "timeout": 300,
      "method":"aes-256-cfb"
}

各配置项说明如下

server 服务端地址(IPv4 或 IPv6)
server_port 服务端开放的端口号
local_address 本地端地址,默认是 127.0.0.1
local_port 本地端端口号
password 密码
timeout 超时时间(秒)
method 和服务端配置的加密方法一致

命令行启动进程

# sslocal -c /etc/shadowsocks.json -d start

至此,shadowsocks 已经安装配置完毕。接下来,我们需要借助一些工具来方便地帮我们使用 socks5 代理。

安装 proxychains

proxychains 可以为命令行程序指定走代理。当在终端中使用 wget, curl 等程序时,有了 proxychains 的帮助,就可以轻松走代理服务器了。

下载源码

$ git clone https://github.com/rofl0r/proxychains-ng

如果没安装 git,可以命令行安装

# yum install git

进入 proxychains-ng 目录,编译安装 proxychains

$ cd proxychains-ng
$ ./configure
$ make
$ sudo make install

接下来,我们需要配置 proxychains,指定 socks5 的代理走 127.0.0.1:1080。首先拷贝源码中的配置文件到 /etc/proxychains.conf

# cp src/proxychains.conf /etc/proxychains.conf

接下来编辑修改 /etc/proxychains.conf 文件

# vim /etc/proxychains.conf

找到最下面的配置信息,大概长这样

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  127.0.0.1 9050</pre>

将其修改为

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks5  127.0.0.1 1080

接下来就可以在终端中测试看看代理效果了

$ proxychains4 curl www.google.com

浏览器安装 SwitchyOmega

终端程序走代理不必担心了,接下来该让浏览器也走一走代理了。在 Chrome 和 Firefox 中,可以下载安装 SwitchyOmega 扩展来自动走代理。具体的用法可以在安装 SwitchyOmega 完后,根据 SwitchyOmega 的配置提示一步步操作即可。推荐在 SwitchyOmega 中指定使用如下配置,来判断是否走代理:

https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt

《Centos 7 搭建 socks5 代理服务器》有2条留言

留下评论