IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁系統(tǒng)集成網(wǎng)絡(luò)管理 → FreeBSD8下Bridge配置openVPN

FreeBSD8下Bridge配置openVPN

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  公司的辦公網(wǎng)絡(luò)是192.168.4.0/24,均只用單網(wǎng)卡eth0,通過Juniper防火墻映射公網(wǎng)IP上網(wǎng),即內(nèi)網(wǎng)內(nèi)所有的機(jī)器的網(wǎng)關(guān)均是防火墻的固定IP-192.168.4.3,目前想通過外網(wǎng)撥號(hào)(VPN服務(wù)器IP為192.168.4.46)進(jìn)公司內(nèi)部局域網(wǎng)進(jìn)行辦公,另外還要求能夠連通到公司內(nèi)部的192.168.10.0、192.168.20.0、192.168.21.0網(wǎng)段的服務(wù)器,要求比之前復(fù)雜;而同事們的撥號(hào)環(huán)境又一樣,有的是小區(qū)環(huán)境,有的是ADSL,還有的是電信3G無線上網(wǎng);我將大家的需求歸納了下,即:

  一、要求能夠在ADSL撥號(hào)或小區(qū)環(huán)境下順利的VPN到公司的openVPN服務(wù)器中;

  二、公司的辦公環(huán)境是192.168.4.0,撥上來要求能夠連到192.168.21.0,192.168.20.0,192.168.10.0的服務(wù)器網(wǎng)段;

  三、公司的網(wǎng)絡(luò)環(huán)境已定型,不可能在路由器或防火墻上作更改;

  四、考慮到路由穿透的問題,即最低限度要做到局對(duì)局。

  基于以上考慮,我們準(zhǔn)備采取openVPN的網(wǎng)橋模式。

  公司的辦公拓補(bǔ)很簡單,如下圖:

  以下資料參考chinaunix網(wǎng)友溫占考的翻譯文章,特此注明。

  ◆使用路由還是橋接的VPN?

  路由和橋接的主要不同參看FAQ,橋接的詳細(xì)信息參看Ethernet Bridging??偟膩碚f,路由對(duì)大多數(shù)人來說是一種更好的方式,因?yàn)樗葮蚪有矢咭哺菀自O(shè)置(僅OpenVPN配置文件本身)。路由還可以給每個(gè)客戶端設(shè)置不同的訪問權(quán)限。推薦使用路由,除非你需要使用依賴于橋接的特性,比如:VPN需要處理非IP協(xié)議,例如IPX協(xié)議。在VPN上運(yùn)行的程序依賴于網(wǎng)絡(luò)廣播(例如局域網(wǎng)游戲)。不建立Samba或WINS服務(wù)器,而允許在VPN上瀏覽Windows共享文件。

  ◆TUN設(shè)備和TAP設(shè)備的不同?

  TAP設(shè)備是一塊虛擬的以太網(wǎng)卡,TUN設(shè)備是一個(gè)虛擬的點(diǎn)到點(diǎn)IP鏈接。

  ◆什么是橋接?

  橋接是在一個(gè)子網(wǎng)上創(chuàng)建一個(gè)虛擬的、廣域的以太網(wǎng)LAN一種技術(shù)。橋接的實(shí)踐信息,參看Ethernet Bridging Mini-HOWTO,形象的解釋就是它就是連通不同局域網(wǎng)的橋梁,當(dāng)外網(wǎng)用戶VPN過來時(shí),如果能夠連通openVPN機(jī)器,那么openVPN能夠連通的機(jī)器,外網(wǎng)用戶都應(yīng)該能夠連通。

  ◆橋接和路由的不同?

  橋接和路由是通過VPN連接系統(tǒng)的兩種方法。

  橋接的優(yōu)點(diǎn):廣播可以穿越VPN--允許依賴局域網(wǎng)廣播的軟件運(yùn)行,比如Windows的NetBIOS文件共享和網(wǎng)上鄰居。無需配置路由:可以和以太網(wǎng)上的任何協(xié)議一起工作,包括IPv4, IPv6, Netware IPX, AppleTalk等等。

  Relatively easy-to-configure solution for road warriors.

  橋接的缺點(diǎn):比路由效率低,擴(kuò)展性不太好。

  路由的優(yōu)點(diǎn):高效和可擴(kuò)展、更好的MTU調(diào)節(jié)

  路由的缺點(diǎn):要使跨越VPN的網(wǎng)絡(luò)瀏覽工作,客戶端必須使用一個(gè)WINS服務(wù)器(比如samba)。必須設(shè)置連接每一個(gè)子網(wǎng)的路由。依賴于廣播的軟件不能看到在VPN另一邊的機(jī)器。僅支持IPv4, 如果連接兩邊的tun驅(qū)動(dòng)明確支持IPv6,則也支持IPv6.

  ◆橋接和路由在配置上有什么不同?

  當(dāng)客戶端通過橋接方式連接遠(yuǎn)端網(wǎng)絡(luò)時(shí),它被分配一個(gè)遠(yuǎn)端物理以太子網(wǎng)的IP地址,從而能夠和遠(yuǎn)端子網(wǎng)其它機(jī)器交互就象它是連接在本地一樣。橋接需要特殊的OS-相關(guān)的工具用來將物理以太網(wǎng)卡和虛擬的TAP設(shè)備橋接起來。在Linux下,brtcl就是這樣一個(gè)工具。

  對(duì)于Windowx XP或更高版本,從"控制面板->網(wǎng)絡(luò)連接"中選中TAP-Win32網(wǎng)卡和以太網(wǎng)卡,點(diǎn)擊鼠標(biāo)右鍵,選擇轎接。而客戶端通過路由方式連接時(shí),它使用自己的獨(dú)立子網(wǎng), 并且在客戶機(jī)和遠(yuǎn)端網(wǎng)關(guān)上都設(shè)置了路由,從而可以使數(shù)據(jù)包無縫地穿越VPN??蛻舳丝梢圆恢皇且慌_(tái)機(jī)子,它可以是幾臺(tái)機(jī)子組成的一個(gè)子網(wǎng)。

  橋接和路由很相似,主要的不同是路由的VPN不傳送IP廣播包,但是橋接的VPN傳送IP廣播包。

  要使用橋接方式,連接的兩端都必須使用--dev tap,如果使用路由方式,可以使用--dev tap也可以使用--dev tun,但是連接的兩端必須一致. 對(duì)于路由方式而言,--dev tun的效率要更高一些。

  Ethernet Bridging

  橋接概覽

  以太網(wǎng)橋接將一個(gè)以太網(wǎng)接口和一個(gè)或多個(gè)虛擬TAP接口結(jié)合(combine)并將它們橋接為一個(gè)橋接接口。以太網(wǎng)橋接代表一個(gè)物理以太網(wǎng)交換機(jī) (switch)的軟件模擬,以太網(wǎng)橋可以 認(rèn)為是在一臺(tái)機(jī)器上共享一個(gè)IP子網(wǎng)連接多個(gè)以太網(wǎng)卡(物理的或虛擬的)的軟件交換機(jī),

  通過將在不同地方的一個(gè)物理以太網(wǎng)卡和一個(gè)OpenVPN的TAP接口橋接,可以將兩個(gè)以太網(wǎng)絡(luò)在邏輯上合并為好象是一個(gè)以太子網(wǎng)。

  一、這里交待下openVPN的操作系統(tǒng)及網(wǎng)絡(luò)分配等。

  openVPN服務(wù)器采用64bit的FreeBSD8,分配的IP為192.168.4.46,通過防火墻NAT上網(wǎng),網(wǎng)關(guān)為192.168.4.3,單網(wǎng)卡,無公網(wǎng)IP;Freebsd8下配置網(wǎng)卡跟linux一樣,用腳本控制較簡單,腳本如下:

  [root@openvpn ~]# cat /root/addbr0.sh

  #!/bin/sh

  kldload if_tap

  ifconfig bridge0 create

  ifconfig bridge0 addm re0

  ifconfig bridge0 192.168.4.241? netmask 255.255.255.0? broadcast 192.168.4.255

  /usr/local/sbin/openvpn --config /usr/local/etc/server.conf --daemon openvpn

  ifconfig bridge0 addm tap0

  ifconfig bridge0 deletem tap0

  /usr/local/sbin/openvpn --config /usr/local/etc/server.conf --daemon openvpn

  ifconfig bridge0 addm tap0

  這里說明一下,跟bridge0分配的也是192.168.4.0網(wǎng)段的機(jī)器,這里我看網(wǎng)上大部分的文章都是用IP,即192.168.4.46,我建議另一個(gè)IP配置,這個(gè)IP不能跟局域網(wǎng)的IP發(fā)生沖突,腳本成功運(yùn)行后,可用命令ifconfig 檢查下,成功的配置應(yīng)該如下:

  二、安裝過程我簡略帶過,不會(huì)的朋友請(qǐng)參考googel的相關(guān)搜索結(jié)果或我的上一篇文章《實(shí)路出真知 配置openVPN時(shí)應(yīng)該注意的事項(xiàng)》,Server端的配置如下,這是重頭戲,相關(guān)語法我會(huì)詳細(xì)介紹。

  [root@openvpn ~]# cat /usr/local/etc/server.conf | grep -v "^#" | grep -v "^;"? | sed '/^$/d'

  port 1194

  proto udp

  dev tap0

  ca?? /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/ca.crt

  cert /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/server.crt

  key? /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/server.key? # This file should be kept secret

  dh /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/dh1024.pem

