目前OpenVPN的最新版本是2.4.0,从2.3.0开始OpenVPN的源码包里就不再包含easy-rsa了,需要单独下载,而且下载的是easy-rsa3,这个版本我没用过,所以还是用我比较熟悉的e
目前OpenVPN的最新版本是2.4.0,从2.3.0开始OpenVPN的源码包里就不再包含easy-rsa了,需要单独下载,而且下载的是easy-rsa3,这个版本我没用过,所以还是用我比较熟悉的easy-rsa2吧。
我在官网上找到了旧版本的下载地址,需要下载地址的小伙伴请单击此处(需要翻墙)。
首先,安装依赖包:
yum -y install gcc make lzo-devel openssl-devel
将下载好的源码包上传到服务器的/tmp目录,然后执行下列命令:
tar xzf /tmp/openvpn-2.2.2.tar.gz -C /tmp/cd /tmp/openvpn-2.2.2/./configuremakemake installcd easy-rsa/2.0/sed -i '/^export KEY_SIZE/s/1024/2048/' varssource vars./clean-all./build-ca # 一路回车即可./build-key-server server # 一路回车,提示输入y/n时请输入y。./build-key client # 同上./build-dh # 执行这个命令时可能需要很长时间,请耐心等候。/usr/local/sbin/openvpn --genkey --secret keys/ta.keymkdir -p /etc/openvpn/keyscp keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/openvpn/keys/
创建/etc/openvpn/server.conf文件,内容如下:
port 1194proto udpdev tunca keys/ca.crtcert keys/server.crtkey keys/server.keydh keys/dh2048.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "route 192.168.1.0 255.255.255.0" # 192.168.1.0/24是我这台VPN服务器所在的内网的网段,读者应该根据自身实际情况进行修改。keepalive 10 120tls-auth keys/ta.key 0comp-lzopersist-keypersist-tunstatus openvpn-status.logverb 3
开启路由转发功能:
sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.confecho 1 > /proc/sys/net/ipv4/ip_forward
配置防火墙:
iptables -Fiptables -Xiptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPTiptables -t nat -Fiptables -t nat -Xiptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADEservice iptables save
启动openvpn服务:
openvpn --config /etc/openvpn/server.conf
服务端的配置就到此结束了,接下来开始配置客户端了。
客户端的下载地址在此:
http://swupdate.openvpn.org/community/releases/openvpn-2.2.2-install.exe
在客户端的openvpn的config目录下创建一份客户端文件(命名为client.ovpn),内容如下:
clientdev tunproto udpremote 服务端公网IP 1194 # 读者注意修改此处。resolv-retry infinitenobindpersist-keypersist-tunns-cert-type servercomp-lzoverb 3tls-auth [inline] 1<ca>将/tmp/openvpn-2.2.2/easy-rsa/2.0/keys/ca.crt的全部内容复制粘贴于此。</ca><cert>将/tmp/openvpn-2.2.2/easy-rsa/2.0/keys/client.crt的全部内容复制粘贴于此。</cert><key>将/tmp/openvpn-2.2.2/easy-rsa/2.0/keys/client.key的全部内容复制粘贴于此。</key><tls-auth>将/tmp/openvpn-2.2.2/easy-rsa/2.0/keys/ta.key的全部内容复制粘贴于此。</tls-auth>
测试:启动openvpn程序,如果能获取到IP且能ping通内网其他的IP就表示搭建成功了。