OpenVPN服务搭建

来源:互联网 发布:网络三巨头是什么意思 编辑:程序博客网 时间:2024/06/07 04:03


转至元数据结尾
转至元数据起始

  • 安装openvpn
  • 生成证书
  • 开启IP forwarding以及配置NAT路由规则
  • 配置server conf
  • 配置client conf
  • 启动openvpn server 和 client

安装openvpn

yum install openvpn easy-rsa
mkdir -p /etc/openvpn/easy-rsa/keys
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

easy-rsa用于生成证书

生成证书

cd /etc/openvpn/easy-rsa/
vi vars
# 将KEY_COUNTRY、KEY_PROVINCE、KEY_CITY、KEY_ORG、KEY_EMAIL、KEY_OU相应地进行修改
# 初始化openssl.cnf
cp openssl-1.0.0.cnf openssl.cnf
source ./vars
./clean-all
# 生成CA证书和密钥
./build-ca  # 由于vars里面已经进行了相应配置,所以一路回车,最后两个“Y”选项即可
# 生成server对应的证书和密钥
./build-key-server server # 同上一路回车
# 生成client对应的证书和密钥
./build-key client # 同上
# 生成Diffie Hellman交换参数
./build-dh # 默认为2048
# 将server所需证书拷贝到/etc/openvpn/下
cd /etc/openvpn/easy-rsa/keys
cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
 
# 将client所需证书拷贝到client机器的/etc/openvpn目录下
# 包括ca.crt、client.crt、client.key
# windows为openvpn安装目录中config目录下

开启IP forwarding以及配置NAT路由规则

vi /etc/sysctl.conf # 将net.ipv4.ip_forward设置为1
sysctl -p
# 添加NAT路由规则,将源IP地址10.8.0.0/24改为eth0网卡IP地址
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save
service iptables restart

配置server conf

cp /usr/share/doc/openvpn-2.3.10/sample/sample-config-files/server.conf /etc/openvpn/
vi /etc/openvpn/server.conf
# 修改proto 为tcp
取消注释proto tcp
注释proto udp
# 选择vpn子网所用网段
server 10.8.0.0 255.255.255.0 # 将10.8.0.0修改为所选择的子网段
# 将如下取消注释
push "route 192.168.10.0 255.255.255.0" # 为了让client端能够使用internal ip访问BMR集群,将对应的网段修改为BMR集群所使用的网段
user nobody
group nobody
duplicate-cn # 为了让用户不需要修改client配置就可以使用多个client访问server
# 将如下注释
ifconfig-pool-persist ipp.txt # 为了给使用一个client身份访问server的多个client端分不同的ip地址

配置client conf

cp /usr/share/doc/openvpn-2.3.10/sample/sample-config-files/client.conf /etc/openvpn/
# 找到如下语句,修改my-server-1为BMR集群的EIP
remote my-server-1 1194

启动openvpn server 和 client

# linux
service openvpn start
# 如果无法启动,可能是因为/etc/openvpn下有两个conf文件(server.conf和之前生成的client.conf),只保留server.conf即可。
# window
# 只要相应的证书与配置文件修改后,打开openvpn client即可正常连接
0 0