首先呢,你的先有一台自己的服务器把,这个就不多赘述了,我自己买了一台国外的VPS.
- 一、docker的安装
首先我们来看下服务器的版本信息:
cat /etc/redhat-release //CentOS Linux release 7.6.1810 (Core)
1、docker安装
yum install -y docker
安装完之后查看是否安装成功:
yum list installed | grep docker
启动docker服务
systemclt start docker
查看docker是否启动成功
systemctl status docker
看到那个绿色的字体了嘛,OK,启动成功
查看docker中的所有容器:
docker ps
默认应该是空的,但是我这里已经新增了一个容器。
- 二、在docker中安装ss服务端
直接上命令:
docker run -dt --name ss-server -p : mritd/* -s "-s 0.0.0.0 -p 6445 -m aes-256-cfb -k 123456test --fast-open" --restart=always
注意,-k后面是你后面再客户端使用的时候的密码。
参考文献:https://hub.docker.com/r/mritd/*/
安装成功后,就已经启动了这个容器,可以再次使用`docker ps`来查看已经启动的容器
- 三、配置客户端
下载ss客户端,打开之后就是这样滴:没错,就是桌面右下角的小飞机图标
、
在图标上右键->服务器-》编辑服务器,输入配置信息:服务器地址即你的服务器的IP,端口,我上面安装的时候指定的是6445,也可以自己指定,密码也是安装ss的时候就设置的,加密选 aes-256-cfb,确定。
这样,就配置好了,再次右键小飞机,选择启动系统代理,就可以了
- 四、google一下,不能访问?
这一切好像太顺利了,google一下,发现的确不能访问,这种时候就很容易想到一件事,那就是防火墙,这里就用到文章最开始要去看看系统版本的原因了,因为centos7系统开始,使用firewalld服务替代了iptables服务
查看防火墙状态:
systemctl status firewalld
发现时开着的,关了再试试呢?
systemctl stop firewalld
再试试发现还是不能访问google...
重启下docker呢?
systemctl restart docker
docker start ss-server
这里的ss-server是你之前安装的时候--name后面的东西哦
再试试,bingo!!!成功了
现在知道问题所在了,如果我们需要打开防火墙仍然可以使用怎么办呢?那就开放端口咯
首先打开防火墙
systemctl start firewalld
查看已经开放的端口:
firewall-cmd --list-ports
发现没有6445,OK,开启端口:
firewall-cmd --zone=/tcp --permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙:
firewall-cmd --reload #重启firewall
重启docker:
systemctl restart docker
docker start ss-server
再试试google一下,成功了吧
- 五、其他
关闭docker中的容器:
docker stop ss-server
删除docker中的容器:
docker rm ss-server
如果您想临时关闭防火墙,输入命令
systemctl stop firewalld
如果您想永久关闭防火墙,输入命令
systemctl disable firewalld