安装open***软件
1、先更新ports index
#portsnap fetch update
2、安装open***
#cd /usr/ports/security/open***/ && make install clean
3、安装bash
#cd /usr/ports/shell/bash && make install clean
4、更改root用户shell
#chsh -s bash
5、使用date查看系统时间,是否和标准时间相同,比如看是否和客户端时间相同。#非常重要,否则等到最后测试时才发现时间不对,将导致必须重新生成ca,server和客户端证书。否则证书验证不通过。
#date
2015年 3月14日 星期六 10时28分14秒 CST
如果不同,则使用date命令调整系统时间。
#date 201503141028 #表示2015年3月14日10点28分。
配置open***
open***安装完成后,安装位置在/usr/local/etc/open***目录下。
1、拷贝open***配置文件到/usr/local/etc/open***。
#cp /usr/local/share/examples/open***/sample-config-files/server.conf
/usr/local/etc/open***/
2、拷贝easy-rsa目录到/usr/local/etc/open***下。
#cp /usr/local/share/easy-rsa /usr/local/etc/open***/
3、编辑vars文件。
# cd /usr/local/etc/open***/easy-ras/
#vi vars //根据需要修改下面的选项。如果不修改,并不影响后面的配置和使用效果。
export KEY_COUNTRY=CN (国家)
export KEY_PROVINCE=SD (省份)
export KEY_CITY=QD (城市)
export KEY_ORG="Open×××-Server" (组织或公司)
export KEY_EMAIL="demo@demo.org" (电子邮箱)
4、让vars中定义的环境变量生效,
#source vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/open***/easy-rsa/2.0/keys
5、清理以前产生的旧密钥
#./clean-all
6、创建根ca证书,完成后会看到keys文件夹,里面有ca.*文件,一路回车即可
#./build-ca
7.生成用于服务器的密钥,不妨给服务器起名为server,
#./build-key-server server
8.在/etc/open***/easy-rsa/keys目录中生成dh1024.pem文件。
#./build-dh
9.防止 DoS *** 和 UDP 端口 flooding,生成一个"HMAC firewall",在/etc/open***/easy-rsa/keys目录中生成。
# cd /etc/open***/easy-rsa/keys && open*** --genkey --secret ta.key
10.现在生成客户端密钥,比如用户名是 xisxy(如果有100个用户,就得生成100个密钥)
# cd /etc/open***/easy-rsa/
# ./build-key xisxy
11.配置open***服务器端配置文件。
# cd /usr/local/etc/open***/
# vi server.conf
(修改为如下内容)
port 1194 #端口
proto tcp # 协议,udp 在大部分环境中运行良好,如需要玩联网游戏可设为udp。
dev tun0 # 虚拟网络设备
ca /etc/open***/easy-rsa/keys/ca.crt # 根 ca证书,注意路径。默认是没有指明路径的。
cert /etc/open***/easy-rsa/keys/server.crt # 服务器证书,注意路径。默认是没有指明路径的。
key /etc/open***/easy-rsa/keys/server.key # 服务器密钥,注意路径。默认是没有指明路径的。
dh /etc/open***/easy-rsa/keys/dh1024.pem # Diffie hellman parameters,注意路径。默认是没有指明路径的。
server 10.8.0.0 255.255.255.0 # ××× 虚拟网段,这里非常重要。这个网段是给***客户端使用的,不是*** server内网所直连的网段。
push "route 192.168.0.0 255.255.255.0" #为*** client添加路由。告诉*** client,如果要访问192.168.0.0/24网段,要把数据包发送给*** server,默认是10.8.0.1.具体的ip要看你上面一样参数的设置。
ifconfig-pool-persist ipp.txt #从新连接后分配刚刚使用过的ip地址
push "redirect-gateway def1 bypass-dhcp" #改变默认网关,要做代理这一点很重要。可以把open***服务器当作网关,上网都通过open***服务器上网(PF NAT功能)
push "dhcp-option DNS 8.8.8.8" #设置client的DNS服务器,还可以高为 10.8.0.1 ,这时open***服务器本身充当DNS服务器了。
#client-to-client # 在这里不需要虚拟网中的机器互相看到服务器以外的机器,所以要注释掉
keepalive 10 120 #每10秒ping一次,120秒不响应,从新连接
#tls-auth /etc/open***/easy-rsa/keys/ta.key 0 #防止 DoS *** 和 UDP 端口 flooding,生成一个"HMAC firewall", 注意服务器端是0,client端是1
comp-lzo # 用lzo压缩
user _open***group _open***
persist-key
persist-tun
status open***-status.log # 每分中更新open***状态记录
verb 3
测试服务器
启动服务
/usr/local/sbin/open*** --config /usr/local/etc/open***/server.conf --cd /usr/local/etc/open*** &
Q:如果修改了上面的server.conf配置文件,如何重新启动open***服务?
A:使用jobs查看当前后天程序。使用fg把程序调入到前台,然后按ctrl+c结束程序。如果有多个jobs,根据编号,使用fg 编号 的方式调入到前台,比如
#fg 2
配置open***服务器pf防火墙,允许open***客户端访问内网
添加/etc/pf.conf中添加如下语句
pass quick on tun0
应用规则。
pfctl -f /etc/pf.conf
client的安装与配置
1.类unix client
在/usr/local/share/examples/open***/sample-config-files/目录中有配置文件的模板文件。把client配置文件client.conf复制到/etc/open***/,没有该文件夹就新建一个。
# cp /usr/local/share/examples/open***/sample-config-files/client.conf /etc/open***/
# vi /etc/open***/client.conf
-------------------------------------------
client
dev tun0
proto tcp
remote ***.***.***.*** 1194 # ***.***.***.***部分为你open*** server 外网的IP地址或域名
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca /etc/open***/easy-rsa/keys/ca.crt
cert /etc/open***/easy-rsa/keys/xisxy.crt //上面创建ca时,自己所填写的内容。
key /etc/open***/easy-rsa/keys/xisxy.key //上面创建ca时,自己所填写的内容。
tls-auth /etc/open***/easy-rsa/keys/ta.key 1 #注意服务器端是0,client端是1
comp-lzo
verb 3
--------------------------------------------------
测试一下client。
# open*** /etc/open***/client.conf
最后出现Initialization Sequence Completed,表示open*** client成功连接到服务器。
分配的虚拟专用网络IP地址为10.8.0.4。现在就可用虚拟专用网络中的IP地址来访问访问服务器。
访问外部网页等会透过×××服务器NAT来实现。使用ping测试一下访问内网的 client。
2.windows client
安装文件(for windows): open***-2.0.9-gui-1.0.3-install.exe 客户端的版本没有什么限制,最新版也最好。
下载地址:http://www.open***.se/download.html
复制客户端密钥(client.crt和client.key)和ca.crt和ta.key复制到Client_PC的C:\Program Files\Open×××\config\ 目录。
还要把C:\Program Files\Open×××\sample-config\client.o***文件复制到
C:\Program Files\Open×××\config\ 目录。
直接点击C:\Program Files\Open×××\config\client.o***用记事本编辑配置文件。
这是PC1的client配置文件。
----------------------------------------------------
client //这个就是client,不要修改。
dev tun0
proto tcp
remote ***.***.***.*** 1194 # ***.***.***.***部分为你open*** server 外网的IP地址或域名
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert xisxy.crt //上面创建ca时,自己所填写的内容。
key xisxy.key //上面创建ca时,自己所填写的内容。
tls-auth ta.key 1 #注意client端是1
comp-lzo
verb 3
------------------------------------------------
双击桌面上的Open××× GUI图标,然后在右下角任务栏的图标上右击,选择connect。连接成功后,使用ping测试一样内网连通性把。祝你好运。
转载于:https://blog.51cto.com/swenzhao/1620285