作者 主題: [問題]vpn+mppc  (閱讀 44117 次)

0 會員 與 1 訪客 正在閱讀本文。

blueway

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
[問題]vpn+mppc
« 於: 2004-12-14 17:27 »
小弟在瀏覽網站時,找到了這篇http://www.polbox.com/h/hs001/ 可以把mppe/mppc兩種都編入linux的kernel中, 小弟也嘗試著做了產生了一個問題,當vpn client端連線時,kernel有呼叫mppc/mppe的模組進來,但是mppc一直都無法啟用只使用了mppe加密的部份,想請教大家是否有解決的方式或是解決此問題的方向

使用的系統:fedora core 2
使用核心:2.6.5
ppp版本:2.4.2
pptpd的版本:1.1.4

option.pptpd 的設定

代碼: [選擇]

auth
proxyarp
bsdcomp 0
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
mppc
mppe-required
mppe-stateless
mppe no40,no56



以下是log檔的訊息
代碼: [選擇]

Dec 14 17:14:01 localhost pppd[1559]: pppd 2.4.2 started by root, uid 0
Dec 14 17:14:01 localhost pppd[1559]: Using interface ppp0
Dec 14 17:14:01 localhost pppd[1559]: Connect: ppp0 <--> /dev/pts/0
Dec 14 17:14:01 localhost pptpd[1558]: GRE: Discarding duplicate packet
Dec 14 17:14:03 localhost pptpd[1558]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Dec 14 17:14:03 localhost kernel: MPPE/MPPC encryption/compression module registered
Dec 14 17:14:03 localhost pppd[1559]: MPPE 128-bit stateful compression enabled
Dec 14 17:14:06 localhost pppd[1559]: local  IP address 192.168.100.30
Dec 14 17:14:06 localhost pppd[1559]: remote IP address 192.168.0.231
Dec 14 17:14:19 localhost pppd[1559]: LCP terminated by peer (<M-GS&^@<M-Mt^@^@^@^@)
Dec 14 17:14:19 localhost pppd[1559]: Modem hangup


問題表達也許不是很完善,敬請見諒  :P

Monster.

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
[報到]
« 回覆 #1 於: 2004-12-14 18:24 »
小弟目前也是在做 VPN+MPPE+MPPC ,
我的問題跟上面的大大一樣 : 可做到 MPPE 就是沒辦法做到 MPPC ,
我的 log 檔訊息幾乎都跟上面的大大差不多 ,
僅能做到有 "MPPE 128-bit stateful compression enabled" ,
沒辦法出現 "MPPC/MPPE 128-bit stateless compression enabled" .

除了上面大大提的是否有解決的方法外我還想問幾個問題 ,
log 檔訊息中 :

(1) GRE: Discarding duplicate packet
(2) CTRL: Ignored a SET LINK INFO packet with real ACCMs!

這兩個訊息是發生了什麼事 ?? 有請各位先進指導小弟 .

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #2 於: 2004-12-15 12:31 »
我也是照著同一作者以及他介紹的Howto去做
http://www.polbox.com/h/hs001/
http://www.gfxcafe.com/VPN%20Howto.html

我的是linux fedora core2,另外下載kernel 2.6.9,以下列檔案patch之後,直接將mppe mppc編譯進核心而非模組。只是編譯時cryptographic option中的SHA1變成既不能編入核心也不能編成模組。

kernel是 linux-2.6.9
http://www.polbox.com/h/hs001/linux-2.6.9-mppe-mppc-1.2.patch.gz
pppd-2.4.3
http://www.polbox.com/h/hs001/ppp-2.4.3-mppe-mppc-1.1.patch.gz
pptpd-1.2.1
http://sourceforge.net/project/shownotes.php?release_id=248009

/etc/ppp/options.pptpd如下
代碼: [選擇]

name *
lock
proxyarp
auth
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 3
lcp-echo-interval 5
#Handshake Auth Methods
+chap
+mschap-v2
#Data Enrcryption Methods
mppe required


以pptpd啟動

/var/log/messages

代碼: [選擇]
Dec 13 23:02:37 iformosa pptpd[2412]: MGR: Manager process started
Dec 13 23:02:37 iformosa pptpd[2412]: MGR: Maximum of 97 connections available


Win2k client vpn連線失敗
/var/log/messages

