openvpn 安装配置

Posted on Posted in linux
Tips: 本文创建于2016年8月3日,已超过 2 年,内容或图片可能已经失效!

1. 安装epel源,安装openssl和lzo,lzo用于压缩通讯数据加快传输速度

  1. yum -y install epel-release openssl openssl-devel lzo  

2. 安装openvpn和easy-rsa

  1. yum install openvpn easy-rsa  

3. 修改vars文件

  1. vim /usr/share/easy-rsa/2.0/vars  
  2. export KEY_COUNTRY="CN"  
  3. export KEY_PROVINCE="BeiJing"  
  4. export KEY_CITY="BeiJing"  
  5. export KEY_ORG="MyOrganization"  
  6. export KEY_EMAIL="me@myhost.mydomain"  
  7. export KEY_OU="MyOrganizationalUnit"  

4. 初始化环境变量

  1. source /usr/share/easy-rsa/2.0/vars  

5. 清除keys目录下所有与证书相关的文件

  1. cd /usr/share/easy-rsa/2.0/  
  2. ./clean-all  

6. 生成根证书ca.crt和根密钥ca.key,一路回车即可

  1. ./build-ca  

7. 为服务端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)

  1. ./build-key-server server  

8. 每一个登陆的VPN客户端需要有一个证书,每个证书在同一时刻只能供一个客户端连接,下面建立2份

> 为客户端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)

  1. ./build-key client1  
  2. ./build-key client2  

9. 创建迪菲·赫尔曼密钥,会生成dh2048.pem文件

  1. ./build-dh  

10. 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击)

  1. [root@mycentos 2.0]# openvpn --genkey --secret keys/ta.key  

> 目录结构

  1. [root@mycentos 2.0]# ls -al keys/  
  2. total 120  
  3. drwx------. 2 root root 4096 Aug  3 17:43 .  
  4. drwxr-xr-x. 3 root root 4096 Aug  3 17:39 ..  
  5. -rw-r--r--. 1 root root 5653 Aug  3 17:40 01.pem  
  6. -rw-r--r--. 1 root root 5532 Aug  3 17:41 02.pem  
  7. -rw-r--r--. 1 root root 5532 Aug  3 17:41 03.pem  
  8. -rw-r--r--. 1 root root 1834 Aug  3 17:39 ca.crt  
  9. -rw-------. 1 root root 1704 Aug  3 17:39 ca.key  
  10. -rw-r--r--. 1 root root 5532 Aug  3 17:41 client1.crt  
  11. -rw-r--r--. 1 root root 1102 Aug  3 17:41 client1.csr  
  12. -rw-------. 1 root root 1704 Aug  3 17:41 client1.key  
  13. -rw-r--r--. 1 root root 5532 Aug  3 17:41 client2.crt  
  14. -rw-r--r--. 1 root root 1102 Aug  3 17:41 client2.csr  
  15. -rw-------. 1 root root 1704 Aug  3 17:41 client2.key  
  16. -rw-r--r--. 1 root root  424 Aug  3 17:42 dh2048.pem  
  17. -rw-r--r--. 1 root root  455 Aug  3 17:41 index.txt  
  18. -rw-r--r--. 1 root root   21 Aug  3 17:41 index.txt.attr  
  19. -rw-r--r--. 1 root root   21 Aug  3 17:41 index.txt.attr.old  
  20. -rw-r--r--. 1 root root  303 Aug  3 17:41 index.txt.old  
  21. -rw-r--r--. 1 root root    3 Aug  3 17:41 serial  
  22. -rw-r--r--. 1 root root    3 Aug  3 17:41 serial.old  
  23. -rw-r--r--. 1 root root 5653 Aug  3 17:40 server.crt  
  24. -rw-r--r--. 1 root root 1102 Aug  3 17:40 server.csr  
  25. -rw-------. 1 root root 1708 Aug  3 17:40 server.key  
  26. -rw-------. 1 root root  636 Aug  3 17:43 ta.key  

