• 1
  • 2
  • 3
  • 4
  • 5
阿里云主机ECS 首 页  »  帮助中心  »  云服务器  »  阿里云主机ECS
ECS CentOS 6.5 OpenVPN配置详细说明
发布日期:2016-1-9 16:1:20

  1、系统环境: CentOS 6.5 64位

  2、进行安装前先按照:https://help.aliyun.com/knowledge_detail/5974184.html 更新yum源为阿里云的内网yum源。

  3、安装依赖的软件包;

  yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel

  yum install -y pkcs11-helper pkcs11-helper-devel

  确认已安装完成

  rpm -qa lzolzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel

  

  4、安装openvpn服务

  1)下载openvpn的源码包

  wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz

  2)使用rpmbuild将源码包编译成rpm包来进行安装

  rpmbuild -tb openvpn-2.2.2.tar.gz

  执行这条命令以后就会正常开始编译了,编译完成后会在/root/rpmbuild/RPMS/x86_64目录下生成openvpn-2.2.2-1.x86_64.rpm安装文件

  3) 执行rpm -ivh openvpn-2.2.2-1.x86_64.rpm 以rpm包的方式安装

  

  5、配置OPENVPN服务(服务端)

  1)初始化PKI

  cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0

  进入到/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0目录下,找到vars证书环境文件,修改以下几行export定义的参数值

  export KEY_EMAIL=my@test.com 邮件地址

  exportKEY_ORG="aliyun" 所属的组织

  exportKEY_CITY="Hangzhou" 所在的城市

  export KEY_PROVINCE="BJ" 所在的省份

  exportKEY_COUNTRY="CN" 所在的国家

  上述参数的值可以自定义设置,对配置无影响。

  2)生成服务端的证书:

  ln -s openssl-1.0.0.cnf openssl.cnf 做个软链接到openssl-1.0.0.cnf配置文件

  source ./vars

  ./clean-all

  清除并删除keys目录下的所有key

  ./build-ca

  生成CA证书,刚刚已经在vars文件中配置了默认参数值,多次回车完成就可以

  

  ./build-key-server aliyuntest

  生成服务器证书,其中aliyuntest是自定义的名字,一直回车,到最后会有两次交互,输入y确认,完成后会在keys目录下保存了aliyuntest.key、aliyuntest.csr和aliyuntest.crt三个文件。

  

  3)创建用户秘钥与证书

  ./build-key aliyunuser

  创建用户名为aliyunuser的秘钥和证书,一直回车,到最后会有两次确认,只要按y确认即可。完成后,在keys目录下生成1024位RSA服务器密钥aliyunuser.key、aliyunuser.crt和aliyunuser.csr三个文件。

  4) 生成Diffie Hellman参数

  ./build-dh

  执行了./build-dh后,会在keys目录下生成dh参数文件dh1024.pem,dh1024.pem文件客户端验证的时候会用到。

  5)将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys目录下的所有文件复制到/etc/openvpn下

  cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/

  6)复制openvpn服务端配置文件server.conf文件到/etc/openvpn/目录下

  cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/

  7)server.conf配置

  配置完成后的内容如下:

  [root@test openvpn]#egrep -v "^$|^#|^;" server.conf

  local 1.1.1.1 此处请填写用户自己的云服务器的公网IP地址

  port 1194

  proto udp

  dev tun

  ca ca.crt

  cert aliyuntest.crt 此处crt以及下一行的key,请填写生成服务器端证书时用户自定义的名称

  key aliyuntest.key

  dh dh1024.pem

  server 172.16.0.0 255.255.255.0

  ifconfig-pool-persist ipp.txt

  push "redirect-gateway def1 bypass-dhcp"

  push "dhcp-option DNS 223.5.5.5"

  client-to-client

  keepalive 10 120

  comp-lzo

  user nobody

  group nobody

  persist-key

  persist-tun

  status openvpn-status.log

  log openvpn.log

  verb 3

  

  8)设置iptables(设置前请确保iptables已开启,以及/etc/sysconfig/iptables文件存在)

  开启转发

  vi /etc/sysctl.conf

  修改以下内容:

  net.ipv4.ip_forward = 1

  然后使内核参数生效:

  sysctl -p

  添加iptables规则确保服务器可以转发数据包到阿里云内外网

  iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE

  保存iptables

  service iptables save

  6、启动openvpn

  /etc/init.d/openvpn start

  通过netstat -ano | grep 1194 查看1194端口在监听,确保openvpn在运行中

  7、Windows PC客户端的配置

  1)下载openvpn客户端:http://oss.aliyuncs.com/aliyunecs/openvpn-2.1.3-install.rar

  windows系统下安装,按照默认设置安装完成。

  2)将云服务器中/etc/openvpn/目录下的aliyunuser.key、aliyunuser.crt和aliyunuser.csr三个文件下载到需要连接openvpn的Windows客户端上(可以使用ftp或者xftp工具下载),保存到openvpn软件的安装路径下的\OpenVPN\config目录下。

  3)配置client.opvn

  将openvpn安装路径下的\OpenVPN\sample-config\目录中下的client.opvn复制到openvpn安装路径下的\OpenVPN\config目录下,然后修配置文件中的如下参数;

  proto udp 去掉前面的分号,采用与服务器端相同的udp协议

  remote 1.1.1.1 1194 此处将1.1.1.1修改为用户的云服务器的公网IP地址,同时将该行前面的注释分号去掉

  cert aliyunuser.crt

  key aliyunuser.key

  4)到C:\Program Files (x86)\OpenVPN\bin的目录下,找到openvpn-gui-1.0.3.exe文件,右键选择以管理员权限运行(避免普通用户运行导致添加路由失败)

  

  8、连接成功后,通过访问阿里云的内网镜像源http://mirrors.aliyuncs.com/确认可以通过openvpn访问阿里云内网

  

  同时访问ip.cn,可以查看到此时Windows PC端的出口公网IP已经变为了云服务器的公网IP地址