日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

基于Linux的 Open×××网络之网络架构应用实例

發布時間:2023/11/29 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Linux的 Open×××网络之网络架构应用实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于Linux的?Open×××網絡之網絡架構應用實例

Open×××?概述

???????Open×××?是一個開源的加密隧道構建工具,基于?OpenSSL?的?SSL/TLS?協議,可以在?Internet中實現點對點的?SSL?×××?安全連接。使用?Open×××?的好處是安全、易用和穩定,且認證方式靈活,具備實現?SSL?×××?解決方案的完整特性。Open×××?可以應用于?Linux、Unix、Mac?OS?以及Windows?等各種操作系統平臺。

???????Open×××?提供兩種類型的虛擬網絡接口:TUN?和?TAP,分別用于建立?IP?隧道、以太網橋接。在?Linux?中使用這兩種虛擬設備,需要對應的內核模塊支持。RHEL5?系統默認已編譯好?tun?模塊,直接使用即可。

???????Open×××?的?官?方?站?點?是?http://open***.net?,?目?前?發?布?的?最?新?測?試?版?本?為Open×××-2.1_rc13,穩定版為Open×××-2.0.9。

???????Open×××使用OpenSSL庫加密數據與控制信息:它使用了OpenSSL的加密以及驗證功能,意味著,它能夠使用任何OpenSSL支持的算法。它提供了可選的數據包HMAC功能以提高連接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

???????Open×××提供了多種身份驗證方式,用以確認參與連接雙方的身份,包括:預享私鑰,×××在vlan中的應用第三方證書以及用戶名/密碼組合。預享密鑰最為簡單,但同時它只能用于建立點對點的×××;基于PKI的第三方證書提供了最完善的功能,但是需要額外的精力去維護一個PKI證書體系。Open×××2.0后引入了用戶名/口令組合的身份驗證方式,它可以省略客戶端證書,但是仍有一份服務器證書需要被用作加密。

本章案例中,需要下載使用的相關軟件包參考如下:

最新穩定版源碼包:http://open***.net/release/open***-2.0.9.tar.gz

Windows?安裝包:

http://open***.se/files/install_packages/open***-2.0.9-gui-1.0.3-install.exe

LZO工具包:http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz

?

1.?案例需求分析

???????本案例主要基于RHEL5?和Windows?XP系統環境,跨越不安全的Internet網絡,為異地的兩個局域網及遠程網管工作站建立安全的SSL?×××連接(如圖8.2所示)。

???????其中,北京總部和上海分公司的網關服務器均使用?RHEL5?系統,需要分別配置?Open×××,用于連接兩個異地的局域網?LAN1、LAN2。此外,位于?Internet?中的網管工作站使用?Windows?XP系統,需要隨時通過?×××?安全隧道訪問總部的局域網?LAN1?和上海分公司的局域網?LAN2。

基于?Linux?的?Open×××?網絡

Open×××?遠程虛擬專用網絡架構

?

基于上述需求,可以將北京總部的網關服務器?GW1?配置為?×××?Server?模式,上海的網關服務器GW2和Internet網?管工作站PC1均使用×××?Client模式。分別建立兩條點對點

(Point-to-Point)的SSL?×××安全隧道——“GW1?<---->?GW2”、“GW1?<---->?PC1”即可。

由于Internet?網絡的細節不是本案例的重點,因此GW1、GW2的公網IP地址分別使用

173.74.75.76和173.74.75.77來模擬。其他網絡接口地址設置如下:

GW1、GW2?的內網接口?IP?地址分別為?192.168.1.1、192.168.2.1。

??GW1?<---->?GW2?隧道:分別使用虛擬?IP?地址?10.8.0.1/30、10.8.0.2/30。

??GW1?<---->?PC1?隧道:分別使用虛擬?IP?地址?10.9.0.1/30、10.9.0.2/30。

另外,兩地局域網的客戶機需要正確設置好?IP?地址、默認網關等參數:

??LAN1?的主機使用?192.168.1.0/24?網段,默認網關設為?192.168.1.1。

??LAN2?的主機使用?192.168.2.0/24?網段,默認網關設為?192.168.2.1。

2.?配置?GW1?<---->?GW2?隧道連接

本小節主要闡述如何創建第?1?條?SSL?×××?隧道,用于連接?GW1、GW2?兩臺服務器,以便實現北京、上海兩地局域網(LAN1、LAN2)的安全互聯。

主要實現過程如下:

第一步、配置主服務器(GW1)——北京

A.?配置?Internet?連接及?SNAT、路由轉發

1)?配置?IP?地址

eth0?接口(173.74.75.76/24)用于連接?Internet,eth1?接口(192.168.1.1/24)用于連

