Docker实战(1)——使用Docker快速搭建Shadowsocks服务器

搭建背景


说出来你们可能不信,笔者本次搭建Shadowsocks服务器并不是为了爬墙,仅仅是因为我在实验室一共有两台电脑都需要连接外网,一台笔记本,一台台式机(两台机器接同一局域网内的不同网口,都有独立公网IP)。但是学校的校园网账号是有限制的,就是我只能登录其中的一台去上网(可能有人会说了,你既然有一台笔记本那么笔记本上不是有无线网卡吗,只要买个随身wifi插到台式机上不就可以给笔记本提供wifi信号进行上网了吗?……好吧,我就是不想给台式机上一直插一个那么丑的东西),所以我这次搭建Shadowsocks服务器仅仅是为了让两台机器能够同时上网。当然了,需要搭建科学上网服务器的同学也可以按照下面的搭建步骤进行哦,前提是你需要有一台国外的Docker服务器。

最开始我是想采用Windows自带的服务搭建VPN服务器,把台式机当作服务器,把笔记本当作客户机,理论上就可以将笔记本接入台式机的VPN服务访问外网了,听起来蛮不错的吧。

转念一想,我之前在实验室的云服务器上开过一台Ubuntu的虚拟机,何不在上面搭建一个Shadowsocks服务器呢(这样还有一个好处就是我出差或回家的时候仍然可以登录上SS到知网上下载论文了,哈哈)。当然了,虽然直接在Ubuntu上搭建SS服务器也挺简单的,但是这次想着还是结合下之前自学的东西吧,于是就引出了今天所写的使用Docker快速搭建Shadowsocks服务器

OK,废话少说,详细写下这个非常简单的搭建过程吧。

前置条件

  1. Ubuntu主机一台
  2. 安装Docker
  3. Shadowsocks客户端

安装 Shadowsocks

拉取docker-shadowsocks镜像

拉取docker-shadowsocks镜像镜像安装,从 Docker Hub 仓库拉取命令如下(笔者未使用)

1
docker pull oddrationale/docker-shadowsocks

在这里笔者通过DaoCloud提供Docker Hub Mirror服务进行镜像的加速下载(在《Docker学习笔记(2)–使用Docker Hub Mirror加速Docker官方镜像下载》介绍过),命令如下:

1
sudo dao pull oddrationale/docker-shadowsocks

安装完成后如下图所示:

配置docker-shadowsocks

输入如下命令:

1
docker run -d -p 54285:54285 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 54285 -k yourpasswd -m aes-256-cfb

其中,

  • -d——容器启动后会进入后台
  • -p(第一个)——指定要映射的端口,使用的格式是hostPort:containerPort,即本地的 54285 端口映射到容器的 54285 端口
  • -s——服务器IP
  • -p(第二个)——代理端口
  • yourpasswd——你的密码
  • -m——加密方式

检查一下 SS 是否已经安装成功:

1
sudo docker ps

可以看到:

1
2
CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS              PORTS                      
10ef831c1904 oddrationale/docker-shadowsocks "/usr/local/bin/ssser" 4 seconds ago Up 3 seconds 0.0.0.0:54285->54285/tcp

说明服务器端已经配置成功。

客户端配置

下载Shadowsocks客户端,可以从 ISS 网站进行下载。

以 Shadowsocks for Windows 客户端 为例,安装好后添加服务器配置:

填上 ip 地址,端口,密码,密码就是刚刚的 yourpasswd,点击确定。

其实至此正常来说已经配置完毕了,但我这次毕竟不是配置科学上网,是要通过SS来访问Ubuntu进行正常上网的,因此在托盘中需要将系统代理模式修改为全局代理才能够正常上网。

OK,简单的几步就配置完毕了,在托盘中选择启用系统代理,嗯哼,笔记本可以正常上网了(而且走的是云服务器的校园网流量,不花钱的哟,好开心~)

坚持原创技术分享,您的支持将鼓励我继续创作!