PCZONE 討論區

PCZONE 討論區 (https://www.pczone.com.tw/vbb3/)
-   ---- ADSL 軟 硬 體 技 術 (https://www.pczone.com.tw/vbb3/forum/15/)
-   -   使用 PPTP 架設 VPN (https://www.pczone.com.tw/vbb3/thread/15/5960/)

boobee2 2001-06-07 10:57 PM

大家好,

雖然板上使用固定制ADSL的人較少, 然而擁有至少一個固定 IP 可以玩的事情可就多的了. PPTP是我研究完Packet Filter後的第二個目標, 只是架 PPTP 真的不容易, 一直拖了近一個月才成功. 我把經驗寫成一篇文章, 希望對大家有幫助. 原文在 [url]http://www.boobee.idv.tw/pub/pptp/pptp.htm[/url]

---------------------------------------------
關於 VPN (Virtual Private Network)

為了保護公司內部網路的安全, 目前企業界多半採用防火牆及 NAT. 然而對於出差在外, 或是想要在家工作的人而言, 防火牆也阻擋了他們的存取自己電腦的方便性. VPN 使用加解密技術, 建立網路上的虛擬通道, 使在防火牆外的人得以存取公司內部網路.





關於 VPN (Virtual Private Network)

為了保護公司內部網路的安全, 目前企業界多半採用防火牆及 NAT. 然而對於出差在外, 或是想要在家工作的人而言, 防火牆也阻擋了他們的存取自己電腦的方便性. VPN 使用加解密技術, 建立網路上的虛擬通道, 使在防火牆外的人得以存取公司內部網路.





VPN 建置環境

由於筆者環境的關係, PPTP Client 與 Server 都是以 Microsoft Windows 2000 Server 來建置的, UNIX 也有 PPTP Server, 在這裡,不過筆者沒有用過.

目前筆者家中使用 ADSL, 並開啟了 ADSL 上的 NAT 功能 (內部網段為192.168.10.0) , 筆者公司也架設了 NAT (內部網段為192.168.1.0), 要如何把這兩個內部網路都連在一起呢 ? 筆者認為可依下列步驟進行:

a. 先在公司設立 PPTP Server, 在家中用 PPTP Client 連上去

b. 在家中設立 PPTP Server, 讓公司的 PPTP Client 也能連回來

c. 設定靜態路由, 把兩個內部網路連起來

d. 設立 WINS proxy 與 DNS server, 讓兩邊的網芳可以同時出現





設立 PPTP Client

在 Windows 2000 中設立 PPTP Client 很簡單, 只要在 "撥號與網路連線" 中 "建立先連線":

1. 網路連線類型選擇 "透過 Internet 連線到私人網路"

2. 目的地位址填入 PPTP Server的位址 (FQDN 或 IP 位址均可)

3. 如果你在連 PPTP 前就可以上 Internet, 最好把PPTP的預設閘道的選項關掉:





設立 PPTP Server

基礎知識與工具

設定 PPTP Server 並不容易, 需要相當多的網路知識才行, 本文假設讀者已經了解 IP 位址與網路遮罩的關係, DHCP 的作用, 以及靜態路由的原理與設定等知識. 另外 ping, tracert, 以及 Windows 2000 內建的網路監視器, Router 的燈號都是相當有用的工具. 此外Windows 2000 內建的終端機伺服器也是個好工具, 因為 PPTP Client 與 PPTP Server 通常都在兩個獨立的網路上, 所以讀者若能坐在 PPTP Server前,使用 pcAnywhere 或是終端機伺服器來遙控 PPTP Client, 將會大幅降低建置的複雜度.

設立程序

我們將先設定 Client To Server 模式, 再擴展成為 Router To Router (或稱為 Server To Server 模式), 由於 PPTP 的參考文件與除錯訊息等皆不多, 所以從簡單的開始會較容易.

假設有 Lan A 與 Lan B 要連結, 而 Lan A 跟 Lan B各自找一台擁有 public ip 的 Windows 2000 機器作為 Router:

請先將 Lan A Router設為 PPTP Client, 將 Lan B Router 設為 PPTP Server, 測到連線成功為止

再來把 Lan B Router設為 PPTP Client, 將 Lan A Router 設為 PPTP Server, 測到連線成功為止

最後在 Lan A Router跟 Lan B Router 各增加一個 PPTP 形式的"指定撥號介面", 讓 Router 間能直接以 "指定撥號介面" 互聯

調整 Lan A 與 Lan B 中其他的電腦, 讓他們能把目的地為對方網段的封包送往 Lan A Router 與 Lan B Router.





PPTP 的 Client To Server 模式



啟動並設定PPTP Server

系統管理工具 -> 路由與遠端存取 -> (電腦名) -> 設定和啟動路由與遠端存取 -> 使用 Internet 撥入

假設 PPTP Server所在的內部網段為 192.168.10.0, 當 PPTP Client 撥入時我們需提供同網段 IP 位址給 PPTP Client, 提供的方法可以靠 DHCP 或是手動指定, 剛開始時建議先用手動指定, 等測通了後再改, 如下圖指定 192.168.80 ~ 192.168.10.99 給撥入用戶端:



註: 若不勾選 "靜態位址集區" 而勾選 "動態主機設定通訊協定(DHCP)" 由於不明的原因, 似乎要 reboot 才會生效, 有時甚至 reboot 也沒辦法, 所以強烈建議初次設定的人先從 "靜態位址集區" 開始.

開啟使用者的撥入權限

系統管理工具 -> 電腦管理 -> 本機使用者與群組 -> (使用者名) -> 按右鍵選內容 -> 撥入 -> 遠端存取使用者權限 ->選允許存取

由 PPTP Client 撥入並作測試

開始->設定->撥號與網路連線-> (PPTP的名稱) -> 輸入帳號及密碼 -> 連線







PPTP 的 Router To Router 模式

在兩台 Router 上均設立 PPTP 類型的 "指定撥號介面":

路由與遠端存取 -> 本機 -> 路由介面 -> 按右鍵選 "新增指定撥號介面", 其中的

1. 連線類型選 "使用虛擬私人網路 (VPN) 來連線

2. VPN 類型選 "自動選擇" 或 "點對點通訊協定 (PPTP)"

3. 其它使用預設值即可





防火牆設定

PPTP Server 會使用到 port 1723, 如果在 ZyXEL ADSL Router, 又開了 NAT 的讀者們可以在 SUA 選單中加以設定. 另外, PPTP 也使用特殊的 IP 上層通訊協定 (46 吧, 不確定?) 如果在防火牆只讓 TCP 跟 UDP 通過, 記得要打開這個通訊協定.



結語與討論

PPTP 從 Windows NT就開始提供了, 到了 Windows 2000 後又加了一種 VPN 的方案, 稱為 L2TP/IPSEC, 不確定在哪看來的文件, 由於 IPSEC 是業界標準, 所以該文件是建議使用 IPSEC 而不是 PPTP, 然而 IPSEC 牽涉到兩端憑證的設定, 建置似乎比較不容易, 目前筆者能在測試中, 有興趣人的可以跟筆者保持聯絡, 以得知最新狀況. 不過就通訊協定來看, PPTP 應該會比 L2TP/IPSEC 快才是, 因為它的包裝層數比較少, 詳細的情形等測通了再說吧.

swu 2001-06-08 12:37 AM

這位大大您好:
這是第一段吸引我的地方
"目前筆者家中使用 ADSL, 並開啟了 ADSL 上的 NAT 功能 (內部網段為192.168.10.0) , 筆者公司也架設了 NAT (內部網段為192.168.1.0), 要如何把這兩個內部網路都連在一起呢 ? 筆者認為可依下列步驟進行: ....."

這是第二段我想try的方式:

"在 Windows 2000 中設立 PPTP Client 很簡單, 只要在 "撥號與網路連線" 中 "建立先連線":

1. 網路連線類型選擇 "透過 Internet 連線到私人網路"

2. 目的地位址填入 PPTP Server的位址 (FQDN 或 IP 位址均可)

3. 如果你在連 PPTP 前就可以上 Internet, 最好把PPTP的預設閘道的選項關掉..."

這是我想請教的是:
填入PPTP Server的位址 是指對方所附在的public ip或是nat之後的virtul ip?

tks!




boobee2 2001-06-08 08:57 PM

[QUOTE]原始作者是 : [i] swu [/i]
[B]
這是我想請教的是:
填入PPTP Server的位址 是指對方所附在的public ip或是nat之後的virtul ip?
[/B][/QUOTE]

PPTP Server 當然是用 public ip, 不然連不到. 但若 PPTP Server 是放在 ZyXEL 的 ADSL Modem 之後, PPTP Server也可以用 NAT, 只不過 SUA 要把 port 1723 對應到 PPTP Server 的 private ip.

swu 2001-06-09 02:48 AM

現在有進一步的問題請教這位大大

1 如果兩台電腦各自屬不同public ip的nat後的virtual ip,當client 這一端連到server端後,client這一端可以在網路上的芳鄰看到同樣也接到此server的另外一台client嗎?
2 可不可以server與client間使用voip軟體通話?

我try的結果是當兩台client接到server時其中一台client若有架web server,另外一台client可以打server配給該web server的ip開啟homepage. TKS

boobee2 2001-06-10 08:24 PM

[QUOTE]原始作者是 : [i] swu [/i]
[B]
1 如果兩台電腦各自屬不同public ip的nat後的virtual ip,當client 這一端連到server端後,client這一端可以在網路上的芳鄰看到同樣也接到此server的另外一台client嗎?
2 可不可以server與client間使用voip軟體通話?
[/B][/QUOTE]

回覆 1: 是可以的, 一般而言, 使用 開始->執行->輸入 "\\對方的IP位址" 就可以看到了.
如果你想在網路上的芳鄰中看到所有人的機器, 就比較難說了, 要看你有沒有開 NetBEUI, 有沒有架 WINS, 就算都設好了, 如果不在同一個群組, 也要等 15 分鐘左右同步, 相當麻煩~~
2. 應該可以, 不過沒試過..

elaine 2007-06-27 03:28 PM

回覆: 使用 PPTP 架設 VPN
 
[QUOTE=swu;31085]這位大大您好:
這是第一段吸引我的地方
"目前筆者家中使用 ADSL, 並開啟了 ADSL 上的 NAT 功能 (內部網段為192.168.10.0) , 筆者公司也架設了 NAT (內部網段為192.168.1.0), 要如何把這兩個內部網路都連在一起呢 ? 筆者認為可依下列步驟進行: ....."

這是第二段我想try的方式:

"在 Windows 2000 中設立 PPTP Client 很簡單, 只要在 "撥號與網路連線" 中 "建立先連線":

1. 網路連線類型選擇 "透過 Internet 連線到私人網路"

2. 目的地位址填入 PPTP Server的位址 (FQDN 或 IP 位址均可)

3. 如果你在連 PPTP 前就可以上 Internet, 最好把PPTP的預設閘道的選項關掉..."

這是我想請教的是:
填入PPTP Server的位址 是指對方所附在的public ip或是nat之後的virtul ip?

tks![/QUOTE]

我也遇到這些問題~~
在防火牆的NAT 及 PORT和PPTP SERVER設定沒有問題了,內部的所有測試,回應並無問題 但從家裡連回公司內部,一直出現721 遠端電腦沒有回應的錯誤訊息!
不知道在CLIENT端那裡出了問題?
基本上,我應該先用HINET ADSL撥接先上網,再撥PPTP,所回應的訊息一直是721 遠端電腦沒有回應的錯誤訊息,一直找不出問題,真的傷神。。:lovely:

linux_xp 2007-06-27 04:09 PM

回覆: 使用 PPTP 架設 VPN
 
Linux 的 PPTP 超麻煩
因為 MMPE (加密) 和 MPPC (壓縮) 兩個協定,是微軟的東西
而 Linux 任何 Distro 版本,都不可能去包微軟的東西
必須下載第三方提供的驅動,重編核心才能使用
那個過程需要半小時至1小時,而且很複雜:
[url]http://phorum.vbird.org/viewtopic.php?t=26986[/url]

PPTP 的好處是:
win 2k/xp/vista 皆內建 PPTP Client
無須額外安裝 VPN Client 端軟體

其實 Linux 的 VPN 解決方案
真正流行的是 open-vpn,是自由開放架構
windows 客戶端,需額外安裝 open-vpn client 端軟體
因為 windows 沒有內建 open-vpn client端
不過這個軟體是自由免費軟體,所以其實沒什麼差
用 windows 內建的 PPTP Client端,一樣是要設定撥接,並沒有比較好用

所以 Linux 用 PPTP 事實上是多此一舉 (心得)
因為安裝 open-vpn 並不需要重編核心,只要 yum/apt 就能輕鬆安裝
而安裝 PPTP 卻是大工程

----------------------------------------------------------------------

有些較高階的硬體路由器,支援 VPN 連線,使用簡易,只是要 $$

軟體路由器 BrazilFW 也有支援 PPTP 和 open-vpn:
[url]http://b2d.phc.edu.tw/modules/tadbook2/view.php?book_sn=5&bdsn=391[/url]

安裝簡易,只需裝個模組,設定一下即可使用

它的好處是:
------------------------------
1.安裝、設定簡易
2.軟體免費,免盜版風險
3.由於 VPN server 必須直接對外連線,等於暴露在 Internet 風險之中,裝在路由器比較安全,因為裝在 server 容易被駭,而路由器是嵌入式系統,即使被駭,它的指令(工具)有限,對內部區網電腦也不會造成太大的傷害。
4.穩定

apage 2009-01-08 11:18 AM

回覆: 使用 PPTP 架設 VPN
 
我因為想要讓公司的人方便點,
所以就將內部的不忙 Server 變成 PPTP的Linux VPN Server
原本因為Layer7 NAT 要一台備援的關係已經找一台重編過kernel了
所以還算順利一點,不過 VPN Server 不能與 NAT Server 同一台,
做完之後真的很方便,到現在我離職了,那台依然還在運作..

其實不重編kernel 也是能將pptp跑起來的,
只是 WindowsXP的 PPTP撥接程式需要設定取消加密而已。


所有時間均為 +8。現在的時間是 09:52 PM



 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。