代碼: [選擇]
Dec 13 23:02:37 iformosa pptpd[2412]: CTRL: Client 192.168.1.155 control connection started
Dec 13 23:02:38 iformosa pptpd[2412]: CTRL: Starting call (launching pppd, opening GRE)
Dec 13 23:02:38 iformosa pppd[2413]: In file /etc/ppp/options-pptpd: unrecognized option 'mppe'
Dec 13 23:02:38 iformosa pptpd[2412]: GRE: read(fd=4,buffer=804d560,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
Dec 13 23:02:38 iformosa pptpd[2412]: CTRL: PTY read or GRE write failed (pty,gre)=(4,5)
Dec 13 23:02:38 iformosa pptpd[2412]: CTRL: Client 192.168.1.155 control connection finished


是不是mppe mppc編譯失敗,所以系統呼叫不到mppe mppc呢?
我看原作者那裡也有人反應跟我類似的問題,只是作者還沒回答就是了。
有請各位指點迷津。

blueway

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #3 於: 2004-12-15 12:43 »
嗨 krab 你的問題在這
代碼: [選擇]
In file /etc/ppp/options-pptpd: unrecognized option 'mppe'

option-pptpd 看不懂你mppe required 的設定
你可以試著用 man pppd 看看ppp的 options的設定

kernel無法把SHA1編入模組的問題
你可以打開 .config 這個檔案看..它裡面預設是把cryptographic option SHA1這些都是用Y  include進來了

Monster.

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #4 於: 2004-12-15 13:40 »
krab , 你用 pppd-2.4.3 的版本 , options.pptpd 設定裡的 "mppe required" 應該可以用吧 !? 我用的是 pppd-2.4.2 的版本 , options.pptpd 裡設 "mppe required" 他就看不懂了 , 所以就設成 "require-mppe-128" 他才看得懂 , fedora core 2 如果是用完全安裝的話 , 內建 pppd 的版本是 pppd-2.4.2-2 , 你有先移除舊版的再安裝 pppd-2.4.3 嗎 ? 你還是照 blueway 說的先用 man pppd 看一下 ppp 的設定吧 , 你這只是小問題別被打倒了 .

原來國內也有其他人在做這個 VPN+MPPE+MPPC , 那個原作者作法沒寫的很清楚 , 照他作法做 MPPC 的人失敗的一堆 , 國外網頁有成功做到 MPPC 地步的寥寥無幾 , 目前我也只能做到 VPN MPPE 128 bit 加密連線成功 , "MPPC/MPPE 128-bit stateless compression enabled" 就是沒辦法出現 , blueway 大大應該也是一樣 , 有沒有其他人有做 MPPC 成功的 ?? 指導我們一下是哪裡出了問題才沒辦法做出 MPPC .

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #5 於: 2004-12-15 14:58 »
太感動了 :oops:

謝謝Moster.以及blueway兩位大大的指導及鼓勵。一定是我哪裡有錯誤的地方,一定要把它找出來。我不是那麼容易就放棄的人,打死不退,只怕沒有那麼多時間整天磨它罷了。我會繼續努力的。

我查了man pppd,mppe required 或mppe stateless應該可以的。

.config裡確實mppe mppc有選擇編進去核心,SHA1也有,雖然在make menuconfig那裡,沒辦法讓我選*或M。

我裝fedora core 2除了基本的咚咚之外,一堆伺服器之類的都沒選,所以pptpd,pppd等等並沒有去查有沒有舊版本,而是抓了新的版本用tarball安裝的。

有沒有什麼指令可以確定kernel確實把mppe mppc編進去了。雖然我參考鳥哥的書以及網路上的Howto編了幾次核心,先失敗後成功,但覺得還不是很踏實,會是核心真的沒編好嗎?

加油並感謝,我們一定要成功!

charlesman

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #6 於: 2004-12-16 14:44 »
/etc/ppp/options.pptpd

-mschap                  //注意:官方文件為-chapms,需將它改為mschap
+mschap-v2               //注意:官方文件為+chapms-v2,需將它改為+mschap-v2
require-mppe              //要求mppe加密

blueway

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #7 於: 2004-12-16 16:07 »
我終於弄出來囉

代碼: [選擇]
pppd[2432]: pppd 2.4.2 started by root, uid 0
pppd[2432]: Using interface ppp0
pppd[2432]: Connect: ppp0 <--> /dev/pts/0
pptpd[2432]: GRE: Discarding duplicate packet
pptpd[2432]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
kernel: MPPE/MPPC encryption/compression module
pppd[2432]: MPPC/MPPE 128-bit stateful compression enabled
pppd[2432]: found interface eth0 for proxy arp
pppd[2432]: local IP address 172.16.1.2
pppd[2432]: remote IP address 192.168.1.241


測試連線的結果,壓縮的比率在35%~56%之間 :D

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #8 於: 2004-12-16 18:28 »
恭喜blueway,賀喜blueway :D

可不可以把竅門寫出來,造福大家?

我自己的狀況是真如Monster.所說的實際上是fedora core 2預設安裝的pppd-2.4.2的版本,,而不是我patch過的pppd-2.4.3。

將/etc/ppp/options.pptpd中的mppe required 改為require-mppe-128,就可以連線加上mppe加密,而mppc還是無蹤無影。

努力中。 :-?

Monster.

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #9 於: 2004-12-16 19:06 »
喔 !? blueway 大大竟然比我早做出來 !!       :o  呀 ! ! ! ! !  :o
我 . 也 . 終 . 於 . 成 . 功 . 了 ! ! !  :D

環境:
Fedora Core 2        (Fedora Core 3 完全失敗 . . .)

程式:
kernel 2.6.6           (2.6.5 也成功 , 2.6.9 完全失敗)
ppp 2.4.3               (ppp 2.4.2 也成功)
pptpd 1.2.1            (1.1.4 也成功)

前後歷時:
快十天了吧 . . . . .    (每天都吃不下飯睡不著覺)

Fedora重灌次數:
十幾次                         (我忘了到底是十幾次了 . . .)

message log 檔訊息:
代碼: [選擇]
Dec 16 17:55:24 monster pptpd[11825]: MGR: Manager process started
Dec 16 17:55:24 monster pptpd[11825]: MGR: Maximum of 20 connections available
Dec 16 17:56:18 monster pptpd[19884]: CTRL: Client 192.168.100.196 control connection started
Dec 16 17:56:18 monster pptpd[19884]: CTRL: Starting call (launching pppd, opening GRE)
Dec 16 17:56:18 monster pppd[19887]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Dec 16 17:56:18 monster pppd[19887]: pptpd-logwtmp: $Version$
Dec 16 17:56:18 monster kernel: CSLIP: code copyright 1989 Regents of the University of California
Dec 16 17:56:18 monster kernel: PPP generic driver version 2.4.2
Dec 16 17:56:18 monster pppd[19887]: pppd 2.4.3 started by root, uid 0
Dec 16 17:56:18 monster pppd[19887]: Using interface ppp0
Dec 16 17:56:18 monster pppd[19887]: Connect: ppp0 <--> /dev/pts/3
Dec 16 17:56:18 monster pptpd[19884]: GRE: Bad checksum from pppd.
Dec 16 17:56:18 monster udev[19904]: creating device node '/udev/ppp'
Dec 16 17:56:20 monster pptpd[19884]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Dec 16 17:56:20 monster pppd[19887]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access
Dec 16 17:56:20 monster kernel: MPPE/MPPC encryption/compression module registered
Dec 16 17:56:20 monster kernel: PPP Deflate Compression module registered
Dec 16 17:56:20 monster pppd[19887]: Cannot determine ethernet address for proxy ARP
Dec 16 17:56:20 monster pppd[19887]: local  IP address 192.168.100.201
Dec 16 17:56:20 monster pppd[19887]: remote IP address 192.168.150.101
Dec 16 17:56:20 monster pppd[19887]: pptpd-logwtmp.so ip-up ppp0 monster 192.168.100.196
Dec 16 17:56:20 monster pppd[19887]: MPPC/MPPE 128-bit stateless compression enabled
" MPPC/MPPE 128-bit " 終於現身於我眼前囉 ! ! !

喲 !? buleway 大大還有玩出壓縮比率 , 可能是我設定的關係 , 不行 , 壓縮比率我也要玩一下 . . . . .  :wink:
由於今天才有成功的紀錄 , 相關檔案和設定都還在查閱中 (怎麼成功的我也不太清楚) , 有問題的人可以先請教 blueway 大大 , 我要先搞清楚我的狀況是如何 . . . . .

to krab:
fedora core 2 預設安裝的 pppd-2.4.2 我都有先移除再安裝我要的版本 , 有些設定要去 man pppd 和 pptpd 才知道 , 我等著看你成功喔 !! 加油 !!
to charlesman:
pptpd 版本不同設定就不一樣了 , 用錯了 log 檔也會出現訊息 , 而且我也沒用 mschap . . .

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #10 於: 2004-12-16 19:44 »
恭喜Monster.賀喜Monster. :D

哇,我今天變成鼓掌部隊了。Monster.不吃不喝的精神令人敬佩,不過身體還是要照顧啦!

我雖然是大菜鳥,但也要努力,加油中 :wink:

blueway及Monster.兩位大大別忘了寫篇教學喔!

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #11 於: 2004-12-19 12:47 »
vpn-pptpd with mppe and mppc

現有系統linux fedora core 2 linux-2.6.5-1.358,shorewall-2.2.0Beta7 pentium 450MHz

必須用到的檔案
kernel 2.6.9 以及patch file
ppp-2.4.3以及mppe_mppc patch file
pptpd-1.2.1
所有的patch檔案,您都可以到下列網址取得patch file以及安裝說明
http://www.polbox.com/h/hs001/#AEN55

核心的小編譯

由於我們只是要將mppe及mppc編譯進核心,沒有將核心大幅變動,如果您原來的核心就是2.6的話,最簡便的方法就是將舊有核心的.config複製過來,再選擇將mppe-mppc編入模組即可。詳細的核心編譯方法,除了鳥哥的書之外,可以參考下列howto http://www.opennet.ru/docs/HOWTO/Kernel-HOWTO-2.html 底下的說明是簡單的摘要,這裡的工作目錄是/usr/src
下載linux-2.6.9.tar.gz到/usr/src,請注意您的核心可以放在任何您認為適合的地方,但必須注意的是,核心編譯過程中必須要有足夠的暫存空間,請留意。
解壓縮核心 tar zxvf linux-2.6.9.tar.gz之後您會得到一個目錄檔linux-2.6.9,亦即/usr/src/linux-2.6.9
下載linux-2.6.9-mppe-mppc-1.2.patch.gz到/usr/src,然後解壓縮 gunzip linux-2.6.9-mppe-mppc-1.2.patch.gz ,之後您會得到一個linux-2.6.9-mppe-mppc-1.2.patch

Patch linux-2.6.9: 下指令
代碼: [選擇]
patch –p0 –i linux-2.6.9-mppe-mppc-1.2.patch


將linux連結到您新的即將編譯的核心
代碼: [選擇]
ln –s linux-2.6.9 linux
cd linux



將就有核心的.config檔拷貝過來使用,如果您舊有的系統是fedora core 2的話,那麼檔案應該在/usr/src/linux-2.6.5-1.358/configs/kernel-2.6.5-1.358-i586.config
代碼: [選擇]
cp /usr/src/linux-2.6.5-1.358/configs/kernel-2.6.5-1.358-i586.config .config


Make menuconfig往下滑到最後第二行,選擇load alternate config file,如果您已經將舊有設定檔拷貝過來存成.config的話,只要按OK就可以將原來的設定讀進來。接著必須進入Device Drivers -> Networking Options -> select "PPP support" and then select "Microsoft PPP compression/encryption (MPPC/MPPE)"以space鍵選擇將它編譯入模組,如果編譯程模組的話,記得稍後必須修改/etc/modules.conf,加入下列這句
代碼: [選擇]
alias ppp-compress-18 ppp_mppe_mppc


進到CryptoAPI選單,確定SHAI以及ARC4有編入模組,預設都有編入,只是確認一下而已。
如果您不再有其他的改變的話,將這個設定檔另存新檔是個不錯的作法,您可以拉到最下面一行選擇save as alternative config file,檔名自己看得懂即可,譬如.config.mppe_mppc
按alt-E離開,系統會問您要不要存檔,當然要。
接下來要在Makefile做一點小小的修改 vi Makefile,在前面幾行就可以看到Extraversion改為Extraversion=-mppe_mppc,意思是在版本註記加上-mppe_mppc,當然您可以加上自己喜歡的註記

nohup make bzImage過程不顯示在螢幕上,但會寫入nohup.out,讓您可以事後查閱。

nohup make modules 1>modules.out 2>modules.err,一樣將編譯過程寫入modules.out及modules.err

make modules_install

make install

Summary of kernel patch of linux-2.6.9

代碼: [選擇]
# tar zxvf linux-2.6.9.tar.gz
# gunzip linux-2.6.9-mppe-mppc-1.0.patch.gz
# patch -p0 -i linux-2.6.9-mppe-mppc-1.0.patch
# ln –s linux-2.6.9 linux
# cd linux
# make menuconfig
go to Device Drivers -> Networking Options -> select "PPP support" and then select "Microsoft PPP compression/encryption (MPPC/MPPE)"
# vi Makefile //modify extraversion=-mppe-mppc
# nohup make bzImage
# nohup make modules 1>modules.out 2>modules.err
# make modules_install
# make install
# reboot選擇linux-2.6.9-mppe-mppc進入系統



安裝ppp
您已經下載了ppp-2.4.3.tar.gz以及ppp-2.4.3-mppe-mppc.1.1.patch.gz放在同一個目錄下,例如/usr/local/src
解壓縮這兩個檔案 tar zxvf ppp-2.4.3.tar.gz 以及gunzip ppp-2.4.3-mppe-mppc-1.1.patch.gz,您將得到一個ppp-2.4.3的目錄以及ppp-2.4.3-mppe-mppc-1.1.patch的檔案

代碼: [選擇]
# patch –p0 –i ppp-2.4.3-mppe-mppc-1.1.patch
# cd ppp-2.4.3
# ./configure
# make; make install



安裝pptpd
代碼: [選擇]
# tar zxvf pptpd-1.2.1.tar.gz
# cd pptpd-1.2.1
# ./configure
# make; make install



相關設定檔/etc/pptpd.conf /etc/ppp/options.pptpd /etc/ppp/chap-secrets /etc/modules.conf

# vi /etc/pptpd.conf
代碼: [選擇]
ppp /usr/local/sbin/pppd #指定pppd的路徑,特別是如果您系統預設已安裝pppd,如fedora core2已安裝pppd,沒指定路徑的話會指向有mppe但沒有mppc的預設pppd,此處必須指向我們以tarball安裝已patch過的pppd
option /etc/ppp/options.pptpd
localip 192.168.0.1 #同伺服器的local ip,好處是遠端client可以視同lan的成員,包括masquerade都不需要特別額外的設定
remoteip 192.168.0.10-50 #分配給遠端的ip,本例範圍從192.168.0.10到192.168.0.50。您也可以指定172.16.x.x的網段。



vi /etc/ppp/options.pptpd
代碼: [選擇]
name *
lock
mtu 1450
mru 1450
proxyarp
auth
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 3
lcp-echo-interval 5
deflate 0
# Handshake Auth Method
+chap
+mschap-v2
# Data Encryption Methods
mppe required,stateless #required及stateless之間沒空格



vi /etc/ppp/chap-secrets,這個檔案最好將權限改成700以策安全
代碼: [選擇]
#client server Password IP Address
pptp * 12345 *



vi /etc/modules.conf
代碼: [選擇]
alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 [color=red]ppp_mppe_mppc[/color]
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate



我必須手動載入ppp_mppe_mppc
代碼: [選擇]
# modprobe ppp_mppe_mppc


Configuration of shorewall http://devel.elucid8design.com/el8/devel/tutorials/pptp.php
Working directory /etc/shorewall

vi zones
代碼: [選擇]
#ZONE DISPLAY COMMENTS
net Net Internet
loc Local Local Networks
pptp pptp remote vpn users
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE



vi interfaces
代碼: [選擇]
#ZONE INTERFACE BROADCAST OPTIONS
net eth1 detect dhcp,routefilter,norfc1918
loc eth0 detect
pptp ppp+ detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE



vi policy
代碼: [選擇]
pptp all accept
loc pptp accept
fw pptp accept


vi rules
代碼: [選擇]
ACCEPT net fw tcp 1723
ACCEPT net fw 47
ACCEPT net loc tcp 1723
ACCEPT net loc 47
ACCEPT net pptp tcp 1723
ACCEPT net pptp 47
ACCEPT loc fw tcp 1723
ACCEPT loc fw 47
ACCEPT loc pptp tcp 1723
ACCEPT loc pptp 47
ACCEPT loc net tcp 1723
ACCEPT loc net 47
ACCEPT fw net tcp 1723
ACCEPT fw net 47
ACCEPT fw loc tcp 1723
ACCEPT fw loc 47
ACCEPT fw pptp tcp 1723
ACCEPT fw pptp 47



vi tunnels

代碼: [選擇]
# TYPE ZONE GATEWAY GATEWAY
# ZONE
pptpserver net 0.0.0.0/0
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE




vi masq
代碼: [選擇]
eth1 eth0 #將loc的eth0 masquerade成net的eth1出去,由於pptp指定的遠端ip包含在loc的網段,也可以被masquerade出去。


啟動pptpd
代碼: [選擇]
# pptpd


代碼: [選擇]
Dec 19 07:55:10 iformosa pptpd[3835]: MGR: Manager process started
Dec 19 07:55:10 iformosa pptpd[3835]: MGR: Maximum of 41 connections available



client端的設定,以windows 2000為例

只說明幾個重點,請看圖





如果勾選使用遠端伺服器閘道,您的預設閘道將被改成遠端伺服器的閘道;若沒勾選,則本身預設閘道不變,只多出一條靜態路由。


代碼: [選擇]
Dec 19 10:45:13 iformosa pptpd[3938]: CTRL: Client 192.168.0.193 control connection started
Dec 19 10:45:13 iformosa pptpd[3938]: CTRL: Starting call (launching pppd, opening GRE)
Dec 19 10:45:13 iformosa pppd[3939]: pppd 2.4.3 started by root, uid 0
Dec 19 10:45:13 iformosa pppd[3939]: Using interface ppp0
Dec 19 10:45:13 iformosa pppd[3939]: Connect: ppp0 <--> /dev/pts/0
Dec 19 10:45:13 iformosa pptpd[3938]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Dec 19 10:45:13 iformosa pppd[3939]: MPPC/MPPE 128-bit stateless compression enabled
Dec 19 10:45:13 iformosa pppd[3939]: found interface eth0 for proxy arp
Dec 19 10:45:13 iformosa pppd[3939]: local  IP address 192.168.0.2
Dec 19 10:45:13 iformosa pppd[3939]: remote IP address 192.168.0.11

Monster.

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #12 於: 2004-12-19 14:06 »
哇 !!  :o  恭喜 krab 大大 !! 賀喜krab 大大 !! krab 大大讚喔 !!  :D 而且這篇教學文件寫的相當棒喔 !!  :D

雖然後面的 shorewall 的部分我並沒有做 , 但由此我發現一件事實 : krab 大大為了做出這個成果付出了努力絕對比我多好幾倍 !!
而且 krab 大大還有加做 shorewall 的部份和寫教學文件 , 小弟萬分佩服 !!

回想當初自己為了要做這個 PPTP + MPPE + MPPC , 把全世界有關這方面的網頁全都翻出來看過一遍 ,
原始作者的網頁已經看了快上百遍看到想去扁他一頓 , 是不是他 "暗槓" 了哪方面的設定沒寫出來 ,
後來自己才發現原來是我做為 client 端的 Windows Server 2003 中文版有某個選項沒勾 . . .  :evil:
成功以後開扁對象換成 : Windows Server 2003 中文版 , 有夠欠扁 . . . . .  :evil:

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #13 於: 2004-12-20 08:05 »
感謝Monster.大大,若非您指點方向,恐怕我現在還在一片困頓中呢。

整體觀念還不是很清楚的時候,總是要走許多冤枉路的。不過這就是學習嘛,有人跑得快,有人走得慢,慢慢學總會有收穫的。

有個困擾是,將alias  ppp-compress-18 ppp_mppe_mppc加到 /etc/modules.conf裡,不是系統會自動載入嗎?為什麼我還要modprobe ppp_mppe_mppc呢?

Monster.

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #14 於: 2004-12-20 12:56 »
我在 modprobe.conf 和 modules.conf 都有寫入這行 alias ppp-compress-18 ppp_mppe_mppc ,
這兩個檔都在 /etc 下 , 國外網頁有些寫要加在 modprobe.conf , 有些則寫要加在 modules.conf ,
所以我就不管三七二十一兩個檔裡面全都加入這行 , 就不用手動載入這道程序了 .

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #15 於: 2004-12-20 13:11 »
引述: "Monster."
我在 modprobe.conf 和 modules.conf 都有寫入這行 alias ppp-compress-18 ppp_mppe_mppc ,
這兩個檔都在 /etc 下 , 國外網頁有些寫要加在 modprobe.conf , 有些則寫要加在 modules.conf ,
所以我就不管三七二十一兩個檔裡面全都加入這行 , 就不用手動載入這道程序了 .


感謝,這樣一來就非常完美了。 :D  :D

hpeter

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #16 於: 2005-05-27 20:59 »
不好意思,請問一下各位先進,小弟的 pptpd 可以在學校裡面使用沒問題,可是一到外面就連不上了,我是用 WindowsXP 當client ,看畫面是一直停在使用者認證的地方,過很久就錯誤了,我去看 log 如下

Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
LCP: timeout sending Config-Requests
Connection terminated.
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
tcflush failed: Bad file descriptor
tcsetattr: Invalid argument (line 1001)

請問這樣子要如何解決呢?還有想請問一下 pptpd stateful 和 stateless 有什麼不一樣呢?謝謝 ^^

ychao

  • 懷疑的國中生
  • **
  • 文章數: 42
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #17 於: 2005-05-28 13:33 »
請問如果要使用Linux當client的話,應該怎麼做呢?

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #18 於: 2005-05-29 00:20 »
引述: "ychao"
請問如果要使用Linux當client的話,應該怎麼做呢?


我都是windows2000當client,因此linux pptp client一點經驗都沒有。

如果ychao大大有興趣,要不要參考下列專案,然後回來教我們:wink:

http://pptpclient.sourceforge.net/

zee_marco

  • 憂鬱的高中生
  • ***
  • 文章數: 108
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #19 於: 2005-05-30 22:48 »
各學長, 你們好,
弟有一疑難, 關於vpn+mppc+mppe
望各學長指教

弟的作業系統及環境
FC3
ppp0(eth0) -- 使用pppoe 建立連線(浮動IP)
eth1 -- internal ip (192.168.6.1)

弟依足krab 兄的指引(唯獨沒有安裝shorewall)
成功建立連線
在client 機上可以get ip
但弟建立連線後
無法ping eth1(192.168.6.1) 及無法上網

請問弟有何地方不善呢

/etc/pptpd.conf 設定如下
ppp /usr/local/sbin/pppd
option /etc/ppp/options.pptpd
localip 192.168.6.1
remoteip 192.168.6.100-110

iptables-save 設定如下
iptables-save
# Generated by iptables-save v1.2.11 on Mon May 30 22:48:02 2005
*filter
:INPUT DROP [2726:154202]
:FORWARD DROP [7:434]
:OUTPUT ACCEPT [7787:944983]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p tcp -m multiport --dports 21,22,25,53,80,110,1723 -j ACCEPT
-A INPUT -i ppp0 -p gre -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -j ACCEPT
-A FORWARD -i ppp0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon May 30 22:48:02 2005
# Generated by iptables-save v1.2.11 on Mon May 30 22:48:02 2005
*nat
:PREROUTING ACCEPT [8359:581423]
:POSTROUTING ACCEPT [309:20834]
:OUTPUT ACCEPT [309:20834]
-A POSTROUTING -s 192.168.6.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Mon May 30 22:48:02 2005

望各學長指教, 謝訟

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #20 於: 2005-05-31 14:36 »
感謝zee_marco兄參與討論。

小弟認為探查的方向:

1. client的routing table(有問題的可能性不高,但請確認一下)

2. pptp server iptables 的規則。
您看小弟用shorewall,就猜得到我是不求甚解的人。
不過,當您連上server而且取得指派的IP時,server上應該會多出一個ppp1(您原本就有ppp0),如果把ppp1也寫進iptables的規則裡,是否就能透過pptp server連上網路?

zee_marco

  • 憂鬱的高中生
  • ***
  • 文章數: 108
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #21 於: 2005-05-31 18:27 »
引述: "krab"
感謝zee_marco兄參與討論。

小弟認為探查的方向:

1. client的routing table(有問題的可能性不高,但請確認一下)

2. pptp server iptables 的規則。
您看小弟用shorewall,就猜得到我是不求甚解的人。
不過,當您連上server而且取得指派的IP時,server上應該會多出一個ppp1(您原本就有ppp0),如果把ppp1也寫進iptables的規則裡,是否就能透過pptp server連上網路?


謝謝krab 兄的回覆
弟對iptables 未能有深入了解, 所以不知如何設定
就http://www.phparchitecture.com/howto_show.php?id=3
所設定的iptable, firewall 及vpn server 是分開的,
但弟的case 是firewall 及vpn 是同一電腦
所以不太明白如何設定
但, 謝謝krab 兄給弟的指引及教導
^o^

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #22 於: 2005-06-01 00:29 »
pptp iptables rule set有一篇雖然舊了點,但值得參考一下。

http://home.swbell.net/berzerke/howto.html#61

引用
echo "Seting up firewall....."
#Define some constants - change for your network!
LOCALNETWORK="192.168.1.0/24"
INTINT="eth1" #The internal interface
EXTINT="eth0" #The external interface
# Activate the forwarding!
echo 1 >/proc/sys/net/ipv4/ip_forward
# Insert the required kernel modules
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp

#=============================================
# Flush the old rules and set default policies
#=============================================
echo "Setting defaults"
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT

#Loopback interface is valid
/sbin/iptables -A INPUT  -i lo -s $LOOPBACK -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -d $LOOPBACK -j ACCEPT
/sbin/iptables -t nat -A OUTPUT -s $LOOPBACK -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s $LOOPBACK -j ACCEPT
#Yes, I know lo looks strange, but otherwise there are problems.
#Some local network traffic does pass through lo rather than
#the internal interface.
/sbin/iptables -t nat -A POSTROUTING -o lo -s $LOCALNETWORK -j ACCEPT
/sbin/iptables -A INPUT  -i lo -s $LOCALNETWORK -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -s $LOCALNETWORK -j ACCEPT
echo "Loopback setup"

#Allow unlimited LAN traffic
/sbin/iptables -A INPUT  -i $INTINT -s $LOCALNETWORK -j ACCEPT
/sbin/iptables -A OUTPUT -o $INTINT -s $LOCALNETWORK -j ACCEPT
#This next allows local broadcasts from this machine.
/sbin/iptables -t nat -A OUTPUT -s $LOCALNETWORK -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o $INTINT -s $LOCALNETWORK \
        -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -s $LOCALNETWORK -j ACCEPT
echo "LAN traffic allowed"

#Allow forwarding from inside to out and vice versa
/sbin/iptables -A FORWARD -i $INTINT -s $LOCALNETWORK -j ACCEPT
/sbin/iptables -A FORWARD -o $INTINT -d $LOCALNETWORK -j ACCEPT

#Allow pptpd connections (port 1723)
/sbin/iptables -t nat -A PREROUTING -i $EXTINT -p TCP \
        --sport $PUBLICPORTS --dport 1723 -j ACCEPT
/sbin/iptables -t nat -A OUTPUT -o $EXTINT -p 47 -j ACCEPT
/sbin/iptables -A OUTPUT -o $EXTINT -p 47 -j ACCEPT
/sbin/iptables -A INPUT  -i $EXTINT -p 47 -j ACCEPT
/sbin/iptables -A INPUT  -i ppp+ \
        -s $LOCALNETWORK -d $LOCALNETWORK -j ACCEPT
/sbin/iptables -A OUTPUT -o ppp+ \
        -s $LOCALNETWORK -d $LOCALNETWORK -j ACCEPT
echo "PPTPD allowed"

zee_marco

  • 憂鬱的高中生
  • ***
  • 文章數: 108
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #23 於: 2005-06-01 01:25 »
再次謝謝krab 兄的回覆

弟成功了,
弟把iptables 的forward ACCEPT
另外把client 的vpn dns設定為外
就成功了....

不過, 弟不明白只可1 個client connection

是不是弟有設定錯了的地方呢

謝謝krab 兄的指教

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #24 於: 2005-06-01 12:51 »
以下章節譯自 http://home.swbell.net/berzerke/howto.html#61  gotchas一節
列出pptpd無法正常運作時,必須注意以及探查的重點

1. 防火牆
用戶端是否有防火牆?如果用戶端有防火牆的話,請確定防火牆允許pptpd通過。

2. 遠端以及近端的IP
在pptpd.conf設定檔裡,遠端以及近端的IP必須在相同次網段(subnet),而且IP不可以重疊。(近端IP只要一個就可以了)。此外,如果您在chaps-secrets裡指定用戶的IP的話,也要注意不可以重複。
(譯者按:指定用戶IP不要包含於pptpd.conf裡的用戶遠端IP。譬如如果您指定用戶user1的IP是192.168.0.100,而且pptpd.conf裡remoteip 192.168.0.100-150,user1連線後的IP自然是192.168.0.100, user2隨後連線,系統分派的IP是遠端IP範圍的第一個192.168.0.100, user1的指定IP會被user2的分派IP搶走,此時user1的連線會有問題。)

3. 重安裝
如果您安裝設定pptpd妥當了,卻有某一機器無法透過pptpd瀏覽的話,請試著將Client for Microsoft Networks反安裝後再重新安裝。 甚至連網路卡也要反安裝後再重新安裝。即使windows2000也可能有這樣的問題。

4. 前送(Forwarding)
如果您沒開啟IP forwarding的話,您將會有很多麻煩。只要下個指令
echo "1" >/proc/sys/net/ipv4/ip_forward 就可以開啟ip forwarding的功能。ip forwarding的功能重開機後就消失了。您可以將指令寫入開機執行指令列裡。此外,如果您有防火牆的話,請確定讓前送的封包能通過防火牆。

5. 微軟視窗
微軟技術支援裡有三個R:重試(Retry)、重開機(Reboot)以及重安裝(Reinstall)。其中特別須要試試重開機。Windows 9X以及ME會有記憶體破碎(fragmentation)的問題,必須重開機之後才能讓ppp以及pptp正常運作。如果您先前都能正常運作這次卻碰到問題的話,重開機試試看。


6. PoPToP版本的問題
您用的版本是1.1.2嗎?不要用1.0.1版本,1.1.2是穩定的版本。(譯者按:94.6.1止穩定的版本是1.2.1最新的版本是1.2.3。譯者用1.2.1以及1.2.3都能正常運作。)


以上野人獻曝,如有錯誤敬請各位先進不吝指正。

zee_marco

  • 憂鬱的高中生
  • ***
  • 文章數: 108
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #25 於: 2005-06-01 14:30 »
真的感謝krab 兄善心幫忙

弟明白問題是什麼了

弟之前測試的地方在同一location 的兩部電腦連接 -- fail
後來測試兩個location vpn client connection -- scuess

成功了

謝謝krab 兄的指教

chenrui

  • 懷疑的國中生
  • **
  • 文章數: 78
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #26 於: 2005-06-11 11:43 »
哪位朋友能否提供 linux-2.6.9-mppe-mppc-1.2.patch.gz 這個下載,我不能訪問http://www.polbox.com/h/hs001/#AEN55  這頁面.謝謝.

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #27 於: 2005-06-11 12:17 »
引述: "chenrui"
哪位朋友能否提供 linux-2.6.9-mppe-mppc-1.2.patch.gz 這個下載,我不能訪問http://www.polbox.com/h/hs001/#AEN55  這頁面.謝謝.


可能只是暫時”失聯”,稍後再試試看。

如果您急著用的話,我將先前下載的放到megaupload,您可以自行下載,不過,若30天內沒人下載,該系統會自動刪除檔案。

http://www.megaupload.com/?d=13K63V28

chenrui

  • 懷疑的國中生
  • **
  • 文章數: 78
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #28 於: 2005-06-11 13:47 »
謝謝.我下載了,但我進行 gunzip 時出現錯誤

[root@cnwm src]# gunzip linux-2.6.9-mppe-mppc-1.2.patch.gz

gunzip: linux-2.6.9-mppe-mppc-1.2.patch.gz: unexpected end of file

請問這是為何,還是原文件有問題呢

krab

  • 憂鬱的高中生
  • ***
  • 文章數: 153
    • 檢視個人資料
[問題]vpn+mppc
« 回覆 #29 於: 2005-06-11 14:20 »
啊,非常抱歉,因為臨下班前抓了就上傳,沒有測試,可能中間有誤。

請再試試下面這個連結,我自己測試過,應該沒問題。

http://rapidshare.de/files/2307492/linux-2.6.9-mppe-mppc-1.2.patch.gz.html

若仍有問題,請PM email給我,直接email給您。

Good luck.