阅读 213

阿里云服务器上搭建open

阿里云服务器上搭建open

为了能从办公室直接连进ECS(阿里云服务器)进行调试,所以这几天断断续续是研究开源×××软件pptp和open***,直到今天才成功.(这里很鄙视阿里云的客服和售后工程师,一会说能搭建***,一会说又不能,我就*了;同时也很鄙视阿里的路由表,弄的我蛋都碎光了)

    吐槽到此为止,接下来进入我们今天的正题:open***。

一)初识

    Open××× 是一个基于 OpenSSL 库的应用层 ××× 实现。和传统 ××× 相比,它的优点是简单易用。

    Open×××允许参与建立×××的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1 协议函式库。Open×××能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能。它并不是一个基于Web的×××软件,也不与IPsec及其他×××软件包兼容。

二)环境    

    ***:CentOS release 6.5 (Final) 

    客户端:win8(其他客户端安装方法,请见博文最后)

三)安装

  1. 安装基础包

    yum install openssl-devel pam-devel gcc -y1.
    wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz 
    tar xvfz openssl-1.0.1g.tar.gz 
 
    cd openssl-1.0.1g
 
    ./config --prefix=/usr/local 
    make && make installs1.2.3.4.5.6.7.8.9.
    
    wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz 
    tar zxvf lzo-2.06.tar.gz 
    cd lzo-2.06
 
    ./configure --prefix=/usr/local 
    make && make install1.2.3.4.5.6.7.8.9.10.

2.安装open***服务端

针对CentOS 5

rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm1.

针对CentOS 6

rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm1.

安装完rpmforge的repo之后,执行yum命令安装Open×××

yum install -y open***1.


3.生成证书

使用easy-rsa脚本产生Open×××所需的CA证书、CA私钥、服务端证书、服务端私钥、客户端证书、客户端私钥
先将easy-rsa脚本copy到/etc/open***,并添加可执行权限

cp -R /usr/share/doc/open***-*/easy-rsa /etc/open*** 
cd /etc/open***/easy-rsa/2.0chmod +x  *1.2.3.

配置PKI

/etc/open***/easy-rsa/2.0vi /etc/open***/easy-rsa/2.0/vars1.2.

找到“export KEY_SIZE=”这行,根据情况把1024改成2048或者4096

再定位到最后面,会看到类似下面这样的

export KEY_COUNTRY=”US”export KEY_PROVINCE=”CA”export KEY_CITY=”SanFrancisco”export KEY_ORG=”Fort-Funston”export KEY_EMAIL=”me@myhost.mydomain“1.2.3.4.5.

这个自己根据情况改一下,不改也可以运行。其实不改vars这个文件,***也可以跑起来。

例如:

export KEY_COUNTRY=”CN”export KEY_PROVINCE=”SH”export KEY_CITY=”Shanghai”export KEY_ORG=”ucloud.cn”export KEY_EMAIL=”xxx@xxx.cn“1.2.3.4.5.

注:在后面生成服务端ca证书时,这里的配置会作为缺省配置。

然后使用easy-rsa的脚本产生证书

ln -s openssl-1.0.0.cnf openssl.cnf
. vars
./clean-all
./build-ca server
./build-key-server server
./build-key client
./build-dh

4.配置服务端

