使用docker 安装 openvpn 服务端

使用 /opt/openvpn/ 存放配置文件

EASYRSA_CA_EXPIRE、EASYRSA_CERT_EXPIRE、EASYRSA_CRL_DAYS 证书相关的有效期(天)

1、生成配置文件

docker run -v /opt/openvpn/conf:/etc/openvpn -e EASYRSA_CA_EXPIRE=365000 -e EASYRSA_CERT_EXPIRE=365000 -e EASYRSA_CRL_DAYS=365000 --rm kylemanna/openvpn ovpn_genconfig -u udp://127.0.0.1:1194

2、生成PKI配置

docker run -v /opt/openvpn/conf:/etc/openvpn -e EASYRSA_CA_EXPIRE=365000 -e EASYRSA_CERT_EXPIRE=365000 -e EASYRSA_CRL_DAYS=365000  --rm -it kylemanna/openvpn ovpn_initpki

3、启动服务

docker run -v /opt/openvpn/conf:/etc/openvpn -e EASYRSA_CA_EXPIRE=365000 -e EASYRSA_CERT_EXPIRE=365000 -e EASYRSA_CRL_DAYS=365000 -d -p 1194:1194/udp --cap-add=NET_ADMIN --restart=always --name openvpn kylemanna/openvpn

如果遇到 ERROR: Cannot open TUN/TAP dev /dev/net/tun: Operation not permitted 错误,则

docker run -v /opt/openvpn/conf:/etc/openvpn -e EASYRSA_CA_EXPIRE=365000 -e EASYRSA_CERT_EXPIRE=365000 -e EASYRSA_CRL_DAYS=365000 -d -p 1194:1194/udp --cap-add=NET_ADMIN --restart=always --name openvpn  --device=/dev/net/tun kylemanna/openvpn

4、修改配置文件 /opt/openvpn/conf/openvpn.conf

#省略以上部分

user nobody
group nogroup
comp-lzo no
client-to-client #允许客户端互相通信
duplicate-cn #允许同一个客户端同时连接多个


### Route Configurations Below
route 172.16.0.0 255.255.0.0  # 设置客户端ip段

push "comp-lzo no"

push "route 192.168.0.0 255.255.255.0 vpn_gateway"  # 配置指定IP段走VPN

生成客户端证书、密钥,客户端名称 1

docker exec  -it openvpn easyrsa build-client-full 1 nopass

导出客户端配置文件

docker exec  -it openvpn ovpn_getclient 1 > 1.ovpn

修改ovpn文件

remote ip port udp # 修改ip、端口

# redirect-gateway def1 # 移除或注释,不然所有网络都会走vpn

如果需要给客户端指定ip,则创建文件 /opt/openvpn/conf/ccd/1

其中 1 是客户端名称

ifconfig-push 172.16.1.1 255.255.0.0

其中 172.16.1.1 就是客户端1 连接后的ip

发表评论