第1章第一个里程碑:
1.1服务端软件包下载:地址:
https://swupdate.open***.org/community/releases/open***-2.4.1.tar.gz
http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
http://swupdate.open***.org/community/releases/easy-rsa-2.2.0_master.tar.gz
1.2客户端软件包下载地址:
https://swupdate.open***.org/community/releases/open***-install-2.4.1-I601.exe


第2章第二个里程碑:
2.1创建软件存放目录并下载包(限于网速问题,可在浏览器下载好上传服务器)
mkdir /server/tools -p
cd /server/tools
wget https://swupdate.open***.org/community/releases/open***-2.4.1.tar.gz
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
wget http://swupdate.open***.org/community/releases/easy-rsa-2.2.0_master.tar.gz
2.2源码安装lzo压缩模块
2.2.1解压并切换安装目录
tar zxf lzo-2.09.tar.gz
cd lzo-2.09
2.2.2预编译,编译安装
./configure
make && make install
2.3源码安装open***-2.4.1
2.3.1先用yum安装open***依赖包(保证下载最新的openssl)
yum -y install openssl pam
2.3.2解压并切换安装目录
tar xf open***-2.4.1.tar.gz
cd open***-2.4.1
2.3.3预编译,编译安装---指定加载lzo压缩模块
./configure --with-lzo-lib=/usr/local/lib --with-lzo-headers=/usr/local/include
make && make install
2.4源码安装easy-rsa-2.2.0(centos6.9默认yum安装为3.0版本,这里用2.0版本因为官方介绍较详细)
2.4.1解压并切换安装目录
tar xf easy-rsa-2.2.0_master.tar.gz
cd easy-rsa-2.2.0_master/
2.4.2把easy-rsa-2.2.0_master目录下easy-rsa目录拷贝到/server/tools/open***-2.4.1/目录下
cp -a easy-rsa/ /server/tools/open***-2.4.1/
2.4.3进入cd open***-2.4.1/easy-rsa/2.0目录进行创建证书文件
2.4.3.1×××预设环境信息:(根据自己需求进行修改)
vim vars
export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="BeiJing"
export KEY_ORG="test"
export KEY_EMAIL="1139210923@qq.com"
export KEY_EMAIL=1139210923@qq.com
export KEY_CN=test
export KEY_NAME=test
export KEY_OU=test
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
2.4.3.2使修改后vars文件生效
source vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /server/tools/open***-2.4.1/easy-rsa/2.0/keys
第一次会提示初始化配置,按提示操作,后续正常使用时不可执行此操作,它会清空keys目录,并初始化序列
2.4.3.3创建keys证书秘钥存放目录
./clean-all
2.4.3.4制作CA证书,由于已经预先定义好了各个配置,一路回车,表示使用默认配置
./build-ca
2.4.3.5生成服务端证书调用的命令为build-key-server(一路回车,输入两个y即可)
./build-key-server server ---server为服务端证书秘钥名称,自己可任意定制
注意点:
A challenge password []:test
An optional company name []:test
2.4.3.6生成客户端证书与密钥(一路回车,输入两个y即可)
./build-key test ---test为客户端证书秘钥名称,自己可任意定制
注意点:
A challenge password []:test
An optional company name []:test
2.4.3.7使用命令build-dh命令生成密码协议交换文件
./build-dh ---过程稍慢,不要中断
2.4.3.8生成防***的key文件 ---防止DDos***和udp淹没
open*** --genkey --secret keys/ta.key
2.4.3.9查看生产的所有秘钥文件
ls keys/
[root@m02/server/tools/open***-2.4.1/easy-rsa/2.0]#ls keys/
01.pem ca.key index.txt.attr serial server.csr test.crt
02.pem dh1024.pem index.txt.attr.old serial.old server.key test.csr
ca.crt index.txt index.txt.old server.crt ta.key test.key


