搭建背景
说出来你们可能不信,笔者本次搭建Shadowsocks服务器
并不是为了爬墙,仅仅是因为我在实验室一共有两台电脑都需要连接外网,一台笔记本,一台台式机(两台机器接同一局域网内的不同网口,都有独立公网IP)。但是学校的校园网账号是有限制的,就是我只能登录其中的一台去上网(可能有人会说了,你既然有一台笔记本那么笔记本上不是有无线网卡吗,只要买个随身wifi插到台式机上不就可以给笔记本提供wifi信号进行上网了吗?……好吧,我就是不想给台式机上一直插一个那么丑的东西),所以我这次搭建Shadowsocks服务器
仅仅是为了让两台机器能够同时上网。当然了,需要搭建科学上网服务器的同学也可以按照下面的搭建步骤进行哦,前提是你需要有一台国外的Docker服务器。
最开始我是想采用Windows自带的服务搭建VPN
服务器,把台式机当作服务器,把笔记本当作客户机,理论上就可以将笔记本接入台式机的VPN服务
访问外网了,听起来蛮不错的吧。
转念一想,我之前在实验室的云服务器上开过一台Ubuntu
的虚拟机,何不在上面搭建一个Shadowsocks服务器
呢(这样还有一个好处就是我出差或回家的时候仍然可以登录上SS到知网上下载论文了,哈哈)。当然了,虽然直接在Ubuntu
上搭建SS服务器也挺简单的,但是这次想着还是结合下之前自学的东西吧,于是就引出了今天所写的使用Docker快速搭建Shadowsocks服务器。
前置条件
- Ubuntu主机一台
- 安装Docker
- 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
2CONTAINER 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,简单的几步就配置完毕了,在托盘中选择启用系统代理
,嗯哼,笔记本可以正常上网了(而且走的是云服务器的校园网流量,不花钱的哟,好开心~)