接局域網(配置過程略)

2)?開啟路由及?SNAT?轉換

[root@gw1?~]#?vim?/opt/gw1_nat.sh

sysctl?-w?net.ipv4.ip_forward=1

/sbin/iptables?-t?nat?-I?POSTROUTING?-o?eth0?-j?SNAT?--to-source?173.74.75.76

[root@gw1?~]#?chmod?a+x?/opt/gw1_nat.sh

[root@gw1?~]#?echo?"/opt/gw1_nat.sh"?&gt;&gt;?/etc/rc.local

[root@gw1?~]#?/opt/gw1_nat.sh

net.ipv4.ip_forward?=?1

[root@gw1?~]#?sysctl?–p

B.?安裝?Open×××?服務

[root@gw1?soft_dir]#?tar?zxvf?lzo-2.03.tar.gz

[root@gw1?soft_dir]#?cd?lzo-2.03

[root@gw1?lzo-2.03]#?./configure?&&?make?&&?make?install

[root@gw1?lzo-2.03]#?cd?../

[root@gw1?soft_dir]#?tar?zxvf?open***-2.0.9.tar.gz

[root@gw1?open***-2.0.9]#?./configure?&&?make?&&?make?install

[root@gw1?~]#?cd?/soft_dir/

[root@gw1?soft_dir]#?cp?-p?open***-2.0.9/sample-scripts/open***.init?/etc/init.d/open***

[root@gw1?soft_dir]#?chmod?+x?/etc/init.d/open***

[root@gw1?soft_dir]#?chkconfig?--add?open***

[root@gw1?soft_dir]#?chkconfig?--level?2345?open***?on

C.?創建證書和密鑰文件

證書和密鑰文件主要用于點對點客戶端的認證,以便增強安全性。為了降低密鑰創建過程的復雜性,可以充分利用?Open×××?源碼包提供的?easy-rsa/目錄,該目錄中包含一系列簡單易用的腳本工具(參考“open***-2.0.9/easy-rsa/README”文件)。

3)?配置變量環境

修改?easy-rsa/vars?文件,根據實際情況適當修改預定義變量,或保持默認。在后續

創建相關文件的過程中,將會直接讀取這些變量的內容。其中“KEY_DIR”變量的值決定了

新創建的密鑰等文件的存放位置。

[root@gw1?~]#?cd?/soft_dir/open***-2.0.9/easy-rsa/

[root@gw1?easy-rsa]#?vim?vars

export?D=`pwd`

export?KEY_CONFIG=$D/openssl.cnf

export?KEY_DIR=$D/keys

echo?NOTE:?when?you?run?./clean-all,?I?will?be?doing?a?rm?-rf?on?$KEY_DIR

export?KEY_SIZE=1024

export?KEY_COUNTRY=CN?//粗體部分根據具體應用情況進行修改

export?KEY_PROVINCE=BeiJing

export?KEY_CITY=BeiJing

export?KEY_ORG="BENET.Inc"

export?KEY_EMAIL="***adm@benet.com"

?

[root@gw1?easy-rsa]#?source?vars?//執行?vars?文件中的代碼

NOTE:?when?you?run?./clean-all,?I?will?be?doing?a?rm?-rf?on?/soft_dir/open***-2.0.9/easy-rsa/keys

[root@gw1?easy-rsa]#?./clean-all?//預先清除$KEY_DIR?目錄

4)?創建?CA?證書

執行“./build-ca”腳本建立?CA?證書文件,根據腳本提示設置好國家代碼、省份、城市、

公司名等信息,如通用識別名稱“Common?Name”項可以設置為?GW1?的?FQDN?名稱。

后續創建的密鑰文件需要依據該?CA?文件。

[root@gw1?easy-rsa]#?./build-ca

Generating?a?1024?bit?RSA?private?key

.....++++++

..............................++++++

writing?new?private?key?to?'ca.key'

-----

You?are?about?to?be?asked?to?enter?information?that?will?be?incorporated

into?your?certificate?request.

What?you?are?about?to?enter?is?what?is?called?a?Distinguished?Name?or?a?DN.

There?are?quite?a?few?fields?but?you?can?leave?some?blank

For?some?fields?there?will?be?a?default?value,

If?you?enter?'.',?the?field?will?be?left?blank.

-----

Country?Name?(2?letter?code)?[CN]:

State?or?Province?Name?(full?name)?[BeiJing]:

Locality?Name?(eg,?city)?[BISHKEK]:

Organization?Name?(eg,?company)?[BENET.Inc]:

Organizational?Unit?Name?(eg,?section)?[]:

