2008年7月11日 星期五

研發筆記-PPP patch MPPE/MPPC

為何ppp要對MPPE/MPPC做patch咧?
原因是MPPE/MPPC是微軟提供的,而目前大部分的人所用的OS還是以Windows居多。
所以加上MPPE/MPPC是必要的。
以下提供我目前使用的方法:

使用Kernel版本:linux-2.6.20.15. (目前用這個版本,正尋找更佳版本中...)
使用ppp版本:ppp-2.4.3 (目前找的到可以patch MPPE/MPPC的版本)
patch下載點:MPPE/MPPC kernel module for Linux

基本上只要照著patch的網頁做,就可以成功了。
但妳可以發現Kernel只patch到 2.6.13就停了,這也是我目前傷腦筋的地方,因為我們的版是是更後面的2.6.20。
不過還好2.6.20有support MPPE的功能了:
[*] Network device support │ │
│ │ < > Dummy net driver support │ │
│ │ < > Bonding driver support │ │
│ │ < > EQL (serial line load balancing) support │ │
│ │ < > Universal TUN/TAP device driver support │ │
│ │ ARCnet devices ---> │ │
│ │ PHY device support ---> │ │
│ │ Ethernet (10 or 100Mbit) ---> │ │
│ │ Ethernet (1000 Mbit) ---> │ │
│ │ Ethernet (10000 Mbit) ---> │ │
│ │ Token Ring devices ---> │ │
│ │ Wireless LAN (non-hamradio) ---> │ │
│ │ PCMCIA network device support ---> │ │
│ │ Wan interfaces ---> │ │
│ │ [ ] FDDI driver support │ │
│ │ [ ] HIPPI driver support (EXPERIMENTAL) │ │
│ │ <*> PPP (point-to-point protocol) support │ │
│ │ [ ] PPP multilink support (EXPERIMENTAL) │ │
│ │ [ ] PPP filtering │ │
│ │ <*> PPP support for async serial ports │ │
│ │ <*> PPP support for sync tty ports │ │
│ │ <*> PPP Deflate compression │ │
│ │ <*> PPP BSD-Compress compression │ │
│ │ <*> PPP MPPE compression (encryption) (EXPERIMENTAL) │ │
│ │ PPP over Ethernet (EXPERIMENTAL) │ │
│ │ < > SLIP (serial line) support │ │
│ │ [ ] Fibre Channel driver support │ │
│ │ < > Traffic Shaper (OBSOLETE)

而目前客戶的需求只到MPPE,所以我還可以苟延殘喘一下,最差的情況下就是自己把2.6.13的改到2.6.20嘍(所以我目前尚無法支援MPPC,因為我們有換kernel需求,所以這個工作暫停)。

所以接下來的任務就是把ppp-2.4.3的patch下載後,用vi去開檔(不用解壓縮...),這個patch其實是一份diff檔,只要照著這份diff檔去改,就可以讓ppp-2.4.3擁有mppe-56 bit跟mppc的功能了(ppp-2.4.3原本就有mppe-40跟mppe-128 bit的功能了,為何獨缺56 bit,我也不知道...)。

等到patch成功後,接下來就是怎麼用啦!
到patch的網頁中,裡用有Usage,會教你怎麼使用,我就簡短說明一下:
1.pppd mppe required,stateless,no128
這一串命令的意義是pppd使用mppe做加密連線,"required,stateless,no128"是mppe帶的參數,所以用","分隔,required表示一定要用mppe加密,否則斷線,stateless表示不需要每個封包會key做加密,no128表示不已128-bit的長度做加密。
2.同理要不以56-bit,或40-bit為加密長度的話就是串上no40,no56.
3.只要有mppe required的話,預設就是三種加密方式都有.

0 意見: