在linux系统中用docker搭建ss

发布时间:2019-03-29 22:00:07发布者:Mr.Zhang阅读(930)

首先呢,你的先有一台自己的服务器把,这个就不多赘述了,我自己买了一台国外的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 6445:6445 mritd/shadowsocks -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/shadowsocks/

  安装成功后,就已经启动了这个容器,可以再次使用`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=public --add-port=6445/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

 

 

  





本文转自博客园,原文地址:https://www.cnblogs.com/Steven-shi/p/10622444.html