Common?Name?(eg,?your?name?or?your?server's?hostname)?[]:gw1.benet.com

Email?Address?[***adm@benet.com]:

?

5)?創建?dh(Diffie-Hellman)密鑰算法文件

執行“./build-dh”腳本即可建立?dh?文件

[root@gw1?easy-rsa]#?./build-dh

Generating?DH?parameters,?1024?bit?long?safe?prime,?generator?2

This?is?going?to?take?a?long?time

..........................................................................+.................................+................................................................+...................+.........................................+..+................................................................+.....................................................................................+........+.............+..............................+.......................................................................................+..........+.........................+.......................................................................................+.................+..............................+........+..............................+.........................................................................................................................................................+....................+......+.............+.........................................................+......+.......+.........................+.........................................................................................+.........................................+............................+............................+..........................................+.............................++*++*++*

6)?創建?GW1?主服務器端密鑰

執行“./build-key-server”腳本可以建立×××?服務端密鑰文件,根據提示設置好Common?Name(gw1.benet.com),最后依次按“y”鍵簽署(Sign)及提交(Commit)。

[root@gw1?easy-rsa]#?./build-key-server?gw1

Generating?a?1024?bit?RSA?private?key

.............................++++++

....................................++++++

writing?new?private?key?to?'gw1.key'

-----

You?are?about?to?be?asked?to?enter?information?that?will?be?incorporated

into?your?certificate?request.

What?you?are?about?to?enter?is?what?is?called?a?Distinguished?Name?or?a?DN.

There?are?quite?a?few?fields?but?you?can?leave?some?blank

For?some?fields?there?will?be?a?default?value,

If?you?enter?'.',?the?field?will?be?left?blank.

-----

Country?Name?(2?letter?code)?[CN]:

State?or?Province?Name?(full?name)?[BeiJing]:

Locality?Name?(eg,?city)?[BISHKEK]:

Organization?Name?(eg,?company)?[BENET.Inc]:

Organizational?Unit?Name?(eg,?section)?[]:

Common?Name?(eg,?your?name?or?your?server's?hostname)?[]:gw1.benet.com

Email?Address?[***adm@benet.com]:

Please?enter?the?following?'extra'?attributes

to?be?sent?with?your?certificate?request

A?challenge?password?[]:

An?optional?company?name?[]:

Using?configuration?from?/soft_dir/open***-2.0.9/easy-rsa/openssl.cnf

Check?that?the?request?matches?the?signature

Signature?ok

The?Subject's?Distinguished?Name?is?as?follows

countryName?:PRINTABLE:'CN'

stateOrProvinceName?:PRINTABLE:'BeiJing'

localityName?:PRINTABLE:'BISHKEK'

organizationName?:PRINTABLE:'BENET.Inc'

commonName?:PRINTABLE:'gw1.benet.com'

emailAddress?:IA5STRING:'***adm@benet.com'

Certificate?is?to?be?certified?until?Jul?12?02:42:17?2020?GMT?(3650?days)

Sign?the?certificate??[y/n]:y

1?out?of?1?certificate?requests?certified,?commit??[y/n]y

Write?out?database?with?1?new?entries

Data?Base?Updated

?

7)?創建?GW2?對端服務器密鑰

執行“./build-key”腳本可以建立?×××?客戶端密鑰文件,同樣根據提示設置好?Common?Name(gw2.benet.com),最后依次按“y”簽署(Sign)及提交(Commit)。

[root@gw1?easy-rsa]#?./build-key?gw2

Generating?a?1024?bit?RSA?private?key

...................++++++

..++++++

writing?new?private?key?to?'gw2.key'

-----

You?are?about?to?be?asked?to?enter?information?that?will?be?incorporated

into?your?certificate?request.

What?you?are?about?to?enter?is?what?is?called?a?Distinguished?Name?or?a?DN.

There?are?quite?a?few?fields?but?you?can?leave?some?blank

For?some?fields?there?will?be?a?default?value,

If?you?enter?'.',?the?field?will?be?left?blank.

-----

Country?Name?(2?letter?code)?[CN]:

State?or?Province?Name?(full?name)?[BeiJing]:

Locality?Name?(eg,?city)?[BISHKEK]:

Organization?Name?(eg,?company)?[BENET.Inc]:

Organizational?Unit?Name?(eg,?section)?[]:

