客戶端:win7 64bit open***: centos5.8 外網IP:x.x.x.x 內網IP:192.168.53.230
首先安裝軟件包: yum install lzo yum -y install open*** easy-rsa
開啓服務器端路由轉發功能
vim /etc/sysctl.conf net.ipv4.ip_forward= 1 # 把0改成1,開啓服務器端路由轉發功能 sysctl -p
準備創建CA證書文件,修改vars文件中變量值。國家、省、城市、組織、郵箱、單位 cd /usr/share/easy-rsa/2.0/ 這是修改好的文件 cat vars |grep -E ^[^#] export EASY_RSA="`pwd`" export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` export KEY_DIR="$EASY_RSA/keys" echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" export KEY_SIZE=2048 export CA_EXPIRE=3650 export KEY_EXPIRE=3650 export KEY_COUNTRY="CN" export KEY_PROVINCE="GD" export KEY_CITY="Gangzhou" export KEY_ORG="MyOrganizationalUnit" export KEY_EMAIL="[email protected]" export KEY_OU="MyOrganizationalUnit" export KEY_NAME="EasyRSA"
source 一下這個文件 使這些變量生效,等下執行下面就不用輸入了 source vars 一下這些命令不停的enter就行了,需要輸入Y的時候輸入Y ./clean-all ./build-ca # 初始化證書授權中心,創建CA證書,輸出信息中已經引用了之前所設置的變量值 ./build-key-server server #創建服務端證書和密鑰。 ./build-key win7 #創建客戶端端證書和密鑰。 ./build-key client #創建第二個客戶端證書和密鑰。 ./build-dh #創建Diffie Hellman 參數,Diffie Hellman 用於增強安全性,在Open×××是必須的。 open*** --genkey --secret keys/ta.key #是爲了防止惡意***(如DoS、UDP port flooding),生成的一個"HMAC firewall"。
創建open***配置目錄,拷貝生成的文件到指定目錄下
mkdir /etc/open***/keys cp keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/open***/keys/ cp /usr/share/doc/open***-2.3.8/sample/sample-config-files/server.conf /etc/open***
/
配置文件如下:
grep '^[^#;]' /etc/open***/server.conf port 1194 proto tcp #UDP更快些,但是tcp跟安全些 dev tun ca keys/ca.crt cert keys/server.crt key keys/server.key # This file should be kept secret dh keys/dh2048.pem server 10.8.0.0 255.255.255.0 #次網段不能與真實存在的IP網段衝突 ifconfig-pool-persist ipp.txt # 維持一個客戶端和virtual IP的對應表,以方便客戶端重新連接可以獲得同樣的IP push "redirect-gateway def1 " #所有路由都經過***服務器。需要×××的話,開啓這個 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" push "route 192.168.53.0 255.255.255.0" 如果只要連內網,打開這行,其中內網爲你服務器所在的真實內網 ,以上兩行都註釋掉 client-to-client #客戶端與客戶端是否通信 duplicate-cn #如果您希望有相同Common Name的客戶端都可以登陸,也可以註釋下面的語句,推薦每個客戶端都使用不用的Common Name,開啓的話,一個證書可以多個客戶端連接 keepalive 10 120 tls-auth keys/ta.key 0 # This file is secret comp-lzo # 使用lzo壓縮的通訊,服務端和客戶端都必須配置 persist-key persist-tun ##持續選項會盡量避免訪問某些資源的重新啓動可能不可以因爲特權的降級。 status /var/log/open***/open***-status.log log-append /var/log/open***/open***.log verb 3 #日誌級別
*nat :PREROUTING ACCEPT [133815:106094014] :POSTROUTING ACCEPT [106420:6438724] :OUTPUT ACCEPT [106420:6438724] -A POSTROUTING -s 10.8.0.0/255.255.255.0 -j MASQUERADE COMMIT # Completed on Sat Oct 24 21:20:27 2015 # Generated by iptables-save v1.3.5 on Sat Oct 24 21:20:27 2015 *filter :INPUT DROP [25601:1544411] :FORWARD ACCEPT [2478:211489] #注意這裏爲ACCEPT 否則會出現連上***無法dns解析域名 :OUTPUT ACCEPT [1297534:172358827] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1194 -m comment --comment "open***" -j ACCEPT -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 20/sec --limit-burst 20 -j ACCEPT #此爲防止DDOS*** -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
這是我的iptables配置,如果你要×××的話,要注意dns要能解析,不然你就只能登QQ了。
/etc/init.d/open*** start #服務器配好之後,可以開啓open***了
接下來配置客戶端
cp /usr/share/doc/open***-2.3.8/sample/sample-config-files/client.conf /usr/share/easy-rsa/keys/client.o***
grep '^[^#;]' /usr/share/easy-rsa/keys/client.o*** dev tun proto tcp remote 你的open***服務器IP 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert win7.crt key win7.key ns-cert-type server tls-auth ta.key 1 comp-lzo verb 3
cd /usr/share/easy-rsa/2.0/keys/ zip conf.zip win7.crt win7.key ca.crt ta.key client.o*** sz conf.zip
1.下載客戶端,並默認安裝:下載地址可能需要×××
http://***tech.googlecode.com/files/open***-2.1.1-gui-1.0.3-install-cn-64bit.zip
2.將服務端內conf.zip複製到客戶端C:\Program Files(x86)\Open×××\config下並解壓.
安裝好後,需要以管理員的身份運行此程序,不然會添加不了route,導致報錯
這樣設置就好了...
延遲雖然有點高,但是確實已經連上了。搞定了,收工了。