很久之前写的文档。发给大家看看。
1 Open×××服务端安装:
1.1 环境配置:
一、首先,检测VPS是否支持TUN(via)
cat/dev/net/tun
返回“cat: /dev/net/tun: File descriptor in bad state”说明支持TUN。
检查TUN模块,一般系统自带
modinfotun
二、检测iptables_nat模块支持
iptables-t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
如果返回信息为:iptables: Unknown error 4294967295 说明支持模块。
三、清空默认策略并重启iptables
iptables-t NAT -F
iptables-F
serviceiptables save
serviceiptables restart
四、关闭SELINUX
setenforce0
vi/etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------
Open××× 安装需要ssl 和gcc. 还需要TUN设备和iptables的nat模块支持.
1.2 网络设置:
一、开启服务器端路由转发功能
vi/etc/sysctl.conf
net.ipv4.ip_forward= 1
生效命令:
sysctl-p
二、设置nat转发(开了iptables时要配置)
注:保证×××地址池可路由出外网
iptables-t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
三、设置open***端口通过(开了iptables时要配置)
iptables-A INPUT -p TCP --dport 1194 -j ACCEPT
iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
重启iptables:
注:这里提一下,INPUT策略是执行后即时生效的,POSTROUTING需要保存并重启服务才能生效
serviceiptables save
serviceiptables restart
注:若想让该服务器只提供open***等基本服务,可参照本文档附件iptables脚本
四、时间同步(重要)
/usr/sbin/ntpdatetime-b.nist.gov ; /sbin/hwclock -w
1.3 安装lzo:
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
tar zxvflzo-2.06.tar.gz
cdlzo-2.06
./configure
make&& make install; cd ..
1.4 安装OpenSSL开发库:
yuminstall -y openssl-devel
rpm-qa | grep openssl-devel
1.5 open***服务安装:
tar-zxvf open***-2.3.2.tar.gz
cdopen***-2.3.2
./configure
make ; make install
问题处理:
tar -zxvf git-1.8.4.3.tar.gz
cdgit-1.8.4.3
autoconf
./configure
make
makeinstall
git--version
[[email protected]]# git --version
gitversion 1.8.4.3
configure:error: libpam required but missing
需要安装
yum -yinstall pam-devel
1.6 open***服务配置:
一、复制模板配置到open***配置目录
mkdir -p /etc/open***
cpsample/sample-config-files/server.conf /etc/open***/
cp -rsample/sample-keys /etc/open***/keys
二、下载easy-rsa
注:该包用来制作ca证书,服务端证书,客户端证书,open***2.3.0该版本源码不包含easy-rsa,所以需要单独下载安装用来配合open***实现证书生成。
wget -chttps://github.com/Open×××/easy-rsa/archive/master.zip
下载wget -c https://github.com/Open×××/easy-rsa/archive/release/2.x.zip
新的使用的没有var等文件。
unzipmaster
mveasy-rsa-master /etc/open***/easy-rsa
三、***变量
cd /etc/open***/easy-rsa/easyrsa3
cp vars.example vars
vi vars
修改如下参数
注:在后面生成服务端ca证书时,这里的配置会作为缺省配置
exportKEY_COUNTRY="CN"
exportKEY_PROVINCE="GD"
exportKEY_CITY="GuangZhou"
exportKEY_ORG="*.com.cn"
exportKEY_EMAIL="[email protected]*.com.cn"
exportKEY_CN=y*n***
exportKEY_NAME=y*an***
exportKEY_OU=y*n***
exportPKCS11_MODULE_PATH=yu****
exportPKCS11_PIN=y****
四、做SSL配置文件软链:
ln -sopenssl-1.0.0.cnf openssl.cnf
五、修改vars文件可执行并调用
chmod +xvars
source./vars
mkdir /etc/open***/easy-rsa/2.0/keys
注:也就是如果执行./clean-all,就会清空/etc/open***/easy-rsa/2.0/keys下所有文件。
1.7 配置证书:
一、清空原有证书:
./clean-all
注:下面这个命令在第一次安装时可以运行,以后在添加完客户端后慎用,因为这个命令会清除所有已经生成的证书密钥,和上面的提示对应
二、生成服务器端ca证书
./build-ca
注:由于之前做过缺省配置,这里一路回车即可
三、生成服务器端密钥证书, 后面这个open***86.webdcmp.com就是服务器名,也可以自定义
./build-key-server ***server
注:这里一路回车即可,到最后提示输入”y/n”时,输入y。
四、生成所需客户端证书密钥文件(名字任意,建议写成你要发给的人的姓名,方便管理):
./build-key linwangyi
注:这里与生成服务端证书配置类似,中间一步提示输入服务端密码,其他按照缺省提示一路回车即可。
五、再生成diffie hellman参数,用于增强open***安全性(生成需要漫长等待)
./build-dh
六、打包keys
tar zcvfkeys.tar.gz keys/
1.8 生成脚本open***key.sh:
脚本放在/etc/open***/easy-rsa
#!/bin/bash #./open***key.sh 2014-01-26 by linwangyi KEYDIR="/etc/open***/easy-rsa/keys" KEY_ID=$1 MAIL=$2 if [-z ${MAIL} ]; then echo "MAIL is null, set MAIL is [email protected]*.com.cn\n" MAIL=$1 fi if [ ! -n "$1" ] ; then echo "keyname is null,pleases input the name. eg: sh open***key.sh linwangyi linwangyi_mail\n" exit 0 elif [ ! -f ${KEYDIR}/$1.key ] ; then echo "$1 not key in then ${KEYDIR} home, pleases make the key! eg: ./build-key linwangyi \n" exit 0 fi cd ${KEYDIR} cp 1.o*** $1.o*** #sed -i "s#t01#$1#" $1.o*** echo "cert $1.crt " >> $1.o*** echo "key $1.key " >> $1.o*** tar -zcvf $1.tgz ca.crt $1.o*** $1.crt $1.key password.txt mail -s open***_key -a ${KEYDIR}/$1.tgz ${MAIL}@y*.com.cn < ${KEYDIR}/mail.txt exit 0 |
放在/etc/open***/easy-rsa/keys
[[email protected] easy-rsa]# cat /etc/open***/easy-rsa/keys/1.o*** client dev tun proto tcp remote 211.136.202.101 9900 resolv-retry infinite nobind user nobody group nobody route 192.168.1.0 255.255.255.0 route 192.168.40.0 255.255.255.0 persist-key persist-tun ca ca.crt #cert t01.crt #key t01.key ns-cert-type server comp-lzo verb 3 auth-user-pass password.txt |
放在/etc/open***/easy-rsa/keys
Mail.txt内容
HI, 附件为OPEN×××的密钥,暂时提供此×××连接到广东中粤SVN服务器或者二台电脑拨×××可以连接管理。 安装文件地址 http://pan.baidu.com/s/1nBpR6 password.txt为用户和密码,密码将定期修改,你只要将密码修改替换就可以使用。 运行OPEN×××时,请使用管理员运行,不然系统没有添加路由,而无法连接到中粤SVN。 Please do not reply to this email! User:lin E-mail: [email protected] |
1.9 配置open*** server:
[[email protected]***86~]# cat /etc/open***/server.conf
user nobody
groupnobody
port 9900
prototcp
dev tun
ca/etc/open***/easy-rsa/2.0/keys/ca.crt
cert/etc/open***/easy-rsa/2.0/keyseasy-rsa/2.0/keyseasy-rsa/2.0/keys/dh2048.pem
client-config-dir/etc/open***/ccd
server10.255.0.0 255.255.255.0
;push”redirect-gateway"
;push"dhcp-option DNS 10.255.0.1"
;push"dhcp-option DNS 8.8.8.8"
;push"dhcp-option DNS 8.8.4.4"
;route10.25.79.0 255.255.255.254
push"route 10.255.0.0 255.255.255.0"
route 192.168.1.0 255.255.255.0
route 192.168.40.0 255.255.255.0
client-config-dirccd
;client-to-client
;max-clients100
keepalive10 120
comp-lzo
persist-key
persist-tun
status/etc/open***/open***-status.log
log-append/etc/open***/open***.log
verb 4
1.10 设置开机启动:
添加系统服务。
创建Open×××启动脚本,可以在源代码目录中找到,在sample-scripts目录下的open***.init文件,将其复制到/etc/init.d/目录中,改名为open***
然后运行:
find ./*-name open***.init*
cp distro/rpm/open***.init.d.rhel /etc/init.d/open***
chmod +x/etc/init.d/open***
chkconfig --add open***
chkconfig open*** on
1.11 启动:
/etc/init.d/open*** start
查看路由:
转载于:https://blog.51cto.com/sunday208/1387043