Common?Name?(eg,?your?name?or?your?server's?hostname)?[]:gw2.benet.com

Email?Address?[***adm@benet.com]:

Please?enter?the?following?'extra'?attributes

to?be?sent?with?your?certificate?request

A?challenge?password?[]:

An?optional?company?name?[]:

Using?configuration?from?/soft_dir/open***-2.0.9/easy-rsa/openssl.cnf

Check?that?the?request?matches?the?signature

Signature?ok

The?Subject's?Distinguished?Name?is?as?follows

countryName?:PRINTABLE:'CN'

stateOrProvinceName?:PRINTABLE:'BeiJing'

localityName?:PRINTABLE:'BISHKEK'

organizationName?:PRINTABLE:'BENET.Inc'

commonName?:PRINTABLE:'gw2.benet.com'

emailAddress?:IA5STRING:'***adm@benet.com'

Certificate?is?to?be?certified?until?Jul?12?02:44:30?2020?GMT?(3650?days)

Sign?the?certificate??[y/n]:y

1?out?of?1?certificate?requests?certified,?commit??[y/n]y

Write?out?database?with?1?new?entries

Data?Base?Updated

?

注意:

使用“./build-key”腳本創建密鑰時,不同的客戶端對應的“Common?Name”不能相同。

8)?生成?tls-auth?密鑰

tls-auth?密鑰可以為點對點的?×××?連接提供了進一步的安全驗證,如果選擇使用這一方式,服務器端和客戶端都必須擁有該密鑰文件。

open***?命令跟上“--genkey?--secret”選項可以用于建立?ta?密鑰文件。

[root@gw1?easy-rsa]#?open***?--genkey?--secret?keys/ta.key

9)?最后將上述文件所在的?keys/文件夾轉移至/etc/open***/目錄

[root@gw1?easy-rsa]#?mkdir?-p?/etc/open***/

[root@gw1?easy-rsa]#?mv?keys/?/etc/open***/

D.?創建主服務器配置文件

在服務器配置文件中指定使用?Server?模式,監聽默認的?UDP?1194?端口。虛擬接口采用tun0設備。可以參考open***?源碼目錄中的配置范例(open***-2.0.9/sample-config-files/server.conf)

[root@gw1?~]#?vim?/etc/open***/gw1_tun0.conf

local?173.74.75.76?//指定監聽服務的?IP?地址

port?1194?//為第?1?條隧道開啟默認的?1194?端口

proto?udp

dev?tun?//使用?SSL?Tune?的?×××?隧道模式

ca?keys/ca.crt

cert?keys/gw1.crt

key?keys/gw1.key

dh?keys/dh1024.pem

server?10.8.0.0?255.255.255.0?//使用服務器模式,并指定?×××?虛擬網絡地址

ifconfig-pool-persist?ipp.txt

push?"route?192.168.1.0?255.255.255.0"?//為?GW2?添加到?LAN1?網段的路由

push?"route?10.9.0.0?255.255.255.0"?//為?GW2?添加到?PC1?的路由

push?"dhcp-options?DNS?210.22.84.3"?//為客戶端設置?DNS?服務器地址

route?192.168.2.0?255.255.255.0?//為?GW1?添加到?LAN2?網段的路由

client-config-dir?ccd?//允許讀取?ccd/目錄下的客戶端配置文件

keepalive?10?120

tls-auth?keys/ta.key?0?//指定?tls-auth?密鑰

cipher?BF-CBC?//加密算法與客戶端要保持一致

comp-lzo

max-clients?100?//允許的最大并發?×××?連接數

user?nobody

group?nobody

persist-key

persist-tun

status?open***-status.log

log-append?open***.log

verb?3

mute?20

?

E.?建立用于?GW2?的?ccd?配置文件

[root@gw1?~]#?mkdir?-p?/etc/open***/ccd

[root@gw1?~]#?cd?/etc/open***/ccd/?//為對端服務器?GW2?創建獨立的配置文件

[root@gw1?ccd]#?vim?gw2.benet.com

iroute?192.168.2.0?255.255.255.0?//聲明?GW2?后端的?LAN2?子網絡

ifconfig-push?10.8.0.2?10.8.0.1?//指定?GW2?的本地地址(tun0)、對端地址(P-t-P)

?

F.?啟動?Open×××?服務

[root@gw1?~]#?service?open***?start

正在啟動?open***:?[確定]

[root@gw1?~]#?netstat?-anp?|?grep?open***

udp?0?0?173.74.75.76:1194?0.0.0.0:*?11220/open***

?

第二步、配置對端服務器(GW2)——上海

1.?配置?Internet?連接及?SNAT、路由轉發

1)?配置?IP?地址

eth0?接口(173.74.75.77/24)用于連接?Internet,eth1?接口(192.168.2.1/24)用于連

接局域網(配置過程略)

2)?開啟路由及?SNAT?轉換

[root@gw2?~]#?vim?/opt/gw2_nat.sh

