[toc]
OpenVPN安装
1.前期环境准备
1.1 实验环境
OpenVPN软件版本 2.4.9
| 系统 | IP | 公网IP | 配置 | 内核 |
|---|---|---|---|---|
| CentOS7.9 | 172.16.0.71 | 8.8.8.8 | 1c1g | 3.10.0-1160.11.1.el7.x86_64 |
| mac本机 | 10.0.18.249 | 9.9.9.9 | - | - |
1.2 OpenVPN 机器配置必要修改
1.2.1 开启路由转发
# 不存在则配置路由转发
grep 'net.ipv4.ip_forward = 1' /etc/sysctl.conf || echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
# 使配置生效
sysctl -p
1.2.2 iptables配置
设置iptables规则
# 客户端连接vpn后,默认分配 10.8.0.0/24网段,需要进行nat设置
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# 配置开机启动
echo 'iptables -t nat -A POSTROUTING -s 10.7.0.0/24 -o eth0 -j MASQUERADE' >> /etc/rc.d/rc.local
# 给rc.local文件增加可执行权限,否则开机不会执行
chmod u+x /etc/rc.d/rc.local
验证
# 验证
$ iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.8.0.0/24 0.0.0.0/0
删除上述iptables配置信息使用如下命令,可以对比正常和异常访问
iptables -t nat -D POSTROUTING 1
2.安装过程
2.1 安装依赖包
yum -y install lzo-devel lz4-devel pam-devel openssl-devel libcap-ng-devel
2.2 编译安装openvpn
2.2.1 下载源码包
export OPENVPN_VERSION=2.7.0
wget
https://github.com/OpenVPN/openvpn/releases/download/v${OPENVPN_VERSION}/openvpn-${OPENVPN_VERSION}.tar.gz