在安装之前保证系统时间要正确,否则证书生成的可能会无效。
cp -r / usr /share/ open*** /easy- rsa /2.0/ /etc/ open*** /
cp / usr /share/doc/open***-2.1/sample- config -files/ server.conf /etc/ open*** /
export KEY_COUNTRY="CN"export KEY_PROVINCE="BJ"export KEY_CITY="BJ"export KEY_ORG="XX"export KEY_EMAIL="me@myhost.mydomain "
#生成客户端 key, 使用用户名密码验证时可以不生成客户端的key.
#./build-key client1
#./build-dh
将keys 下的所有文件打包下载到本地 ,其它客户机用。
创建服务端配置文件 ,将keys下的ca.crt server.crt server.key dh1024.pem拷贝到/etc/open***
四,配置服务器。
五.1 启动服务器和设置开机启动
useradd *** -M -s /sbin/nologinpasswd ***
useradd -M -s /sbin/nologin test
passwd test
#声明是客户端client#声明这是客户端配置文件
dev tun
#使用和服务端相同的设备.
proto tcp#使用tcp协议
remote 172.16.100.137 1194#远程服务器地址及端口
persist-key
persist-tun
#客户端重启程序时,尽量保持之前的状态,如不重新读key.#remote-random
#从remote 给出的服务器列表中,随机选择一个,如果不用此参数将顺序尝试连接.
ca ca.crt
# 根证书位置,服务器端和客户端用的是同一个.
;cert client.crt
;key client.key#设置客户端的证书和key.
ns-cert-type server#验证服务端证书的可靠性.需要服务器端在生成证书时指定nsCertType类型.
comp-lzo#支持压缩
verb 3#指定日志的详细程序.默认3
#redirect-gateway def1#设置×××为默认网关,所有流量都走×××端口.
#resolv-retry infinite
#持续解析服务器IP地址,如果用IP地址连接,则不需要此项.
nobind
#客户绑定特别端口.
user nobody
group nobody
#初始化完成后,降级用户和组.
#http-proxy
#穿越代理连接***服务器,格式 http-proxy [proxy server] [proxy port #]
# http-proxy-retry
#proxy 尝试连接重试次数.
#mute-replay-warnings
#忽略重启的警告.
#激活登陆认证方式
auth-user-pass
六,在服务器端开放路由转发
echo '1' > /proc/sys/net/ipv4/ip_forward
在 vim /etc/rc.local 里加入,开启内核支持。
echo '1' > /proc/sys/net/ipv4/ip_forward
下面可以开始使用iptables做转发了。
iptables -F
iptables -Z
iptables -X
iptables -P INPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s a.a.a.a/aa -o eth0 -j SNAT --to-source 192.168.0.2
上面的aa 是 open*** 客户端的ip地址段加子网,后面那个是本地网卡的。
测试成功后,保存 并设置好开机读取。
iptables-save > /root/fw.iptables
在 vim /etc/rc.local 里加入
iptables-restore < /root/fw.iptables
七。 在服务器端设置路由
在某些大的网络中,局域网之间也需要路由,如果服务器本身不能访问到其它局域网,自然***的客户端也不可以。
vim /etc/rc.local
/sbin/route add -net 10.0.0.0/8 gw 10.10.0.1
转载于:https://blog.51cto.com/zhpe2010/1142921