sysctl?-w?net.ipv4.ip_forward=1

/sbin/iptables?-t?nat?-I?POSTROUTING?-o?eth0?-j?SNAT?--to-source?173.74.75.77

?

[root@gw2?~]#?chmod?a+x?/opt/gw2_nat.sh

[root@gw2?~]#?echo?"/opt/gw2_nat.sh"?&gt;&gt;?/etc/rc.local

[root@gw2?~]#?/opt/gw2_nat.sh

net.ipv4.ip_forward?=?1

2.?安裝?Open×××?服務

[root@gw1?soft_dir]#?tar?zxvf?lzo-2.03.tar.gz

[root@gw1?soft_dir]#?cd?lzo-2.03

[root@gw1?lzo-2.03]#?./configure?&&?make?&&?make?install

[root@gw1?lzo-2.03]#?cd?../

[root@gw1?soft_dir]#?tar?zxvf?open***-2.0.9.tar.gz

[root@gw1?soft_dir]#?cd?open***-2.0.9

[root@gw1?open***-2.0.9]#?./configure?&&?make?&&?make?install

[root@gw1?~]#?cd?/soft_dir/

[root@gw1?soft_dir]#?cp?-p?open***-2.0.9/sample-scripts/open***.init?/etc/init.d/open***

[root@gw1?soft_dir]#?chmod?+x?/etc/init.d/open***

[root@gw1?soft_dir]#?chkconfig?--add?open***

[root@gw1?soft_dir]#?chkconfig?--level?2345?open***?on

3.?下載證書和密鑰文件

下載在?GW1?主服務器端創建的?ca.crt、ta.key、gw2.key、gw2.crt?文件,使用?FTP、SCP、Email?等任何方式均可。

——?在服務器?GW1?上:

[root@gw1?~]#?cd?/etc/open***/keys/

[root@gw1?keys]#?tar?jcvf?/var/ftp/send_to_gw2.tar.bz2?ca.crt?ta.key?gw2.key?gw2.crt

ca.crt

ta.key

gw2.key

gw2.crt

[root@gw1?keys]#?service?vsftpd?start

為?vsftpd?啟動?vsftpd:?[確定]

?

——?在服務器?GW2?上:

[root@gw2?~]#?wget?ftp://173.74.75.76/send_to_gw2.tar.bz2

--2010-07-15?11:17:08--?ftp://173.74.75.76/send_to_gw2.tar.bz2

=&gt;?`send_to_gw2.tar.bz2'

Connecting?to?173.74.75.76:21...?已連接。

正在以?anonymous?登錄?...?登錄成功!

==&gt;?SYST?...?完成。?==&gt;?PWD?...?完成。

==&gt;?TYPE?I?...?完成。?==&gt;?不需要?CWD。

==&gt;?SIZE?send_to_gw2.tar.bz2?...?4025

==&gt;?PASV?...?完成。?==&gt;?RETR?send_to_gw2.tar.bz2?...?完成。

長度:4025?(3.9K)

100%[======================================&gt;]?4,025?--.-K/s?in?0s

2010-07-15?11:17:09?(116?MB/s)?-?`send_to_gw2.tar.bz2'?saved?[4025]

[root@gw2?~]#?ls

anaconda-ks.cfg?Desktop?install.log?install.log.syslog?send_to_gw2.tar.bz2

?

將下載后的文件釋放保存到?open***?配置目錄

[root@gw2?~]#?mkdir?-p?/etc/open***/keys/

[root@gw2?~]#?tar?jxvf?send_to_gw2.tar.bz2?-C?/etc/open***/keys/

?

4.?創建客戶端配置文件

在客戶端配置文件中指定使用?Client?模式,以及遠程?×××?服務器的地址和端口。可以參考?open***?源碼目錄中的配置范例(open***-2.0.9/sample-config-files/client.conf)

[root@gw2?~]#?vim?/etc/open***/gw2.conf

client?//使用客戶端模式

dev?tun

proto?udp

remote?173.74.75.76?1194?//點對點主服務器的地址、端口

resolv-retry?infinite

nobind

user?nobody

group?nobody

persist-key

persist-tun

ca?keys/ca.crt

cert?keys/gw2.crt

key?keys/gw2.key

ns-cert-type?server

tls-auth?keys/ta.key?1

cipher?BF-CBC?//需和?GW1?服務器端保持一致

comp-lzo

verb?3

mute?20

?

5.?啟動?Open×××?服務

使用安裝時建立的服務腳本啟動?open***?服務

[root@gw2?~]#?service?open***?start

正在啟動?open***:?[確定]

[root@gw2?~]#?netstat?-anp?|?grep?open***

