记录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