记录open***搭建过程

yum -y install openssl openssl-devel

tar fzx lzo-2.03.tar.gz

cd lzo-2.03

./configure && make && make install

编辑/etc/ld.so.conf

cat >> /etc/ld.so.conf << EOF

/lib

/lib64

/usr/lib

/usr/lib64

/usr/local/lib

/usr/local/lib64

EOF

ldconfig

tar fzx open***-2.2.2.tar.gz

cd open***-2.2.2

./configure --prefix=/usr/local/open*** && make && make install

配置的 Open××× Server

mkdir -p /etc/open***

cp -R /anzbao/open***-2.2.2/easy-rsa/ /etc/open***/

cd /etc/open***/easy-rsa/2.0/

vars 脚本,是用来创建环境变量,设置所需要的变量的脚本

clean-all 脚本,是创建生成CA证书及密钥 文件所需要的文件和目录

build-ca 脚本,生成CA证书(交互)

build-dh 脚本,生成Diffie-Hellman文件(交互)

build-key-server 脚本,生成服务器端密钥(交互)

build-key 脚本,生成客户端密钥(交互)

pkitool 脚本,直接使用vars的环境变量设置直接生成证书(非交互)

生成 CA 证书及密钥

编辑vars文件

export KEY_COUNTRY="CN"

export KEY_PROVINCE="BJ"

export KEY_CITY="beijing"

export KEY_ORG="Open×××-ORG"

export KEY_EMAIL="xsl316999766@163.com"

#export KEY_EMAIL=mail@host.domain

export KEY_CN=xiao

export KEY_NAME=xiao

export KEY_OU=xiao

export PKCS11_MODULE_PATH=xiao

export PKCS11_PIN=123456

生成 Root Ca 证书, 用于签发 Server 和 Client 证书

. ./vars (注意有两个点,两个点之间有空格)

./clean-all

./build-ca (一路按回车就可以)

-----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BJ]:

Locality Name (eg, city) [beijing]:

Organization Name (eg, company) [Open×××-ORG]:

Organizational Unit Name (eg, section) [xiao]:

Common Name (eg, your name or your server's hostname) [xiao]:

Name [xiao]:

Email Address [xsl316999766@163.com]:

# ls keys

可以看到已经生成了 ca.crt ca.key 文件

生成 Diffie-Hellman 文件

./build-dh

生成××× server ca证书

./build-key-server server

然后把刚生成的CA证书和密钥copy到/etc/open***/下

cp ca.crt ca.key server.crt server.key dh1024.pem /etc/open***/

生成客户端CA证书及密钥(假设创建两个客户端,Common Name对应填写client1和client2,其作为今后识别客户端的标识)

./build-key client-01

./build-key client-02

cd keys

将ca.crt ca.key client-01.crt client-01.csr client-01.key五个文件打包,以备客户端 *** 使用

tar zcfv client-01.tar.gz ca.crt ca.key client-01.crt client-01.csr client-01.key

tar zcfv client-02.tar.gz ca.crt ca.key client-02.crt client-02.csr client-02.key

cp /anzbao/open***-2.2.2/sample-config-files/server.conf /etc/open***/open***.conf

vim /etc/open***/open***.conf

port 1194

proto udp

dev tun

ca ca.crt

cert server.crt

key server.key # This file should be kept secret

dh dh1024.pem

server 10.24.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

client-to-client

duplicate-cn #允许一个用户多次访问

keepalive 10 120

comp-lzo

user nobody

group nobody

persist-key

persist-tun

status /var/open***/open***-status.log

log /var/open***/open***.log

log-append /var/open***/open***.log

verb 3

创建 open*** 的启动脚本

cp -f /anzbao/open***-2.2.2/sample-scripts/open***.init /etc/init.d/open***

因为是用源码编译安装并指定了目录,所以需要修改/etc/init.d/open*** 的 69 行

open***_locations="/usr/sbin/open*** /usr/local/sbin/open***"

修改为:

open***_locations="/usr/local/open***/sbin/open*** /usr/sbin/open*** /usr/local/sbin/open***"

将 open*** 添加到系统自启动

chkconfig -add open***

chkconfig open*** on

启动/停止 open*** 服务

/etc/init.d/open*** start/stop

关于防火墙的设置参考

iptables -A INPUT -p udp --dport 1194 -j ACCEPT

如果已经打开防火墙,在使用Open×××的时候必须让其通过

iptables -A INPUT -i tun+ -j ACCEPT

iptables -A FORWARD -i tun+ -j ACCEPT

iptables -A INPUT -i tap+ -j ACCEPT

iptables -A FORWARD -i tap+ -j ACCEPT

######linux open***客户端##

安装 open***

安装过程参考上面

配置 open*** client

创建 open*** 配置文件目录, 将在服务器端生成好的 CA 证书及用户认证文件放到/etc/open*** 下.我的几个文件为:

ca.crt ca.key client-01.crt client-01.csr client-01.key

mkdir -p /etc/open***

scp client-01.tar.gz 0.0.0.0:/etc/open***/

tar fzx client-01.tar.gz -C /etc/open***/

cp -f sample-config-files/client.conf /etc/open***/client.conf

cp -f sample-scripts/open***.init /etc/init.d/open***

vim /etc/open***/client.conf

client

dev tun

proto udp

remote 223.4.203.38 1194

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert client-01.crt

key client-01.key

ns-cert-type server

comp-lzo

verb 3

vim /etc/init.d/open***

69 行修改为:

open***_locations="/usr/local/open***/sbin/open*** /usr/sbin/open*** /usr/local/sbin/open***"

将 open*** 添加到系统自启动

chkconfig -add open***

chkconfig open*** on

启动/停止 open*** 服务

/etc/init.d/open*** start/stop