openvpn:是一款开源vpn工具。
简介
OpenVPN 是一个开源的虚拟私人网络(VPN)解决方案,广泛用于安全地连接远程用户和分支机构到企业网络。它通过安全的隧道加密技术,确保数据在不安全的网络上进行安全传输。
核心特性
-
高安全性: OpenVPN 使用 SSL/TLS 协议进行加密,支持多种加密算法,确保数据的机密性和完整性。
-
灵活性: 支持点对点和站点对站点的连接,可以适应多种网络拓扑和应用场景。
-
跨平台支持: 可在多种操作系统上运行,包括 Windows、macOS、Linux、Android 和 iOS,方便用户在不同设备上使用。
-
强大的认证机制: 支持多种身份验证方式,包括用户名/密码、证书和双因素认证,增强安全性。
-
易于配置: 提供丰富的配置选项,用户可以根据需求自定义 VPN 环境。
-
社区和商业支持: 拥有活跃的社区和商业支持选项,提供文档、教程和技术支持。
使用场景
-
远程访问: 允许远程员工安全地连接到公司网络,访问内部资源。
-
安全数据传输: 在公共 Wi-Fi 网络下保护敏感数据的传输,防止数据被窃取。
-
地域限制绕过: 通过 VPN 连接到其他地区的服务器,访问受地理限制的内容。
-
分支机构互联: 实现不同地点的办公室安全互联,支持企业的分布式架构。
总结
OpenVPN 是一个灵活、安全且功能强大的 VPN 解决方案,适合个人和企业用户。通过提供高水平的安全性和灵活的配置选项,它能够满足多种网络连接需求,是构建安全通信渠道的重要工具。
部署
服务端
注意修改公网ip地址
# 初始化
docker run -v ./openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://公网地址
docker run -v ./openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
# 启动
docker run -v ./openvpn:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
修改./openvpn/openvpn.conf,需重启服务生效
# 客户端连接分配的ip池
server 192.168.254.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/123.60.11.34.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/123.60.11.34.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
proto udp
# 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
### Route Configurations Below
route 192.168.253.0 255.255.255.0
# 客户端可以连接的服务端网段
### Push Configurations Below
push "route 192.168.0.0 255.255.255.0"
push "comp-lzo no"
创建test用户
docker run -v ./openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full test nopass
docker run -v ./openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient test > /tmp/test.ovpn
删除用户
docker run -v openvpn-data:/etc/openvpn --rm -it kylemanna/openvpn easyrsa revoke test
docker run -v openvpn-data:/etc/openvpn --rm -it kylemanna/openvpn easyrsa gen-crl
客户端
复制创建用户生成的 test.ovpn 到 客户端机器上的 /etc/openvpn/client/
# 安装openvpn包
yum -y install epel-release
yum -y install openvpn
# 启动客户端
openvpn --daemon --cd /etc/openvpn/client/ --config test.ovpn --log-append /var/log/test-vpn.log