一服务器环境mysql
一、系统版本sql
CentOS release 5.10 (Final) 64bitswindows
二、软件版本api
open***-2.3.6-1.el5bash
lzo-2.02-2.el5.1服务器
lzo-devel-2.02-2.el5.1app
easy-rsa-2.2.2-1.el5tcp
pam-0.99.6.2-12.el5ide
pam-devel-0.99.6.2-12.el5测试
二配置服务器安装前环境
一、打开ip转发功能
echo "net.ipv4.ip_forward = 1">> /etc/sysctl.conf sysctl -p
二、安装依赖及所需软件包
yum install -y open*** easy-rsa cyrus-saslcyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-lib cyrus-sasl-gssapi pampam-devel /etc/init.d/saslauthd restart
三、修改变量及生成证书
cd /usr/share/easy-rsa/2.0 vi vars #编辑vars文件,生成环境变量, vars里的参数根据本身须要改变 export KEY_COUNTRY="CN" #定义你所在的国家2个字符 export KEY_PROVINCE="ShangHai" #你所在的省份 export KEY_CITY="ShangHai" #你所在的城市 export KEY_ORG="xxx" #你所在的组织 export KEY_EMAIL="xxx@qq.com" #你的邮件地址能够修改 source ./vars ./clean-all ./build-ca ./build-dh ./build-key-server server ./build-key client #tar -zcvf client.tar.gz keys/{ca.crt,client.crt,client.key} #windows客户端使用需下载到本地 mkdir /etc/open***/{keys,logs,plugin/auth-pam} -p cp /usr/share/easy-rsa/2.0/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/open***/keys/ cat > /etc/open***/server.conf <<EOF port 443 proto tcp dev tun ca keys/ca.crt cert keys/server.crt key keys/server.key dh keys/dh2048.pem server 10.100.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt #添加主机路由 push "route 10.200.0.0 255.255.0.0" push "route 10.220.0.0 255.255.0.0" keepalive 10 120 comp-lzo user nobody group nobody persist-key persist-tun status logs/open***-status.log log logs/open***.log log-append logs/open***.log verb 3 plugin /etc/open***/plugin/open***-auth-pam.so open*** client-cert-not-required username-as-common-name EOF
四、使用低版本的认证插件
wget http://pkgs.fedoraproject.org/repo/pkgs/open***/open***-2.0.7.tar.gz/93528233f1f6d02fc18e2c00f82e0aca/open***-2.0.7.tar.gz tar xf open***-2.0.7.tar.gz cd open***-2.0.7/plugin/auth-pam make cp open***-auth-pam.so /etc/open***/plugin/ #这一步可能没法成功假如没法成功可从其余机器拷贝一份过去我在附件中放了该文件 wget http://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz tar xf pam_mysql-0.7RC1.tar.gz && cd pam_mysql-0.7RC1 ./configure make makeinstall ln -s /lib/security/pam_mysql.so /lib64/security/
#若是编译中报错须要MySQL的库文件
yum install -y pam-devel mysql mysql-devel cat > /etc/pam.d/open*** << EOF auth sufficient /lib/security/pam_mysql.so user=xxx passwd=xxxxx host=xxxxxx db=*** table=open***user usercolumn=name passwdcolumn=password crypt=2 account required /lib/security/pam_mysql.so user=xxx passwd=xxxxx host=xxxxxx db=*** table=open***user usercolumn=name passwdcolumn=password crypt=2 EOF
五、MySQL配置
mysql -hjconnhrdmgt82.mysql.rds.aliyuncs.com -uzabbix_1 -p -D operations create database ***; #grant all on ***.* to xxx@'%' identified by 'xxxxxx'; create table open***user ( name char(20) NOT NULL, password char(128)default NULL, active int(10) NOT NULL DEFAULT 1, primary key (name) ); insert into open***user (name,password)values('***user',password('***password')); #flush privileges;
六、启动open***
/etc/init.d/open*** restart 服务端测试testsaslauthd -u ***user -p ***password -s open*** 0:OK "Success."
七、windows客户端配置
1)客户端配置文件
cat > someone.o*** << EOF client dev tun proto tcp remote 公网IP 443 resolv-retry infinite nobind persist-key persist-tun ca ca.crt #cert client.crt #key client.key #上面两个是配置客户端使用秘钥登陆的 remote-cert-tls server comp-lzo verb 3 auth-user-pass #此参数后可接文件名例如auth.txtyuanweiyuanwei,文件中记录帐号和密码需换行 EOF
2)下载服务端的ca.crt和someone.o***文件到本地
三Iptables配置
*nat :PREROUTING ACCEPT [222:10664] :POSTROUTING ACCEPT [37944:2486906] :OUTPUT ACCEPT [37944:2486906] -A POSTROUTING -s 10.100.0.0/255.255.255.0 -o eth0 -j MASQUERADE COMMIT #以上是iptables的配置文件中须要加入的一条配置能够配置下面的命令而后保存iptables信息到配置文件中 #iptables -t nat -A POSTROUTING -s10.100.0.0/255.255.255.0 -o eth0 -j MASQUERADE #iptables-save >/etc/sysconfig/iptables 将open***添加到开机启动项中 chkconfig --add open*** chkconfig open*** on
四总结
Mar 10 17:05:15 jstwpz76bqary8 open***[27972]: PAM unableto dlopen(/lib/security/pam_mysql.so) Mar 10 17:05:15 jstwpz76bqary8 open***[27972]: PAM [error:/lib/security/pam_mysql.so: undefined symbol: pam_set_data]
/var/log/secure中若出现如上错误请尝试使用低版本的open***编译出来的open***-auth-pam.so动态连接库文件