暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

安装openvpn

云时代IT运维 2021-02-04
4114

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论