摘要
PPTP(點到點隧道協(xié)議)支持基于IP的加密隧道,。利用ROS可以實現(xiàn)PPTP客戶端和PPTP服務端。
PPTP隧道的一般應用
1 通過INTERNET的安全的路由器-路由器隧道
2 連接(或橋接)本地企業(yè)網(wǎng)或局域網(wǎng)(當EOIP啟用時)
3 移動或遠程客戶實現(xiàn)遠程介入公司的企業(yè)網(wǎng)/局域網(wǎng)(查閱WINDOWS的PPTP設(shè)置獲取更多信息)
每個PPTP連接包括一個服務端和一個客戶端,。ROS可以做為客戶端也可以做為服務端--或者同時做為服務端和客戶端,。例如,下面做為客戶端的配置可以接入到WIN2K-SERVER,,另外的ROS,,或者其他提供PPTP服務的路由器
快速設(shè)置向?qū)?/p>
下面步驟實現(xiàn)在IP地址分別為10.5.8.104(PPTP服務端)和10.1.0.172(PPTP客戶端)的兩個ROS間建立PPTP隧道~
一、PPTP服務端配置
1,、添加一個用戶
[admin@PPTP-Server]ppp secret>add name=jack password=pass \
\... local-address=10.0.0.1 remote-address=10.0.0.2
2,、開啟PPTP服務
[admin@PPTP-Server]interface pptp-server server>set enabled=yes
二、PPTP客戶端配置
1,、添加PPTP客戶端
[admin@PPTP=-Client]interface pptp-client>add user=jack password=pass \
\... connect-to=10.5.8.104 disabled=no
規(guī)范
要求模塊:PPP
要求許可: LEVEL1(1個隧道),,LEVEL3(200個隧道),,LEVEL5
子目錄:/interface pptp-server, /interface pptp-client
standards and Technologies: PPTP(RFC 2637)
硬件需求:無特殊要求
相關(guān)文檔
1、軟件模塊管理
2,、IP addresses和ARP
3,、PPP user AAA
4、EoIP
描述
PPTP是利用點到點協(xié)議傳輸IP數(shù)據(jù)的安全隧道,。PPTP將PPP封裝在基于IP的虛擬線路上,。PPTP合并了PPP和MPPE(微軟點到點加密)來建立加密鏈路。這個協(xié)議的功能是在路由器之間建立一條如同在路由器和PPTP客戶端間的方便管理的安全連接,。(幾乎包括WINDOWS在內(nèi)的所有操作系統(tǒng)都支持PPTP Client)
PPTP包含PPP的連接認證和計費機制,。連接的認證和計費可以通過RADIUS客戶端或者本地服務來實現(xiàn)。
支持MPPE 40位RC4和MPPE 128位RC4加密,。
PPTP通過TCP1723端口和GRE協(xié)議通信(通用路由封裝,,IP協(xié)議 ID47),由IANA制定,。通過開啟TCP1723端口和允許47號協(xié)議通信,,PPTP可以與大多數(shù)的防火墻和路由器一起使用。
地址偽裝/地址轉(zhuǎn)換的IP連接可能會受到限制或無法建立PPTP連接,。請查閱本部分后的Mircosoft和RFC鏈接獲得更多信息,。
其他資源
http://msdn.microsoft.com/library/backgrnd/html/understanding_pptp.htm
http://support.microsoft.com/support/kb/articles/q162/8/47.asp
http://www./rfc/rfc2637.txt?number=2637
http://www./rfc/rfc3078.txt?number=3078
http://www./rfc/rfc3079.txt?number=3079
PPTP客戶端配置
子目錄:/interface pptp-client
屬性介紹
add-default-route(yes|no; 默認:no)-是否使用本連接的服務端作為默認路由器(網(wǎng)關(guān));
allow(多選:mschap2,mschap1,chap,pap;默認:mschap2,mschap1,chap,pap)-允許客戶端使用的認證協(xié)議,;
connect-to(IP地址)-要連接的PPTP服務器地址
mru(整數(shù),;默認:1460)--最大接收單元。最優(yōu)值是隧道應用接口的MRU值減去40(所以,,對于1500比特的以太連接,,設(shè)置MRU為1460避免分組過小)
mtu(整數(shù),;默認:1460)-最大傳輸單元,。最優(yōu)值是隧道應用的接口的MTU值減去40(所以,對于1500比特的以太連接,,設(shè)置MTU為1460避免分組過小)
name(連接名,;默認:pptp-outN)--接口名稱
password(文本,;默認:"")-登陸遠程服務端的密碼
profile(名稱;默認:default)-登陸到遠程服務端的配置文件
user(文本)-當?shù)顷懙竭h程服務端的用戶名
例子
建立一個名稱為test2的PPTP客戶端,,用戶名john,密碼john,,服務端10.1.1.12并作為默認網(wǎng)關(guān);
[admin@MikroTik]interface pptp-client>add name=test2 connect-to=10.1.1.12 \
\...user=john add-default-route=yes password=john
[admin@MikroTik]interface pptp-client>print
Flags: X - disabled, R - running
0 X name="test2" mtu=1460 connect-to=10.1.1.12 user="john"
password="john" profile=default add-default-route=yes
[admin@MikroTik] interface pptp-client> enable 0
PPTP客戶端監(jiān)測
命令:/interface pptp-client monitor
屬性描述
encoding(文本)--在此連接中使用加密和編碼(如果是非對稱的,,用'/'隔開)
status(文本) - 客戶端的狀態(tài)
Dialing - 嘗試建立連接
Verifying password... - 連接已經(jīng)建立,,正在驗證密碼
Connected - 已連接
Terminated - 接口未啟用或另一方未建立連接
uptime(時間) - 顯示連接時間天,小時,分鐘,,秒
例子
一個建立連接的例子:
[admin@MikroTik]interface pptp-client>monitor test2
uptime:4h35s
encoding:MPPE 128bit,stateless
status:Connected
[admin@MikroTik]interface pptp-client>
建立PPTP服務器
子目錄: /interface pptp-server server
描述
PPTP服務器為每個連接的PPTP客戶端建立一個動態(tài)接口,。PPTP連接的數(shù)量取決于你擁有的許可等級。Level1允許1個客戶端,,Level3和Level4達到200客戶端,,Level5和Level6不限制數(shù)量。
建立PPTP用戶,,你可以參考PPP安全和PPP配置手冊,。也可以用ROS作為RADIUS客戶端記錄PPTP用戶,具體內(nèi)容請查閱手冊,。
屬性描述
authentication(多選:pap|chap|mschap1|mschap2;默認:mschap2) - 認證機制
default-profile - 使用默認配置文件
enabled(yes|no ,;默認:no) - 是否開啟PPTP服務器
keepalive-timeout(時間;默認:30) - 設(shè)置路由器發(fā)送相鄰“保持活動”包的時間片,。如果在時間片中沒有流量或沒有活動響應(如 2*keepalive-timeout),,未響應的客戶端將被宣告斷開
mru (整數(shù);默認:1460) - 最大接受單元,。最優(yōu)值為隧道工作接口的MRU值減去40(所以對于1500-byte的以太連接,,設(shè)置1460避免分組過小)
MTU(整數(shù),;默認:1460) - 最大傳輸單元,。。,。,。。,。,。。,。,。。,。,。。,。,。
例子
啟用PPTP服務器
[admin@MikroTik]interfece pptp-server server>set enabled=yes
[admin@MikroTik]interface pptp-server server>print
enabled:yes
mtu:1460
mru:1460
authentication:mschap2,mschap1
keepalive-timeout:30
default-profile:default
[admin@MikroTik]interface pptp-server server>
PPTP服務端連接
子目錄:/interface pptp-server
描述
在PPTP服務器配置中有兩種連接-靜態(tài)連接和動態(tài)連接。當用戶數(shù)據(jù)庫或者default-profile正確設(shè)置了local-address和remote-address就可以建立動態(tài)連接,。當添加靜態(tài)連接后,,default-profile應該為缺省值,,只有PPP用戶(在/ppp secret)能夠配置。注意兩種情況中PPP用戶都必須正確配置,。
屬性描述
client-address(IP地址) - 顯示已連接客戶端的IP地址(這里無法設(shè)置)
encoding (文本) - 在此連接中使用的加密和編碼(用'/'隔開)
mtu(整數(shù)) - 客戶端的MTU(這里無法設(shè)置)
name(名稱) - 接口名稱
uptime(時間) - 顯示連接時間
user(名稱) - 靜態(tài)配置或者動態(tài)添加的用戶名
例子
為ex1用戶添加靜態(tài)通路:
[admin@MikroTik] interface pptp-server>add user=ex1
[admin@MikroTik] interface pptp-server>print
Flags: X - disabled, D - dynamic, R - running
# NAME USER MTU CLIENT-ADDRESS UPTIME ENCODING
0 DR <pptp-ex> ex 1460 10.0.0.202 6m32s none
1 pptp-in1 ex1
[admin@MikroTik] interface pptp-server>
在這個例子中ex是已經(jīng)連接的用戶,。
PPTP 應用實例
路由-到-路由安全隧道實例
下面是個利用通過Internet的加密PPTP隧道連接2個企業(yè)網(wǎng)絡(luò)的例子。
圖1
在這個例子中有兩個路由器
[本地Office]
本地企業(yè)網(wǎng)地址:10.150.2.254/24
本地接入Internet:192.168.80.1/24
[遠程Office]
遠程接入Internet: 192.168.81.1/24
遠程企業(yè)網(wǎng)地址:10.150.1.254/24
路由器接入不同的ISP,。其中一個路由器通過Internet可以訪問另一個路由器,。
在PPTP服務器上為客戶端建立用戶
[admin@HomeOffice]ppp secret>add name=ex service=pptp password=lkjrht
local-address=10.0.103.1 remote-address=10.0.103.2
[admin@HomeOffice]ppp secret>print detail
Flags: X - disabled
0 name="ex" service=pptp caller-id="" password="lkjrht" profile=default
local-address=10.0.0103.1 remote-address=10.0.103.2 routes=""
[admin@HomeOffice]ppp secret>
然后將用戶添加到PPTP服務列表
[admin@HomeOffice] interface pptp-server>add user=ex
[admin@HomeOffice] interface pptp-server>print
Flags: X - disabled, D - dynamic, R - running
# NAME USER MTU CLIENT-ADDRESS UPTIME ENCODING
0 pptp-in1 ex
[admin@HomeOffice] interface pptp-server>
最后,開啟服務,。
[admin@HomeOffice] interface pptp-server server>set enabled=yes
[admin@HomeOffice] interface pptp-server server>print
enabled:yes
mtu:1460
mru:1460
authentication:mschap2
default-profile:default
[admin@HomeOffice] interface pptp-server server>
增加PPTP客戶端到遠程office路由器:
[admin@RemoteOffice] interface pptp-client>add connect-to=192.168.80.1 user=ex \
\... password=lkjrht disabled=no
[admin@RemoteOffice] interface pptp-client>print
Flags: X - disabled, R -runing
0 R name="pptp-out1" mtu=1460 mru=1460 connect-to=192.168.80.1 user="ex"
password="lkjrht" profile=default add-default-route=no
[admin@RemoteOffice] interface pptp-client>
這樣,,一條PPTP隧道就在兩個路由器間建立了。這條隧道在在路由器之間象以太網(wǎng)似的點到點連接,,路由器的IP分別是10.0.103.1和10.0.103.2,。他允許兩個路由器通過第三方網(wǎng)絡(luò)“直接”的連接。
圖2
令本地企業(yè)網(wǎng)可以在PPTP隧道路由,必須增加這些路由規(guī)則:
[admin@HomeOffice] >ip route add dst-address 10.150.1.0/24 gateway 10.0.103.2
[admin@RemoteOffice] > ip route add dst-address 10.150.2.0/24 gateway 10.0.103.1
在PPTP服務端可以使用用戶配置的路由參數(shù)轉(zhuǎn)換:
[admin@HomeOffice] ppp secret> print detail
Flags: X - disabled
0 name="ex" service=pptp caller-id="" password="lkjrht" profile=default
local-address=10.0.103.1 remote-address=10.0.103.2 routes==""
[admin@HomeOffice] ppp secret> set 0 routes="10.150.1.0/24 10.0.103.2 1"
[admin@HomeOffice] ppp secret> print detail
Flags: X - disabled
0 name="ex" service=pptp caller-id="" password="lkjrht" profile=default
local-address=10.0.103.1 remote-address=10.0.103.2
routes="10.150.1.0/24 10.0.103.2 1"
[admin@HomeOffice] ppp secret>
測試PPTP隧道連接:
[admin@RemoteOffice]> /ping 10.0.103.1
10.0.103.1 pong: ttl=255 time=3 ms
10.0.103.1 pong: ttl=255 time=3 ms
10.0.103.1 pong: ttl=255 time=3 ms
ping interrupted
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3/3.0/3 ms
測試通過PPTP隧道連接到localhomeoffice網(wǎng)絡(luò)
[admin@RemoteOffice]> /ping 10.150.2.254
10.150.2.254 pong: ttl=255 time=3 ms
10.150.2.254 pong: ttl=255 time=3 ms
10.150.2.254 pong: ttl=255 time=3 ms
ping interrupted
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3/3.0/3 ms
要在這條安全隧道上橋接局域網(wǎng),請查閱手冊的'EoIP'實例部分.限制隧道的最大速度,請參考'Queues'部分.
通過PPTP隧道連接到遠程客戶端
下面的實例說明了如何通過加密的PPTP隧道連接一臺計算機到遠程辦公室網(wǎng)絡(luò),分配給計算機一個和遠程網(wǎng)絡(luò)相同網(wǎng)絡(luò)號的地址(不使用EoIP隧道的橋接技術(shù))
關(guān)于建立PPTP客戶端,請參考你所使用軟件的手冊.
圖3
本例中的路由器
[RemoteOffice]
Internet地址 192.168.81.1/24
局域網(wǎng)地址 10.150.1.254/24
客戶端計算機可以通過Internet訪問路由器.
在PPTP服務器上建立用戶:
[admin@RemoteOffice] ppp secret> add name=ex service=pptp password=lkjrht
local-address=10.150.1.254 remote-address=10.150.1.2
[admin@RemoteOffice] ppp secret> print detail
Flags: X - disabled
0 name="ex" service=pptp caller-id="" password="lkjrht" profile=default
local-address=10.150.1.254 remote-address=10.150.1.2 routes==""
[admin@RemoteOffice] ppp secret>
將用戶添加到PPTP服務列表:
[admin@RemoteOffice] interface pptp-server> add name=FromLaptop user=ex
[admin@RemoteOffice] interface pptp-server> print
Flags: X - disabled, D - dynamic, R - running
# NAME USER MTU CLIENT-ADDRESS UPTIME ENC...
0 FromLaptop ex
[admin@RemoteOffice] interface pptp-server>
啟用PPTP服務:
[admin@RemoteOffice] interface pptp-server server> set enabled=yes
[admin@RemoteOffice] interface pptp-server server> print
enabled: yes
mtu: 1460
mru: 1460
authentication: mschap2
default-profile: default
[admin@RemoteOffice] interface pptp-server server>
最后,啟用局域網(wǎng)接口的proxy APR功能
[admin@RemoteOffice] interface ethernet> set Office arp=proxy-arp
[admin@RemoteOffice] interface ethernet> print
Flags: X - disabled, R - running
# NAME MTU MAC-ADDRESS ARP
0 R ToInternet 1500 00:30:4F:0B:7B:C1 enabled
1 R Office 1500 00:30:4F:06:62:12 proxy-arp
[admin@RemoteOffice] interface ethernet>
中間是一段windows中建立PPTP客戶端~~
問題解答
問:我使用了防火墻,無法建立PPTP連接
答:確保TCP連接端口1723在你的兩個站點間可以雙向通行.并且需要允許IP協(xié)議47通過.