open*** 安装及配置

1、安装 open***

第一步,编译内核,选择TUN/TAP;重新启动计算机并用光盘启动

mount /dev/sda3 /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

swapon /dev/sda2

mount -t proc none /mnt/gentoo/proc

chroot /mnt/gentoo /bin/bash

env-update && source /etc/profile

cd /usr/src/linux

make menuconfig

(进入Device Drivers -->  Network device support -->按空格选择Universal TUN/TAP device driver support,然后按ESC退出如下图所示)

 

 

make && make modules_install

cp arch/i386/boot/bzImage /boot/kernel

exit

umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo

reboot

 

第二步:安装open***

emerge -av open***

2、创建配置文件

touch /etc/open***/open***.conf 

nano /etc/open***/open***.conf  加入以下内容

==========================我的open***.conf 文件======================

port 443

proto tcp

dev tap

ca /usr/share/open***/easy-rsa/keys/ca.crt

cert /usr/share/open***/easy-rsa/keys/server.crt

key /usr/share/open***/easy-rsa/keys/server.key

dh /usr/share/open***/easy-rsa/keys/dh1024.pem

 

#tls-auth /usr/share/open***/easy-rsa/keys/ta.key 0

#plugin /usr/lib/open***/open***-auth-pam.so open***

#client-cert-not-required

#username-as-common-name

 

server 10.1.0.0 255.255.255.0

ifconfig-pool-persist /etc/open***/ipp.txt

keepalive 10 120

comp-lzo

user nobody

group nobody

persist-key

persist-tun

log-append /etc/open***/open***.log

status /etc/open***/open***-status.log

verb 3

client-to-client

#push "redirect-gateway def1"

#push "dhcp-option DNS 202.106.0.20"

#push "route 0.0.0.0 0.0.0.0"

push "route 1.1.1.0 255.255.255.0"

push "route 172.17.1.0 255.255.255.0"

#crl-verify /etc/open***/crl.pem

===============================================================

3、生成证书

cd /usr/share/open***/easy-rsa

export D=`pwd`

export KEY_CONFIG=$D/openssl.cnf

export KEY_DIR=$D/keys

export KEY_SIZE=1024

export KEY_COUNTRY=CN

export KEY_PROVINCE=GD

export KEY_CITY=SZ

export KEY_ORG="rexen"

export KEY_EMAIL="support@rexen.com.cn"

source ./vars

./clean-all
./build-dh

./pkitool --initca
./pkitool --server server
./pkitool client1
./pkitool client2

./pkitool --pass client3     #如果要设置clinet 3 的登陆密码使用 --pass 参数
下一次新增加客户端使用

cd /usr/share/open***/easy-rsa

source ./vars
./pkitool client-new

4、添加默认启动

rc-update add open*** default

/etc/init.d/open*** start         //启动 ×××

注意:如果提示时间问题,请确认你的linux时间和客户端时间一致,并且重新安装open***后才能解决时间的问题

5、客户端配置

客户端的配置,以 windows 客户端为例

1、例如对zhangsan 的进行配置-------------------windows 下配置

windows 建立zhangsan 文件夹

新建 zhangsan.o***  内容如下

#cipher none

client

dev tap

proto tcp

remote haolong.3322.org 443

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert zhangsan.crt

key zhangsan.key

comp-lzo

verb 3

2、拷贝linux 相关文件到 windows

/usr/share/open***/easy-rsa/keys/ 目录下的ca.crt zhangsan.crt zhangsan.key 三个文件拷贝到 windows 上面建立的 zhangsan 文件夹下

3、然户将 zhangsan 文件夹下四个文件拷贝到windows 下的 open*** 安装目录下的 config 文件夹下连接即可

6、吊销某个客户端

1、修改服务器配置

nano /etc/open***/open***.conf   加入一行

crl-verify /etc/open***/ crl.pem

2、吊销指定客户端

cd /usr/share/open***/easy-rsa/

source ./vars

 ./revoke-full client1 

cp /usr/share/open***/easy-rsa/keys/crl.pem /etc/open***   //一定要拷贝到这里否则吊销后,所有用户将无法登陆

revoke-full脚本会在keys目录中产生一个CRL (certificate revocation list)文件,名字为crl.pem成功注销某个证书之后,可以打开keys/index.txt 文件,可以看到被注销的证书前面,已标记为R

/etc/init.d/open*** restart           重启 open***

7、直接打包

在新创建客户端之后,可以直接使用如下命令

cd /usr/share/open***/easy-rsa/

./build-users

命令批处理创建并打包用户,生成的打包文件在cd /usr/share/open***/easy-rsa/users 下面。

./ build-users   是白金用 shell 编写的批处理程序,程序如下:

#! /bin/bash

rm -rf users

for i in `ls keys/*.crt`

do

        USERNAME=`echo $i|sed 's/keys\/\(.*\)\.crt/\1/'`

        if [ "$USERNAME" != "ca" ] && [ "$USERNAME" != "server" ]

        then

                echo -n "Creating $USERNAME database. . . "

                mkdir users/$USERNAME

                cp keys/$USERNAME.crt users/$USERNAME/

                cp keys/$USERNAME.key users/$USERNAME/

                cp keys/ca.crt users/$USERNAME/

                cp open***.conf users/$USERNAME/$USERNAME.o***

                sed -i "s/username/$USERNAME/" users/$USERNAME/$USERNAME.o***

                cd users

                tar cjfp $USERNAME.tar.bz2 $USERNAME

                rm -rf $USERNAME

                cd - &>/dev/null

                echo "ok"

        fi

done