第3章第三个里程碑
3.1创建配置文件目录,拷贝秘钥文件到该目录
mkdir /etc/open***
cd /etc/open***/
cp -a /server/tools/open***-2.4.1/easy-rsa/2.0/keys/ /etc/open***
3.2将服务端配置文件拷贝到/etc/open***/目录并备份
cp /server/tools/open***-2.4.1/sample/sample-config-files/{client,server}.conf /etc/open***
cp client.conf{,.ori}
cp server.conf{,.ori}
3.3编辑服务端配置文件,下面是需要修改的内容,其他默认
[root@m02/etc/open***]#egrep '^[^#;]' server.conf
port 1433 ---默认端口1194,这里我修改为1433
proto tcp ---udp不太稳定,这里改为tcp协议
dev tun ---采用隧道协议传输
ca /etc/open***/keys/ca.crt ---根证书文件
cert /etc/open***/keys/server.crt ---服务端证书文件
key /etc/open***/keys/server.key # This file should be kept secret ---服务端秘钥文件
dh /etc/open***/keys/dh1024.pem #密码协议交换文件由./build-dh 生产
server 10.8.0.0 255.255.255.0 #默认虚拟局域网网段,不要和实际的局域网冲突即可
ifconfig-pool-persist ipp.txt #服务器自动给客户端分配IP后,客户端下次连接时,仍然采用上次的IP地址(第一次分配的IP保存在ipp.txt中,下一次分配其中保存的IP)。
push "route 172.16.1.0 255.255.255.0" #***服务器所在的内网的网段,读者应该根据自身实际情况进行修改
client-to-client # 可以让客户端之间相互访问直接通过open***程序转发,根据需要设置
duplicate-cn # 如果客户端都使用相同的证书和密钥连接***,一定要打开这个选项,否则每个证书只允许一个人连接***
keepalive 10 120 #每10秒ping一次,连接超时时间设为120秒。
tls-auth /etc/open***/keys/ta.key 0 # This file is secret #开启TLS-auth,使用ta.key防御***。服务器端的第二个参数值为0,客户端的为1。
cipher AES-256-CBC
comp-lzo #开启***连接压缩,如果服务器端开启,客户端也必须开启
persist-key
persist-tun #持久化选项可以尽量避免访问在重启时由于用户权限降低而无法访问的某些资源。
status open***-status.log #指定记录Open***状态的日志文件路径
log-append open***.log #追加生成日志文件
verb 5 #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
3.4开启内核转发
sed -i 's#_forward = 0#_forward = 1#g' /etc/sysctl.conf
sysctl -p ---使之生效
net.ipv4.ip_forward = 1
3.5配置防火墙,记得保存
/etc/init.d/iptables start
iptables -F ---清空之前所有策略
iptables -X
iptable -Z
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE ##网关不在***server上,在***server上添加一条NAT地址转换,将所有的10.8.0.0/24网段的IP都转成eth0的IP
/etc/init.d/iptables save ---保存配置
chkconfig iptables on ---开机启动防火墙
3.6启动open***并设置为开机启动
/usr/local/sbin/open*** --config /etc/open***/server.conf &
echo "#startup open***" >>/etc/rc.local
echo "/usr/local/sbin/open*** --config /etc/open***/server.conf &" >>/etc/rc.local
ps -ef|grep open*** ---查看进程是否存在
netstat -nlput | grep 1433 查看端口是否正确
lsof -i :1433 ---查看tcp端口监听

3.7查看启动后日志
tailf /etc/open***/open***.log
Mon Mar 12 17:34:17 2018 TUN/TAP device tun0 opened
Mon Mar 12 17:34:17 2018 TUN/TAP TX queue length set to 100
Mon Mar 12 17:34:17 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Mon Mar 12 17:34:17 2018 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Mon Mar 12 17:34:17 2018 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Mon Mar 12 17:34:17 2018 Could not determine IPv4/IPv6 protocol. Using AF_INET
Mon Mar 12 17:34:17 2018 Socket Buffers: R=[87380->87380] S=[16384->16384]
Mon Mar 12 17:34:17 2018 Listening for incoming TCP connection on [AF_INET]172.16.1.62:1433
Mon Mar 12 17:34:17 2018 TCPv4_SERVER link local (bound): [AF_INET]172.16.1.62:1433
Mon Mar 12 17:34:17 2018 TCPv4_SERVER link remote: [AF_UNSPEC]
Mon Mar 12 17:34:17 2018 MULTI: multi_init called, r=256 v=256
Mon Mar 12 17:34:17 2018 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Mon Mar 12 17:34:17 2018 IFCONFIG POOL LIST
Mon Mar 12 17:34:17 2018 MULTI: TCP INIT maxclients=1024 maxevents=1028
Mon Mar 12 17:34:17 2018 Initialization Sequence Completed

3.8查看启动后网卡


第4章第四个里程碑
4.1安装open***客户端
Open*** 2.4.1 Windows 64位 安装文件:(安装过程全部默认)
https://swupdate.open***.org/community/releases/open***-install-2.4.1-I601.exe
修改客户端配置文件,下面为修改内容,其他默认
[root@m02/etc/open***]#egrep '^[^#;]' client.conf
client
dev tun
proto tcp
remote 10.0.0.62 1433 ---远程服务端ip
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert test.crt
key test.key
ns-cert-type server
tls-auth ta.key 1
cipher AES-256-CBC
comp-lzo
verb 3

4.2上传客户端所需文件
先将client.conf修改为client.o***,然后将Open***服务器上的client.o***、ca.crt、test.crt、test.key、ta.key上传到Windows客户端安装目录下的config文件夹(C:\Program Files\Open***\config)

第5章启动启动Open*** GUI
5.1启动客户端

在电脑右下角的open***图标上右击,选择“Connect”。正常情况下应该能够连接成功(图标变为绿色),分配正常的IP。

5.2查看状态日志
[root@m02/etc/open***]#cat open***-status.log
Open*** CLIENT LIST
Updated,Mon Mar 12 22:27:24 2018
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
test,10.0.0.253:56299,97694,57321,Mon Mar 12 19:36:52 2018
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.8.0.10,test,10.0.0.253:56299,Mon Mar 12 19:40:57 2018
GLOBAL STATS
Max bcast/mcast queue length,0
END
5.3Xshell本地测试
详解CentOS6.9源码Open***2.4.1安装
详解CentOS6.9源码Open***2.4.1安装