#CentOS 7 安装OpenVPN一、 安装依赖项1、确保装了epel//下载地址:https://centos.pkgs.org/7/epel-x86_64/epel-release-7-9.n
#CentOS 7 安装OpenVPN
一、 安装依赖项
1、确保装了epel
//下载地址:https://centos.pkgs.org/7/epel-x86_64/epel-release-7-9.noarch.rpm.html# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm# rpm -Uvh epel-release-7-9.noarch.rpm# yum update
2、具体依赖项:
# yum install easy-rsa openssh-server lzo openssl openssl-devel openvpn NetworkManager-openvpn openvpn-auth-ldap
二、 设定配置文件
# cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
1、我的内容为:
port 1194# TCP or UDP server?proto tcp;proto udp;dev tapdev tun;dev-node MyTapca ca.crtcert server.crtkey server.key # This file should be kept secretdh dh2048.pem;topology subnetserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txt;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100;server-bridgepush "route 192.168.10.0 255.255.255.0";push "route 192.168.20.0 255.255.255.0";client-config-dir ccd;route 192.168.40.128 255.255.255.248;client-config-dir ccd;route 10.9.0.0 255.255.255.252;learn-address ./script;push "redirect-gateway def1 bypass-dhcp";push "dhcp-option DNS 208.67.222.222";push "dhcp-option DNS 208.67.220.220"client-to-clientduplicate-cnkeepalive 10 120;tls-auth ta.key 0 # This file is secret;cipher AES-256-CBC;compress lz4-v2;push "compress lz4-v2"comp-lzo;max-clients 100;user nobody;group nobodypersist-keypersist-tunstatus openvpn-status.log;log openvpn.loglog-append openvpn.logverb 3;mute 20;explicit-exit-notify 1
- server.conf 配置详细说明
三、用easy-rsa设定证书与密钥
1、设置配置信息
# cp -R /usr/share/easy-rsa/ /etc/openvpn//按需要修改变量的值:# vim /etc/openvpn/easy-rsa/2.0/vars//使之生效: # cd /etc/openvpn/easy-rsa/2.0/# source ./vars
2、生成密钥
# cd /etc/openvpn/easy-rsa/2.0# ./clean-all# ./build-ca # ./build-key-server server# ./build-dh//然后将4个所需文件,复制到openvpn配置目录:# cd /etc/openvpn/easy-rsa/2.0/keys# cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
3、再生成客户端的证书和密钥:
# cd /etc/openvpn/easy-rsa/2.0# ./build-key client//注意设置的时候填写不同的用户名,密码,邮箱等配置,按需设置。
四、其他细节
1、允许ip转发:
# vim /etc/sysctl.conf//末尾添加一行//net.ipv4.ip_forward = 1
2、启动openvpn服务:
# sysctl -p //查看刚才添加的ip转发配置# systemctl start openvpn@server //启动VPN# systemctl enable openvpn@server //添加到开机自启动
** 提示 如果这里报错,服务启动不了,那么查看/etc/openvpn/openvpn.log来定位错误原因。
五、客户端配置
1、将3个文件弄到客户端上:
- a、将
/etc/openvpn/easy-rsa/2.0/keys/
目录下的ca.crt client.crt client.key
三个文件下载放到一个目录下 - b、然后在放上面三个文件的同一目录下新建一个
client.ovpn
文件,内容如下:
clientdev tunproto tcpremote xxx.xxx.xxx.xxx 1194 //xxx.xxx.xxx.xxx 为你服务器外网能访问的IPresolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client.crtkey client.keycomp-lzoverb 3
- c、将上面目录下的所有文件直接拷贝到OpenVPN的配置目录下,就可以连接咯。(推荐软件 Windows: OpenVPN && Mac:Tunnelblick)
六、设置端口
- 为了能在外网连上服务器,得得上面设置的
1194
端口对外开放一下。
# vim /etc/sysconfig/iptables//添加(刚才我们选的是tcp协议)-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT//重启防火墙# systemctl restart iptables
七、常见问题
- 连接VPN后,提示IP地址未改变。
// etc/openvpn/server.conf//打开下面的配置push "redirect-gateway def1 bypass-dhcp"
- 连接VPN后能ping 通 10.8.0.0 但是无法连上Internet
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
参考:http://www.cnblogs.com/zjutzz/p/6092131.html