Linux自學筆記——模擬搭建open***

          ***直譯就是虛擬專用通道,是提供給企業之間或者個人與公司之間安全數據傳輸的隧道,open***無疑是linux開源***的先鋒,提供了良好的性能和友好的用戶GUI。

Open***是一個基於OpenSSL庫的應用層***實現。傳統***相比,它的優點是簡單易用。Open***允許參與建立***的單點使用共享金鑰,電子證書,或者用戶名/密碼來進行身份認證。

原理:

       Open***的技術核心是虛擬網卡,其次是SSL協議實現,由於SSL協議在其他的詞條中介紹的比較清楚了,這裏重點對虛擬網卡及其在Open***中的工作原理進行介紹:

       虛擬網卡是使用網絡底層編程技術實現的一個驅動軟件,安裝後在主機上多出現一個網卡,可以像其它網卡一樣進行配置。服務程序可以在應用層打開虛擬網卡,如果應用軟件(如IE)向虛擬網卡發送數據,則服務程序可以讀取到該數據,如果服務程序寫合適的數據到虛擬網卡,應用軟件也可以接受得到。虛擬網卡在很多操作系統下都有相應的實現,這也是Open***能夠跨平臺一個很重要的理由。

       在Open***中,如果訪問一個遠程的虛擬地址(屬於虛擬網卡配用的地址系列,區別於真實地址),則操作系統會通過路由機制將數據包TUN模式或數據幀(TAP模式)發送到虛擬網卡上,服務程序接受該數據並進行相應的處理後,通過socket從外網上發送出去,遠程服務程序通過SOCKET從外網上接收數據,並進行相應的處理後,發送給虛擬網卡

演示環境:

      三臺主機:node1: eth0 :172.16.23.2(模擬內網地址,網關指向172.16.23.1)

                      Node2:eth0:192.168.162.131(模擬外網地址)

                            eth1:172.16.23.1(模擬內網地址)

                      node3:eth0:192.168.162.130(模擬外網地址)

       本次實驗想實現的功能:把node2比作公司的公網地址,node1比作公司的內網。Node3比較家庭的地址。使員工在家能訪問公司的內網,使node3能訪問node1.

1.      基礎環境配置

1)      開啓node2核心轉發功能;

    image.png                                               

2)      爲了便於測試,清空三個節點的防火牆規則關閉selinux;

    image.png

3)      配置各個節點ip地址

2.      安裝程序包;

1)      配置epel源倉庫;

2)      安裝open***

#yum install open*** –y

3)      安裝easy-rsa,用來製作ca證書,服務端證書,客戶端證書;

#wget https://github.com/Open***/easy-rsa/archive/master.zip

#unzip master.zip

#mv easy-rsa-mater/  easy-rsa/      (將解壓後的文件夾重命名)

#cp  -R easy-rsa/   /etc/open***/       (將重命名的文件夾複製到/etc/open***目錄下)

4)      編輯服務器端vars文件

# cd /etc/open***/easy-rsa/easyrsa3/

# cp vars.example vars

# vim vars

image.png

5)      創建根證書

# ./easyrsa  init-pki           (初始化)

# ./easyrsa  build-ca               (創建根證書)

Note:這一步會需要輸入PEM密碼,輸入兩次,請記住此密碼,否則後面不能爲證書籤名。還需要輸入common name通用名,隨便起一個便可;

6)      創建服務器端證書

        # ./easyrsa  gen-req  server  nopass         (創建服務器端證書,note:在此過程中也要輸入common name,不跟之前的根證書的common name一樣即可)

       # ./easyrsa sign server server          (簽約服務端證書,此過程需要你確認yes,還需要你創建ca時的密碼。)

7)      創建Diffie-Hellman

       # ./easyrsa gen-dh            (創建Diffie-Hellman,確保key穿越不安全網絡的命令)

8)      創建ta祕鑰文件

       # open*** --genkey --secret  ta.key  (創建ta祕鑰文件)

9)      創建客戶端證書;

       # mkdir /root/client  && cd  /root/client

       # cp –R  /root/easy-rsa/   ./

       # cd easy-rsa/easyrsa3/

       # ./easyrsa  init-pki  (初始化)

       # ./easyrsa gen-req yourname   (生成證書,yourname爲自定的名字)

       # cd /etc/open***/easy-rsa/easyrsa3/

       # ./easyrsa  import-req  /root/client/easy-rsa/easyrsa3/pki/reqs/yourname.req   yourname   (導入證書)

       # ./easyrsa  sign  client  yourname   (簽約證書,note:這裏生成client所以必須爲client,qingliu要與之前導入名字一致)

10)  拷貝文件到相應位置;

拷貝服務器端所需文件;

]# cp pki/ca.crt /etc/open***/

]# cp pki/private/server.key /etc/open***/

]# cp pki/issued/server.crt /etc/open***/

]# cp pki/dh.pem /etc/open***/

]# cp /etc/open***/easy-rsa/ta.key /etc/open***/

 

拷貝客戶端所需文件;

]# cp pki/ca.crt /root/client/

]# cp pki/issued/yourname.crt /root/client/

]# cp /root/client/pki/private/yourname.key /root/client/

]# cp /etc/open***/easy-rsa/ta.key  /root/client/

11)  修改open***的配置文件;

# cp /usr/share/doc/open***-2.4.5/sample/sample-config-files/server.conf /etc/open***

    image.png

啓動服務:

    image.png

而且多了一個虛擬網卡;

    image.png

3.      安裝linux客戶端連接;

1)      安裝open***,與服務器端一樣;

2)      將服務器端的ca.crt,yourname.crt,yourname.key, ta.key文件轉到/etc/open***目錄下;

    image.png

3)      創建client.conf;

    image.png

4)      遠程撥入***,測試;

    image.png

觀察客戶端也多了張虛擬網卡;

    image.png

測試ping內網地址;

    image.png

以上表明,本次實驗已經成功,以下我們將配置mysql方式認證登錄***連接;

4.      配置mysql認證登錄***;

1)      安裝mysql;

2)      登錄mysql,創建表及字段等;

    image.png

3)      創建登錄表;

    image.png

4)      插入用戶數據

    image.png

5)      配置pam_mysql模塊;

    image.png

使用testsaslauthd驗證登錄情況;

    image.png

6)      安裝open***服務器的auth-pam插件;

Node2上安裝的open***有自帶的模塊open***-auth-pam.so,但是好像2.1版本以上的open***自帶的open***-auth-pam.so驗證會出現驗證失敗的問題,這裏需要重新編譯安裝;

下載源碼包http://pkgs.fedoraproject.org/repo/pkgs/open***/open***-2.0.7.tar.gz,注意不要使用wget,可能解壓會出現問題;

    image.png

# cp ./open***-auth-pam.so /etc/open***/

7)      配置***配置文件server.conf,添加三行配置;

    image.png

8)      編輯客戶端配置文件client.conf;

    image.png

9)      啓動open***服務端服務,並從客戶端連接,從客戶端連接輸入username和password。跟上一樣測試;


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