使用docker科学上网


  之前写过一篇科学上网指北,学习使用docker后配合食用更佳~

  首先当然是要安装好docker,这里不细说。其实也没什么好扯的,直接上科学上网方法吧。

PPTP

  自己写的一个PPTP的镜像,VPS里直接执行

docker run -d --privileged --net=host ixjx/vpn

就可以食用。

  在github上写Dockerfile,在docker hub上关联github帐号就可以直接生成镜像,这一点docker支持做得不错。

  这样你的pptp vpn就设置好了,默认用户名密码是username/password。接下来就在自己的客户端上连接吧。

L2TP/IPSec

  之前iOS和MacOS升级,导致PPTP VPN已经不能使用了,需要用L2TP/IPSec来代替:

  先把Docker容器拉下来:

  docker pull hwdsl2/ipsec-vpn-server

  然后创建vpn.env文件,在文件中写入:

VPN_IPSEC_PSK=<IPsec pre-shared key>
VPN_USER=<VPN Username>
VPN_PASSWORD=<VPN Password>

  上面的内容分别是秘钥,用户名,密码,随便设置,到时候填入客户端的时候填同样的值就行了。

sudo modprobe af_key
docker run \
    --name ipsec-vpn-server \
    --env-file ./vpn.env \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -v /lib/modules:/lib/modules:ro \
    -d --privileged \
    --restart=always \
    hwdsl2/ipsec-vpn-server

Shadowsocks

  大名鼎鼎的SS。

docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k PASSWORD -m aes-256-cfb

  只需要把上面的PASSWORD换成你自己的密码就可以了,注意,上面创建的shadowsocks端口为1984, 加密方式为aes-256-cfb,在客户端设置时要设置成相同的值。