Open*** 簡易用戶名密碼驗證方式登錄

 在安裝之前保證系統時間要正確,否則證書生成的可能會無效。


date 
ntpupdate -u time.windows.com        ;同步時間
hwclock [-rw]  
 
    - r 爲讀取當前BIOS時間, 
    -w 爲將當前系統時間寫入BIOS時間。

一。安裝

    yum install openssl-devel.i*
 
    rpm -ivh lzo-2.02-3.el5.kb.i386.rpm

    
    rpm -ivh open***-2.1-0.20.rc4.el5.kb.i386.rpm


二。複製配置文件到指定目錄

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***/

三。生成key,爲配置服務器做準備。


    cd /etc/open***/2.0
    vi vars                    #最下面值設置成想要的樣子

export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="BJ"
export KEY_ORG="XX"
export KEY_EMAIL="[email protected]"

  


    讀取變量,生成密鑰。

            讀取變量。
            source ./vars
            
            清理所有的key ,只有第一次時需要使用。
            #./clean-all
            
            生成CA證書                                             
            #./build-ca
    
       建立 server key 
            ./build-key-server server

  #生成客戶端 key, 使用用戶名密碼驗證時可以不生成客戶端的key.

  #./build-key client1
       
            生成 Diffie Hellman 參數

            #./build-dh


 

  將keys 下的所有文件打包下載到本地 ,其它客戶機用。

    創建服務端配置文件 ,keys下的ca.crt   server.crt server.key   dh1024.pem拷貝到/etc/open***

 


    
四,配置服務器。

    vim /etc/open***/server.conf

[root@localhost ~]# vim /etc/open***/server.conf 

 

 
 
local a.b.c.d
#服務器端IP
port 1194
#服務器端口,可以設多個,如 port 1194 1195 1196
proto tcp
#使用tcp 協議,默認使用udp協議.
dev tun
# dev tun爲ip路由通道,dev tap爲以太網通道,dev tap0爲以太網橋通道.
ca ca.crt
# 指明ca證書,設置根證書,server和 client 使用同一證書.
cert server.crt
#設置cert證書,服務器上要有此證書,每個客戶端要有自己不同的證書.
key server.key
# 設置私有key, 服務器上要有此key,每個客戶端要有自己不同的key.
dh dh1024.pem
#用於hash的文件.
server 192.168.100.0 255.255.255.0
#客戶端撥入服務器分配IP的地址池
ifconfig-pool-persist ipp.txt
#設定當服務重啓以後,客戶端可以拿到之前的IP地址.也就是DHCP綁定.
#push "redirect-gateway"
#設置客戶端默認網關爲***,這樣會增大***網關上的流量.沒有意義.通常不用
push "route 10.10.0.0 255.255.0.0"
#push "route 10.136.0.0 255.255.0.0"
 
#推送網段10.15.0.0 的路由策略到客戶端的***上
push "dhcp-option DNS 10.0.0.101"
#推送客戶端DNS
push "dhcp-option WINS 10.0.0.101"
#推送客戶端WINS設置
client-to-client
#***客戶端間可以互訪.
keepalive 10 120
#檢查連接狀態,10秒ping一次,120秒無響應就斷開.
comp-lzo
#支持壓縮
user nobody
group nobody
#open***初始化以後以nobody 方式運行.
persist-key
#***服務重啓後重讀key
persist-tun
#***服務器重啓後保持之前客戶端的連接.
status /var/log/open***-status.log
#設置日誌位置.
verb 3
#設置日誌等級,默認3 ,若設置成4則爲通用模式,只記錄一般使用情況.
mute 20
#同樣的日誌記錄重啓n次後,則忽略.
duplicate-cn
#允許一份證書多個客戶端使用.
max-clients 100
 
#下面的三行意思是使用Linux系統自身的身份驗證機制
plugin /usr/lib/open***/plugin/lib/open***-auth-pam.so login
client-cert-not-required
username-as-common-name
 
 


五.1  啓動服務器和設置開機啓動


service open*** start
chkconfig --level 345 open*** on 
 
五.2 創建用戶名密碼,用於open*** 的認證。

useradd *** -M -s /sbin/nologin
passwd ***
 
 
五.3 客戶端
 
Open***可以通過插件(plugin)方式支持上述的用戶名認證,在Linux下以PAM爲例,必須先增加用戶:
useradd -M -s /sbin/nologin test 
passwd test
 
    在open***客戶端的config目錄下建立一個 client.o*** ,寫入如下內容。
 
         


#聲明是客戶端
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     

 

設置開機啓動
 
chkconfig --level 345 iptables on

 

下面可以開始使用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

 
 

 










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章