dockerfiles/openvpn
kev bf905d9250 update openvpn 2018-03-15 18:10:45 +08:00
..
arm update openvpn-arm 2016-07-12 16:01:42 +08:00
README.md update openvpn 2018-03-15 18:10:45 +08:00
docker-compose-fteproxy.yml use kylemanna/openvpn 2016-09-19 13:04:07 +08:00
docker-compose-kcptun.yml use kylemanna/openvpn 2016-09-19 13:04:07 +08:00
docker-compose-stunnel.yml use kylemanna/openvpn 2016-09-19 13:04:07 +08:00
setup.sh use kylemanna/openvpn 2016-09-19 13:04:07 +08:00

OpenVPN

OpenVPN is blocked in China. You need to connect vpn via secure tunnel.

Instead of using fteproxy as bridge, you can also use stunnel or kcptun.

  • server: vpn.easypi.info
  • bridge: bridge.easypi.info
  • client: localhost

docker-compose.yml (server)

openvpn:
  image: kylemanna/openvpn
  ports:
    - "1194:1194"
  volumes:
    - ./data:/etc/openvpn
  cap_add:
    - NET_ADMIN
  restart: always

fteproxy:
  image: vimagick/fteproxy
  ports:
    - "4911:4911"
  links:
    - openvpn
  environment:
    - MODE=server
    - SERVER_IP=0.0.0.0
    - SERVER_PORT=4911
    - PROXY_IP=openvpn
    - PROXY_PORT=1194
    - KEY=CB2FBA2BC70490526E749E01BB050F6B555964290DFF58CF24785B4A093F7B18
  restart: always

docker-compose.yml (bridge)

fteproxy:
  image: vimagick/fteproxy
  ports:
    - "1194:1194"
  environment:
    - MODE=client
    - SERVER_IP=vpn.easypi.pro
    - SERVER_PORT=4911
    - CLIENT_IP=0.0.0.0
    - CLIENT_PORT=1194
    - KEY=CB2FBA2BC70490526E749E01BB050F6B555964290DFF58CF24785B4A093F7B18
  restart: always

Server Setup

$ ./setup.sh
1) server ...... (Step 1)
2) client ...... (Step 2)
3) revoke
4) quit   ...... (Step 3)

$ docker-compose up -d

Some Advanced Config

$ cat ./data/openvpn.conf
...
### Push Configurations Below
push "route 114.114.114.114 255.255.255.255 net_gateway"
push "route 192.168.0.0 255.255.0.0 net_gateway"
push "route 172.16.0.0 255.240.0.0 net_gateway"
push "route 10.0.0.0 255.0.0.0 net_gateway"

$ docker-compose restart

Bridge Setup

$ docker-compose up -d

Client Setup

$ cat /etc/openvpn/client.conf
...
remote bridge.easypi.info 1194 tcp
route 192.168.0.0 255.255.0.0 net_gateway
route 172.16.0.0 255.240.0.0 net_gateway
route 10.0.0.0 255.0.0.0 net_gateway
...
$ systemctl start openvpn@client
$ systemctl enable openvpn@client

References