说明:公司新购进一批阿里云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,完成,然后就可以点击连接实现互联网远程连接内网服务器了
连接成功