11. 创建服务器端配置文件

  1. mkdir /etc/openvpn/keys  

12. 拷贝文件

  1. cp /usr/share/easy-rsa/2.0/keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/openvpn/keys/  

13. 复制配置文件模板server.conf到/etc/openvpn

  1. cp /usr/share/doc/openvpn-2.3.11/sample/sample-config-files/server.conf /etc/openvpn/  

14. 查看server.conf里的配置参数

  1. grep '^[^#:]' /etc/openvpn/server.conf  

15. 编辑server.conf

  1. vim /etc/openvpn/server.conf    
  2. proto tcp #改成tcp    
  3. dev tun    
  4. ca keys/ca.crt   # 路径前面加keys,全路径为/etc/openvpn/keys/ca.crt    
  5. cert keys/server.crt    
  6. key keys/server.key  # This file should be kept secret    
  7. dh keys/dh2048.pem    
  8. # 默认虚拟局域网网段,不要和实际的局域网冲突即可。这是vpn机器所在的网段。   
  9. server 10.8.0.0 255.255.255.0    
  10. ifconfig-pool-persist ipp.txt    
  11. #是我这台VPN服务器所在的内网的网段,根据实际情况更改。vpn客户端通过连接外网ip-1,可以ping通内网的这个IP-2(37网段)  
  12. push "route 192.168.37.0 255.255.255.0"    
  13. # 可以让客户端之间相互访问直接通过openvpn程序转发,根据需要设置    
  14. client-to-client    
  15. # 如果客户端都使用相同的证书和密钥连接VPN,一定要打开这个选项,否则每个证书只允许一个人连接VPN    
  16. duplicate-cn    
  17. keepalive 10 120    
  18. tls-auth keys/ta.key 0    
  19. comp-lzo    
  20. persist-key    
  21. persist-tun    
  22. # OpenVPN的状态日志,默认为/etc/openvpn/openvpn-status.log    
  23. status openvpn-status.log    
  24. # OpenVPN的运行日志,默认为/etc/openvpn/openvpn.log     
  25. log-append  openvpn.log    
  26. # 改成verb 5可以多查看一些调试信息   

16. 开启路由转发

  1. sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf  
  2. sysctl -p  

17. 配置防火墙

  1. iptables -I INPUT -p tcp --dport 1194 -m comment --comment "openvpn" -j ACCEPT  
  2. iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE  
  3. service iptables save  

18. 启动openvpn并设置为开机启动

  1. service openvpn start  
  2. chkconfig openvpn on  

19. 创建客户端配置文件

  1. cp /usr/share/doc/openvpn-2.3.11/sample/sample-config-files/client.conf /etc/openvpn/client.ovpn  
  2. vim client.ovpn  
  3.   
  4. client  
  5. # OpenVPN服务器的外网IP和端口  
  6. remote 192.168.119.128 1194  
  7. resolv-retry infinite  
  8. nobind  
  9. persist-key  
  10. persist-tun  
  11. ca ca.crt  
  12. # client1 的证书和key  
  13. cert client1.crt  
  14. key client1.key  
  15. ns-cert-type server  
  16. tls-auth ta.key 1  
  17. comp-lzo  
  18. verb 3  

20. linux 连接vpn

> 在完成第二步安装好openvpn后,上传ca.crt client1.crt client1.key client.ovpn ta.key到客户端,在同一目录

  1. openvpn --config client.ovpn  

21. windows 连接客户端,把ca.crt client2.crt client2.key client.ovpn ta.key拷贝的安装的config目录连接即可

22. 客户端固定ip

  1. vim server.conf  
  2. client-config-dir ccd  
  3.   
  4. mkdir ccd  
  5. vim ccd/client2  #名字一致  
  6. ifconfig-push 10.8.0.50 10.8.0.51  
» 转载请注明来源:若我若鱼 » openvpn 安装配置

Leave a Reply

Your email address will not be published. Required fields are marked *

2 × one =