在安裝之前保證系統時間要正確,否則證書生成的可能會無效。
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="[email protected]"
#生成客戶端 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