vim /etc/open***/server.conf1.
local  # 设置监听端口,必须要对应的在防火墙里面打开port 1194# 设置用TCP还是UDP协议?;proto tcp
proto tcp# 设置创建tun的路由IP通道,还是创建tap的以太网通道路由IP容易控制,所以推荐使用它;# 但如果如IPX等必须使用第二层才能通过的通讯,则可以用tap方式,tap也就是以太网桥接;dev tap
dev tun# 这里是重点,必须指定SSL/TLS root certificate (ca),# certificate(cert), and private key (key)# ca文件是服务端和客户端都必须使用的,但不需要ca.key# 服务端和客户端指定各自的.crt和.key# 请注意路径,可以使用以配置文件开始为根的相对路径,# 也可以使用绝对路径# 请小心存放.key密钥文件
 # 指定Diffie hellman parameters.dh /etc/open***/easy-rsa/2.0/keys/dh1024.pem# 配置×××使用的网段,Open×××会自动提供基于该网段的DHCP服务,但不能和任何一方的局域网段重复,保证唯一# 维持一个客户端和virtual IP的对应表,以方便客户端重新连接可以获得同样的IP#ifconfig-pool-persist ipp.txt# 为客户端创建对应的路由,以另其通达公司网内部服务器# 但记住,公司网内部服务器也需要有可用路由返回到客户端;push "route 192.168.20.0 255.255.255.0"#push "route 10.6.0.0 255.255.0.0"# 若客户端希望所有的流量都通过×××传输,则可以使用该语句# 其会自动改变客户端的网关为×××服务器,推荐关闭# 一旦设置,请小心服务端的DHCP设置问题# 用Open×××的DHCP功能为客户端提供指定的DNS、WINS等push "dhcp-option DNS   8.8.8.8"#push "dhcp-option WINS 10.8.0.1"# 默认客户端之间是不能直接通讯的,除非把下面的语句注释掉# 下面是一些对安全性增强的措施# For extra security beyond that provided by SSL/TLS, create an "HMAC firewall"# to help block DoS attacks and UDP port flooding.## Generate with:# open*** --genkey --secret ta.key## The server and each client must have a copy of this key.# The second parameter should be 0 on the server and 1 on the clients.tls-auth ta.key 0 # This file is secret# 使用lzo压缩的通讯,服务端和客户端都必须配置# 输出短日志,每分钟刷新一次,以显示当前的客户端status /var/log/open***/open***-status.log# 缺省日志会记录在系统日志中,但也可以导向到其他地方# 建议调试的使用先不要设置,调试完成后再定义log         /var/log/open***.log#log-append  /var/log/open***/open***.log# 设置日志的级别## 0 is silent, except for fatal errors# 4 is reasonable for general usage# 5 and 6 can help to debug connection problems# 9 is extremely verbose1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.

5.打开服务器路由转发功能

vim /etc/sysctl.conf1.

修改以下内容

net.ipv4.ip_forward = 1 
# 然后使内核参数生效: 

sysctl -p1.
路由转发#iptables-t nat -A POSTROUTING -s 172.1.1.0/24 -o eth1 -j MASQUERADE  #添加NAT  172.1.1.0/24是OPEN×××的地址 10.161.xxx.xxx是阿里ECS的内网地址(ifconfig eth0)
 iptables -tnat -A POSTROUTING -s 172.1.1.0/24 -j SNAT --to-source 10.161.XXX.XXX 
 
#保存iptables
 service iptables save1.2.3.4.5.6.7.8.9.

启动open***

chkconfig open*** on1.
/etc/init.d/open*** start

四)open***客户端配置

对于windows客户端

    客户端安装完成后,进入到安装目录,如D:\Program Files\Open×××。将Linux服务端使用easy-rsa产生的客户端证书、私钥和ca证书下载到本地。即需要下载到本地的文件如下:

/etc/open***/easy-rsa/2.0/keys/ca.crt       #ca证书/etc/open***/easy-rsa/2.0/keys/client.crt   #客户端证书/etc/open***/easy-rsa/2.0/keys/client.key   #客户端私钥1.2.3.

    将这些文件下载到..\.\Open×××\config下。
编辑客户端Open×××配置文件client.o***,内容如下:

client
dev tun
proto tcp
remote 115.29.xxx.xxx 1194  #阿里云的***外网ip和端口resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt        #一系列证书位置cert client.crt
key client.key
comp-lzo
verb 3ns-cert-type server
ip-win32 dynamic 0 28800  #windowsroute-method exe
route-delay 31.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.



    到这里算是大工完成了,主要是iptables和路由表会比较蛋疼,测试和排错的过程就不展示了。


    下面给几个其他客服端的配置:

ubuntu:http://www.linuxidc.com/Linux/2013-06/86562.htm

Mac:

https://code.google.com/p/tunnelblick/

1.打开Tunnelblick

2.点击左下角+

3.我有设置文件

4.Open×××设置

5.打开私人设置文件夹

6.将key和新建的client.o***放到此目录下

来源https://blog.51cto.com/qishiding/1613141

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