OpneVPN安装
使用openvpn的tcp模式,同时使用docker-compose安装
1.
创建docker-compose文件
cat docker-compose.yaml
version: '2'
services:
openvpn:
cap_add:
- NET_ADMIN
image: kylemanna/openvpn:2.4
container_name: openvpn
ports:
- "9185:1194" #修改默认端口
restart: always
volumes:
- ./openvpn-data/conf:/etc/openvpn
[root@yingzi-dev-test-verdaccio openvpn]#
1.
生成配置
docker-compose run --rm openvpn ovpn_genconfig -u tcp://ip:9185 ###根据实际情况替换ip
==删除有关dns部分的配置,客户端dns使用公司默认的dns。==
==客户端不使用openvpn作为默认网关,添加客户端路由。==
server 192.168.255.0 255.255.255.0 ###网段允许自定义,不能与已有网段冲突
verb 3
key /etc/openvpn/pki/private/ip.key ###根据实际情况替换ip
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/ip.crt ###根据实际情况替换ip
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
proto tcp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun0
status /tmp/openvpn-status.log
user nobody
group nogroup
comp-lzo no
duplicate-cn ###允许同一个证书重复使用
auth-user-pass-verify /etc/openvpn/checkpwd.sh via-env
username-as-common-name
script-security 3
### Route Configurations Below
push "route 192.168.5.0 255.255.255.0" ###vpc内需要访问的网段
### Push Configurations Below
push "comp-lzo no"
添加checkpwd.sh到openvpn-data/conf目录下
cd openvpn-data/conf;chmod 755 checkpwd.sh;touch openvpn-password.log;chmod 777 openvpn-data/conf
1.
生成证书
docker-compose run --rm openvpn ovpn_initpki
如果执行生成证书出错,把openvpn-data目录下pki目录删掉,重新执行命令即可。
1.
启动服务
docker-compose up -d openvpn
1.
生成客户端证书
docker-compose run --rm openvpn easyrsa build-client-full yingzi
1.
导出含有证书的客户端配置
docker-compose run --rm openvpn ovpn_getclient yingzi > yingzi.ovpn
==客户端配置追加内容==
<dh>
......
</dh>
client
dev tun
proto tcp
remote xxx.xxx.xxx.xxx 9185
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth-user-pass
verb 3
==客户端配置删除内容==
redirect-gateway def1
xxx.xxx.xxx.xxx指定的是openvpn的公网ip,这个你可以使用弹性ip绑定相应主机,也可以使用公网elb转发到相应主机。
获取dh的内容,cat openvpn-data/conf/pki/dh.pem,追加到dh标签中间。
配置redirect-gateway def1,客户端会将所有的流量通过openvpn转发,不使用默认网关,因此删除。
1.
cleint配置导入
将合并好的配置放到如下目录
C:\Program Files\OpenVPN\config
参考 https://github.com/kylemanna/docker-openvpn/blob/master/docs/docker-compose.md
文章转载自云时代IT运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