udp?0?0?0.0.0.0:39449?0.0.0.0:*?27004/open***

unix?2?[?]?DGRAM?65137?27004/open***

?

第三步、驗證?SSL?×××?連接

1.?GW1?服務器的?×××?接口狀態

5)?GW1?主服務器?tun0?接口的?IP?地址為?10.8.0.1,點對點對端地址為?10.8.0.2

[root@gw1?keys]#?ifconfig?tun0

tun0?Link?encap:UNSPEC?HWaddr?00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet?addr:10.8.0.1?P-t-P:10.8.0.2?Mask:255.255.255.255

UP?POINTOPOINT?RUNNING?NOARP?MULTICAST?MTU:1500?Metric:1

RX?packets:0?errors:0?dropped:0?overruns:0?frame:0

TX?packets:0?errors:0?dropped:0?overruns:0?carrier:0

collisions:0?txqueuelen:100

RX?bytes:0?(0.0?b)?TX?bytes:0?(0.0?b)

?

6)?路由表中應有通過?GW2?訪問?LAN2?網段的路由記錄

[root@gw1?~]#?route?-n

Kernel?IP?routing?table

Destination?Gateway?Genmask?Flags?Metric?Ref?Use?Iface

10.8.0.2?0.0.0.0?255.255.255.255?UH?0?0?0?tun0

192.168.2.0?10.8.0.2?255.255.255.0?UG?0?0?0?tun0

10.8.0.0?10.8.0.2?255.255.255.0?UG?0?0?0?tun0

192.168.1.0?0.0.0.0?255.255.255.0?U?0?0?0?eth1

173.74.75.0?0.0.0.0?255.255.255.0?U?0?0?0?eth0

169.254.0.0?0.0.0.0?255.255.0.0?U?0?0?0?eth1

?

2.?GW2?服務器的?×××?接口狀態

1)?GW2?服務器?tun0?接口的?IP?地址為?10.8.0.2,點對點對端地址為?10.8.0.1

[root@gw2?~]#?ifconfig?tun0

tun0?Link?encap:UNSPEC?HWaddr?00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet?addr:10.8.0.2?P-t-P:10.8.0.1?Mask:255.255.255.255

UP?POINTOPOINT?RUNNING?NOARP?MULTICAST?MTU:1500?Metric:1

RX?packets:0?errors:0?dropped:0?overruns:0?frame:0

TX?packets:0?errors:0?dropped:0?overruns:0?carrier:0

collisions:0?txqueuelen:100

RX?bytes:0?(0.0?b)?TX?bytes:0?(0.0?b)

?

2)?路由表中應有通過?GW1?訪問?LAN1?網段的路由記錄

[root@gw2?~]#?route?-n

Kernel?IP?routing?table

Destination?Gateway?Genmask?Flags?Metric?Ref?Use?Iface

10.8.0.1?0.0.0.0?255.255.255.255?UH?0?0?0?tun0

192.168.2.0?0.0.0.0?255.255.255.0?U?0?0?0?eth1

192.168.1.0?10.8.0.1?255.255.255.0?UG?0?0?0?tun0

173.74.75.0?0.0.0.0?255.255.255.0?U?0?0?0?eth0

10.9.0.0?10.8.0.1?255.255.255.0?UG?0?0?0?tun0

169.254.0.0?0.0.0.0?255.255.0.0?U?0?0?0?eth1

?

3.?測試?SSL?×××?隧道連接

[root@gw1?~]#?ping?10.8.0.2?-c?2

PING?10.8.0.2?(10.8.0.2)?56(84)?bytes?of?data.

64?bytes?from?10.8.0.2:?icmp_seq=1?ttl=64?time=17.5?ms

64?bytes?from?10.8.0.2:?icmp_seq=2?ttl=64?time=0.613?ms

---?10.8.0.2?ping?statistics?---

2?packets?transmitted,?2?received,?0%?packet?loss,?time?1188ms

rtt?min/avg/max/mdev?=?0.613/9.101/17.590/8.489?ms

?

圖?測試?LAN1、LAN2?中主機之間的互聯

配置“GW1?<---->?PC1”隧道連接

本小節主要描述如何創建第?2?條?SSL?×××?隧道,用于在?GW1、PC1?之間建立點到點的安全連接,以便?Windows?XP?客戶端能夠從?Internet?中安全的接入總部的?×××?網絡,進一步訪問兩地的局域網絡。

第一步、配置主服務器(GW1)——北京

1.?創建?PC1?用戶端密鑰

在?GW1?服務器上為?PC1?網管機建立單獨的密鑰文件,注意?Common?Name?不要和其他密鑰重復。生成的密鑰文件必需放置到/etc/open***/keys/目錄中(可以直接調整?KEY_DIR?變量)。

