Openvpn搭建详解

说明:公司新购进一批阿里云ESC服务器,计划只有一台有公网IP,其他都通过内网连接。那么问题来了,平时维护时,如果要通过远程工具连接其他服务器就需要先登录公网服务器(A),然后跳转到其内网其他机器上,很不方便。所以我想到了通过vpn的方式,可以直接通过互联网连接其他内网服务器进行维护。

工具

[root@izm5edykqg8tzid352ga0iz openvpn]# ls
lzo-2.02  lzo-2.02.tar.gz  openvpn-2.0.9  openvpn-2.0.9.tar.gz

安装步骤如下:

 #创建工具目录,并导入需要软件安装包
 cd tools/
 mkdir openvpn
 cd openvpn/
 rz -E

#安装lzo
 tar -xf lzo-2.02.tar.gz
 cd lzo-2.02
 ./configure
 make && make install
 echo $?
 cd ..

#安装openvpn(记得先安装openssl)
 yum -y install openssl*
 tar -xf openvpn-2.0.9.tar.gz
 cd openvpn-2.0.9
 ./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib
 make && make install
 echo $?
 cd easy-rsa/2.0/
 cp -rp vars vars-2019-02-12.bak

#修改证书默认参数
 vim vars
export KEY_COUNTRY="CA"
export KEY_PROVINCE="BJ"
export KEY_CITY="Beijing"
export KEY_ORG="dannylinux"
export KEY_EMAIL="[email protected]"

 source vars

#清空原有keys目录证书文件
 ./clean-all

#创建CA证书
 ./build-ca

 ls keys/


#创建服务端证书及秘钥
 ./build-key-server server


#生成dh1024.pem文件(创建迪菲·赫尔曼密钥)
 ./build-dh

#简介:迪菲·赫尔曼密钥交换(Diffie–Hellman key exchange,简称「D–H」) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。


#生成ta证书
 openvpn --genkey --secret keys/ta.key
#目的:这一步其实是可选操作,生成的ta.key主要用于防御DoS、UDP淹没等恶意攻击。命令中的第3个参数keys/ta.key表示生成的文件路径(含文件名)

#创建openvpn服务用目录
 mkdir /etc/openvpn
 cp -a keys/ /etc/openvpn/    #复制key中相应文件

 cd /root/tools/openvpn/openvpn-2.0.9/sample-config-files/
 cp server.conf client.conf /etc/openvpn/   #复制配置文件

 cd /etc/openvpn/
 cp -rp server.conf server.conf.bak
 vim server.conf
local 0.0.0.0
port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
push "route 172.31.0.0 255.255.0.0"
client-to-client
log /var/log/openvpn.log
#以上是用到的全部server配置文件,可清空原文件直接复制粘贴

#防火墙端口开启,注意阿里云服务器安全组端口开启
 iptables -I INPUT -p tcp --dport 1194 -j ACCEPT
 service iptables save

#后台启动
 openvpn --config /etc/openvpn/server.conf &
 ps -ef |grep openvpn
 tailf /var/log/openvpn.log
 cd /etc/openvpn/keys/

#导出ca证书,客户端连接会用到
 sz ca.crt

#防火墙请求转发
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 172.31.16.128(这是改服务器内网IP)

#创建连接用户证书文件,并导出,客户端连接会用到
 cd /root/tools/openvpn/openvpn-2.0.9/easy-rsa/2.0/
 ./build-key danny
 cp -a keys/danny.* /etc/openvpn/keys/
 sz keys/danny.*

 tailf /var/log/openvpn.log

客户端win7上

工具  openvpn-install-2.3.7-I603-x86_64.exe

 

点击并完成安装

在config文件夹下创建danny目录,存放刚从服务器上导出的认证文件,并在sample-config中复制一份client.ovpn到该目录下

目录文件如下:

修改danny.ovpn

client
dev tun
proto tcp
remote 服务器公网IP 1194
resolv-retry infinite
nobind
ca ca.crt
cert danny.crt
key danny.key
comp-lzo
verb 3

OK,完成,然后就可以点击连接实现互联网远程连接内网服务器了

 连接成功

猜你喜欢

转载自www.cnblogs.com/dannylinux/p/10364575.html