
阿里
云服务器上搭建open***
为了从办公室直接连接ECS(阿里云服务器)进行调试,这几天断断续续在研究开源软件pptp和open***直到今天也没有成功。(在这里,我鄙视阿里云的客服和售后工程师,说他们能造***一时,说他们不能一时,我就**;同时鄙视阿里的路由表,让我鸡蛋都碎了)
就这样,进入我们今天的话题:开***。
一)第一次会议
Open×××是基于OpenSSL库的应用层实现。与传统的XXX相比,简单易用。
Open×××允许参与×××建立的单点使用共享密钥、电子证书或用户名/密码进行认证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。OpenXXX可以运行在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、MacOSX和Windows2000/XP/Vista上,并包含许多安全功能。它不是基于web的XXX软件,也不兼容IPsec和其他XXX软件包。
2)环境
***:CentOS版本6.5(最终版)
客户端:win8(其他客户端安装方法请见博文末尾)
3)安装
安装基本包
yum安装OpenSSL-develPAM-develgcc-y
wgethttp://www.OpenSSL.org/source/OpenSSL-1.0.1g.tar.gz
tarxvfzopenssl-1.0.1g.tar.gz
CDOpenSSL-1.0.1g
。/config-prefix=/usr/local
make&;&makeinstalls
wgethttp://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
tarzxvflzo-2.06.tar.gz
CDlzo-2.06
。/configure-prefix=/usr/local
make&;&进行安装
2。安装开放式***服务器。
适用于五分音符
rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
适用于六分音符
rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
安装完rpmforge的repo后,执行yum命令安装Open×××
yum install -y open***
3.生成证书
使用easy-rsa脚本生成Open××
所需的CA证书、CA私钥、服务器证书、服务器私钥、客户端证书和客户端私钥。首先,将easy-rsa脚本复制到/etc/open**,并添加可执行权限。
cp -R /usr/share/doc/open***-*/easy-rsa /etc/open***
cd /etc/open***/easy-rsa/2.0
chmod +x *
配置PKI
/etc/open***/easy-rsa/2.0
vi /etc/open***/easy-rsa/2.0/vars
找到行“exportKEY_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“
这个可以根据情况自己改,不改也可以跑。实际上,***不需要修改vars文件就可以运行。
例如:
export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”SH”
export KEY_CITY=”Shanghai”
export KEY_ORG=”ucloud.cn”
export KEY_EMAIL=”xxx@xxx.cn“
注意:当稍后生成服务器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.conf
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 verbose
5.打开服务器路由和转发功能
vim /etc/sysctl.conf
修改以下内容
Net.ipv4.ip_forward=1
#然后让内核参数生效:
sysctl -p
路由转发
#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 save
打开***
chkconfig open*** on
/etc/init.d/open*** start
Iv)开放***客户端配置
对于windows客户端
客户端安装完成后,进入安装目录,如D:\D:\ProgramFiles\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 #客户端私钥
将这些文件下载到..\.\打开×××\配置。
编辑客户端打开×××配置文件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 3
ns-cert-type server
ip-win32 dynamic 0 28800 #windows
route-method exe
route-delay 3
这里做的比较大,主要是iptables和路由表会比较痛苦,测试和排除故障的过程就不展示了。
以下配置提供给其他几个客户服务终端:
Ubuntu:http://www.linuxidc.com/Linux/2013-06/86562.htm
Mac:
https://code.google.com/p/tunnelblick/
1.打开隧道锁
2.点击左下角的+。
3.我有一个安装文件。
4.打开×××设置
5.打开私人设置文件夹。
6.将密钥和新创建的client.o***放在这个目录中。
评论列表(0条)