[root@gw1?~]#?cd?/soft_dir/open***-2.0.9/easy-rsa/

[root@gw1?easy-rsa]#?source?vars

NOTE:?when?you?run?./clean-all,?I?will?be?doing?a?rm?-rf?on?/soft_dir/open***-2.0.9/easy-rsa/keys

[root@gw1?easy-rsa]#?export?KEY_DIR=/etc/open***/keys/

[root@gw1?easy-rsa]#?./build-key?client-pc1

Generating?a?1024?bit?RSA?private?key

.........++++++

...............++++++

writing?new?private?key?to?'client-pc1.key'

-----

You?are?about?to?be?asked?to?enter?information?that?will?be?incorporated

into?your?certificate?request.

What?you?are?about?to?enter?is?what?is?called?a?Distinguished?Name?or?a?DN.

There?are?quite?a?few?fields?but?you?can?leave?some?blank

For?some?fields?there?will?be?a?default?value,

If?you?enter?'.',?the?field?will?be?left?blank.

-----

Country?Name?(2?letter?code)?[CN]:

State?or?Province?Name?(full?name)?[BeiJing]:

Locality?Name?(eg,?city)?[BISHKEK]:

Organization?Name?(eg,?company)?[BENET.Inc]:

Organizational?Unit?Name?(eg,?section)?[]:

