Windows客户端安装
1) 下载安装Open***客户端工具
创建客户端配置文件 ../Open***/config/client.o*** 内容如下
# cat client.o*** client dev tun proto tcp remote 203.195.xxx.xxx 1194 # Open***服务器的外网IP和端口 resolv-retry infinite nobind persist-key persist-tun ca ca.crt ;cert client1.crt # client1的证书 ;key client1.key # client1的密钥 ns-cert-type server tls-auth ta.key 1 # 客户端是1,服务器是0 comp-lzo verb 3 auth-user-pass # 启动User/Pass登录的方式
2) 拷贝client.o***文件到win本地open***客户端 ../Open***/config/目录下
从服务器上拷贝证书/秘钥 “ca.crt、ta.key” 到本地open***客户端的config/目录下
然后用管理员身份打开Open***客户端,点击连接。切记,一定要用管理员身份打开,否则客户端将无法执行服务端push推送过来的route路由添加指令
ok,如果一切顺利,就会看到 "Mon Apr 11 16:26:12 2016 MANAGEMENT: >STATE:1460363172,CONNECTED,SUCCESS,10.8.0.6,10.2.8.45",客户端分配到的ip,10.8.0.6
打开CMD,ipconfig /all 可以看到分配的虚拟ip
Linux 客户端安装
1) 下载客户端工具 # rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm # yum install -y open*** 2) 创建客户端配置文件 client.conf # cat /etc/open***/conf/client.conf 添加如下内容 client dev tun proto tcp remote 203.195.xxx.xxx 1194 # Open***服务器的外网IP和端口 resolv-retry infinite nobind persist-key persist-tun ca ca.crt ns-cert-type server tls-auth ta.key 1 # 客户端是1,服务器是0 comp-lzo verb 3 auth-user-pass # 启动User/Pass登录的方式 3) 启动客户端 # open*** --daemon --config /etc/open***/conf/client.conf > /var/log/open***_client.log # 后台守护进程模式启动 Username: test # 输入用户名 Password: 123456 # 输入密码 # ps -ef | grep -v grep | grep open*** # 查看启动进程
Linux客户端启动脚本 expect.sh
#!/usr/bin/expect # FileName: expect.sh # Auth: Loren # Date: 2016-04-26 10:00 # 定义账号密码 set user test set pass 123456 # 启动命令 spawn /usr/local/sbin/open*** --daemon --config /etc/open***/config/client.conf > /var/log/open***_client.log set timeout 30 # 检测到指定内容 expect "Username:" # 输入账号 send "$user\n" set timeout 30 # 检测输入密码 expect "Password:" # 输入密码 send "$pass\n" set timeout 30 # 退出 expect eof
# expect expect.sh # 执行脚本
Linux客户端启动、停止、重启及状态脚本 open***_client.sh
#!/bin/bash # FileName ***_client_status.sh # Auth: Loren # Date: 2016-04-26 10:00 # 客户端配置文件 CONF_FILE='/etc/open***/conf/client.conf' # log文件 LOG_FILE='/var/log/open***_client.log' # pid文件 PID_FILE='/tmp/open***_client.pid' # 启动脚本 EXPECT='/etc/open***/expect.sh' function start() { #/usr/local/sbin/open*** --daemon --config $CONF_FILE > $LOG_FILE expect $EXPECT > /dev/null ps -ef | grep -v grep | grep open*** > /dev/null [ $? -eq 0 ] && echo -e 'Start Open*** \033[32msuccessfully\033[0m!' || echo -e 'Start Open*** \033[31mFailing\033[0m!' echo `ps -ef | grep -v grep | grep open*** | awk '{print $2}'` > $PID_FILE } function stop() { ps -ef | grep -v grep | grep open*** | awk '{print $2}' | xargs -I {} kill -9 {} > /dev/null ps -ef | grep -v grep | grep open*** > /dev/null [ $? -eq 0 ] && echo -e 'Stop Open*** is \033[31mFailing\033[0m!' || echo -e 'Stop Open*** is \033[32mOK\033[0m!' rm -f $PID_FILE } function status() { ps -ef | grep -v grep | grep open*** > /dev/null [ $? -eq 0 ] && echo -e 'Open*** is \033[32mRunning ...\033[0m' || echo -e 'Open*** is \033[31mStopped\033[0m!' } #### main case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Error! Usage sh $0 (start|stop|restart|status)" ;; esac
sh open***_client start #启动*** sh open***_client stop # 停止*** sh open***_client restart # 重启***