#p#副標(biāo)題#e#

  ifconfig 192.168.4.241? 255.255.255.0

  server-bridge 192.168.4.241 255.255.255.0 192.168.4.244 192.168.4.246

  push "redirect-gateway"

  client-to-client

  keepalive 10 120

  comp-lzo

  user nobody

  group nobody

  persist-key

  persist-tun

  status openvpn-status.log

  log-append? openvpn.log

  verb 3

  以上腳本運(yùn)行時(shí)已成功啟動(dòng)了openVPN,并分配了網(wǎng)橋bridge0地址--192.168.4.241,可用命令lsof? -i:1194檢驗(yàn)下。

  這里我將server.conf詳細(xì)參數(shù)說明下,這里也是用bridge配置的重點(diǎn)

  ;locala.b.c.d ##申明本機(jī)使用的IP地址,也可以不說明

  port1194 ##申明使用的端口,默認(rèn)1194

  ;prototcp ##申明使用的協(xié)議,默認(rèn)使用UDP,如果使用HTTP proxy,必須使用TCP協(xié)議

  proto udp

  dev tap ##申明使用的設(shè)備可選tap和tun,tap是二層設(shè)備,支持鏈路層協(xié)議。#tun是ip層的點(diǎn)對(duì)點(diǎn)協(xié)議,限制稍微多一些,本人習(xí)慣使用TAP設(shè)備

  ;devtun

  ;dev-nodeMyTap #windows下需要像這樣指定設(shè)備名

  ##OpenVPN使用的ROOT CA,使用build-ca生成的,用于驗(yàn)證客戶是證書是否合法

  ca /user/local/src/openvpn-2.0.9/easy-rsa/keys/ca.crt

  #Server使用的證書文件

  cert /usr/local/src/openvpn-2.0.9/easy-rsa/keys/server.crt

  #Server使用的證書對(duì)應(yīng)的key,注意文件的權(quán)限,防止被盜

  key /usr/local/src/openvpn-2.0.9/easy-rsa/keys/server.key

  #This file should be kept secret

  #CRL文件的申明,被吊銷的證書鏈,這些證書將無法登錄

  crl-verify vpncrl.pem

  #上面提到的生成的Diffie-Hellman文件

  dh /user/local/src/openvpn-2.0.9/easy-rsa/keys/dh1024.pem

  #防止openvpn重新啟動(dòng)后"忘記"Client曾經(jīng)使用過的IP地址

  ifconfig-pool-persistipp.txt

  #Bridge狀態(tài)下類似DHCPD的配置,為客戶分配地址,由于這里

關(guān)鍵詞標(biāo)簽:FreeBSD8,Bridge,open

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 路由器地址大全-各品牌路由設(shè)置地址 路由器地址大全-各品牌路由設(shè)置地址 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 Nslookup命令詳解-域名DNS診斷 Nslookup命令詳解-域名DNS診斷 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件

相關(guān)下載

    人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 路由器地址大全-各品牌路由設(shè)置地址 騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程 ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實(shí)際工作的一天 網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量