Common?Name?(eg,?your?name?or?your?server's?hostname)?[]:client-pc1.benet.com

Email?Address?[***adm@benet.com]:

Please?enter?the?following?'extra'?attributes

to?be?sent?with?your?certificate?request

A?challenge?password?[]:

An?optional?company?name?[]:

Using?configuration?from?/soft_dir/open***-2.0.9/easy-rsa/openssl.cnf

Check?that?the?request?matches?the?signature

Signature?ok

The?Subject's?Distinguished?Name?is?as?follows

countryName?:PRINTABLE:'CN'

stateOrProvinceName?:PRINTABLE:'BeiJing'

localityName?:PRINTABLE:'BISHKEK'

organizationName?:PRINTABLE:'BENET.Inc'

commonName?:PRINTABLE:'client-pc1.benet.com'

emailAddress?:IA5STRING:'***adm@benet.com'

Certificate?is?to?be?certified?until?Jul?12?06:10:23?2020?GMT?(3650?days)

Sign?the?certificate??[y/n]:y

1?out?of?1?certificate?requests?certified,?commit??[y/n]y

Write?out?database?with?1?new?entries

Data?Base?Updated

?

2.?創建第?2?個服務配置文件

該配置文件用于建立“GW1?<---->?PC1”隧道連接,將使用?tun1?設備、監聽?UDP?1195?端口。

[root@gw1?~]#?vim?/etc/open***/gw1_tun1.conf

local?173.74.75.76

port?1195?//為第?2?條隧道開啟新的?1195?端口監聽服務

proto?udp

dev?tun

ca?keys/ca.crt

cert?keys/gw1.crt

key?keys/gw1.key

dh?keys/dh1024.pem

server?10.9.0.0?255.255.255.0?//設置第?2?條隧道的虛擬網絡地址

ifconfig-pool-persist?ipp.txt

push?"route?192.168.1.0?255.255.255.0"?//為?PC1?添加到?LAN1?的路由

push?"route?192.168.2.0?255.255.255.0"?//為?PC1?添加到?LAN2?的路由

push?"route?10.8.0.0?255.255.255.0"?//為?PC1?添加到?GW2?的路由

push?"dhcp-options?DNS?202.106.0.20"

client-to-client

client-config-dir?ccd

keepalive?10?120

tls-auth?keys/ta.key?0

cipher?BF-CBC

comp-lzo

max-clients?10

user?nobody

group?nobody

persist-key

persist-tun

status?open***-status-2.log?//啟用新的日志文件

log-append?open***-2.log

verb?3

mute?20

?

3.?建立用于?PC1?的?ccd?配置文件

[root@gw1?~]#?vim?/etc/open***/ccd/client-pc1.benet.com

ifconfig-push?10.9.0.2?10.9.0.1

?

4.?重新啟動?Open×××?服務

重啟?open***?服務后應在?1194、1195?端口分別監聽服務。

[root@gw1?~]#?service?open***?restart

正在關閉open***:?[確定]

正在啟動?open***:?[確定]

[root@gw1?~]#?netstat?-anp?|?grep?open***

udp?0?0?173.74.75.76:1194?0.0.0.0:*?11793/open***

udp?0?0?173.74.75.76:1195?0.0.0.0:*?11810/open***

?

第二步、配置?Windows?XP?客戶機(PC1)——上海

1.?配置?IP?地址及?Internet?連接(略)

2.?安裝?Open×××-GUI?客戶端工具

雙擊下載的?open***-2.0.9-gui-1.0.3-install.exe文件,按照向?導提示安裝?即可。若只?作?為Open×××客戶端使用,安裝時可以不勾選定制組件列表中的“Open×××?Service”(如圖所示)。

3.?下載證書和密鑰文件

下載在GW1主服務器端創建的ca.crt、ta.key、client-pc1.key、client-pc1.crt?文件。

將下載的密鑰等相關文件復制到Open×××配置文件目錄下(默認為C:\ProgramFiles\Open×××\config\)。注意保留好備份。

4.?創建?PC1?用戶端配置文件

使用?Windwos?XP?系統自帶的記事本工具創建客戶端配置文件?client-pc1.o***,文件內容可以參考范例(C:\Program?Files\Open×××\sample-config\client.o***)。

Microsoft?Windows?[版本?5.2.3790]

(C)?版權所有?1985-2003?Microsoft?Corp.

C:\Documents?and?Settings\Administrator&gt;?notepad?client-pc1.o***

client

dev?tun

proto?udp

remote?173.74.75.76?1195

resolv-retry?infinite

nobind

persist-key

persist-tun

ca?ca.crt

cert?client-pc1.crt

key?client-pc1.key

ns-cert-type?server

tls-auth?ta.key?1

cipher?BF-CBC

comp-lzo

verb?3

mute?20

?

將建好的配置文件保存到C:\Program?Files\Open×××\config\文件夾下(如圖所示)。

client-pc1.o***?文件存放位置

5.?建立?Open×××?連接

方法一:在?Windows?XP?任務欄右側(系統托盤區)的?Open×××-GUI?圖標上點擊右鍵,

選擇“Connect”,即可使用創建好的配置文件建立?×××?連接

方法二:在創建好的?client-pc1.o***?文件上點擊右鍵,選擇“Start?Open×××?on?this?config

file”即可。——用此方法可以查看建立連接的過程信息,適合用于調試/排錯。

第三步、驗證?SSL?×××?連接

1.?GW1?服務器的?×××?接口狀態

GW1?主服務器將會新增接口?tun1,IP?地址為?10.9.0.1,點對點對端地址為?10.9.0.2

[root@gw1?~]#?ifconfig?tun1

tun1?Link?encap:UNSPEC?HWaddr?00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet?addr:10.9.0.1?P-t-P:10.9.0.2?Mask:255.255.255.255

UP?POINTOPOINT?RUNNING?NOARP?MULTICAST?MTU:1500?Metric:1

RX?packets:0?errors:0?dropped:0?overruns:0?frame:0

TX?packets:17?errors:0?dropped:0?overruns:0?carrier:0

collisions:0?txqueuelen:100

RX?bytes:0?(0.0?b)?TX?bytes:840?(840.0?b)

?

2.?Windows?XP?客戶機?PC1?的?×××?接口狀態

使用?Open×××-GUI?連接成功以后,系統將會增加一個“TAP-Win32?Adapter?V8”的本地連接,用戶可以通過“開始?---&gt;?設置?---&gt;?網絡連接”進行查看。

客戶機?PC1?的?×××?接口地址

3.?測試?PC1?與?GW1、GW2?之間的連接

1)?連接GW1(如圖所示)

PC1?到?GW1?的?ping?測試

2)?連接GW2,使用ping測試(如圖所示)

PC1?到?GW2?的?ping?測試

4.?測試?PC1?與?LAN1?中主機之間的連接

連接LAN1?中的主機,使用ping測試(如圖1示)、tracert路由追蹤(如圖2示)。

圖1?PC1?到?LAN1?中主機的?ping?測試

圖2?PC1?到?LAN1?中主機的?tracert?路由追蹤

5.?測試?PC1?與?LAN2?中主機之間的連接

連接LAN2?中的主機,使用ping測試(如圖?8.10所示)、tracert路由追蹤(如圖所示)。

PC1?到?LAN2?中主機的?ping?測試

PC1?到?LAN2?中主機的?tracert?路由追蹤

?

附:詳細的PDF完整技術文檔下載:http://down.51cto.com/data/102973

本文出自?“賈蕓斐”?博客,請務必保留此出處http://jiayf.blog.51cto.com/1659430/349847

?

轉載于:https://blog.51cto.com/ljl2013/1352347

總結

以上是生活随笔為你收集整理的基于Linux的 Open×××网络之网络架构应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。