[Momonga-devel.ja:02086] Re: pptpdへの接続が出来ません


蛭田です。


YAMAGUCHI Kenji wrote:

> MPPE (Microsoft Point-to-Point Encryption)
> http://www.microsoft.com/windows2000/ja/professional/help/default.asp?url=/windows2000/ja/professional/help/mppe.htm
> 
> については、
> 
> kernel の MPPE パッチ
> http://public.planetmirror.com/pub/mppe/
> 
> を当てる必要があります。
> 
> CVSWeb の kernel-2.4.22-11m の kerne.spec を見る限り、パッチは当てられて
> いるようです。
> http://www.momonga-linux.org/cvsweb/cvsweb.cgi/pkgs/kernel/kernel.spec?rev=1.239&content-type=text/x-cvsweb-markup

そうなんです。私も当たっていないのかな?と思いkerne.specを見直してみたので
すが、ちゃんと当たっているようでした。(そもそも当たっていないとppp_mppe.o
を組み込めませんしね)


> が、現在は  tainted modules となってしまって読み込めないようですね。
>    > そこらへんは kernel 詳しい人プリーズ

当たっているパッチが2.4.21用の物だったので、あやしいかなとは思ったのです
が...。やはりちゃんと読み込めていないのでしょうね。


> Windows 2000 だと、デフォルトの PPTP 接続は、暗号化を受け付けない場合は
> 切断する設定になっているので、そのせいかもしれません。

はい。おっしゃる通りでした。暗号化をオフにすれば、接続出来ました。
よって、その他の設定に誤りがあるというわけでは無さそうです。


> 余談ですが、MPPE については最近別の実装もあるようです。
> http://www.polbox.com/h/hs001/
> 
> こちらは kernel 2.4.22 に追従しているようですがどうでしょうか。
> (すみませんがこちらでは今試せませんので‥‥(汗

情報、ありがとうございます。

ということで、試してみました。
結果、良好です。ちゃんとMPPEで暗号化されています。MPPCでの圧縮も利用
可能でした。

利用に際しては、kernelへのパッチとppp-2.4.2の導入が必要です。
モジュールもppp_mppeからppp_mppe_mppcに変わるので、/etc/modules.conf
を修正する必要があります。
それから、mppe-mppcパッチを当てるとpppのオプションの書式がちょっと変
わるようなので、/etc/ppp/options.pptpdの修正も必要になります。

kernel.spec, ppp.specの差分と、ppp-2.4.2のMakefileのパッチ、及び
options.pptpdを添付しておきます。


以上です。
--- kernel.spec.org	2003-09-14 00:23:30.000000000 +0900
+++ kernel.spec	2003-09-20 23:46:13.000000000 +0900
@@ -369,7 +369,8 @@
 # original is http://heanet.dl.sourceforge.net/sourceforge/ebtables/ebtables-brnf-3_vs_2.4.21.diff.gz
 Patch50100: linux-2.4.22-ebtables-brnf-3_vs_2.4.21.patch
 
-%NoPatch 51 http://public.planetmirror.com/pub/mppe/linux-2.4.21-openssl-0.9.6b-mppe.patch.gz 7d420969b985ead981082ff281e1d471
+# 51 http://public.planetmirror.com/pub/mppe/linux-2.4.21-openssl-0.9.6b-mppe.patch.gz 7d420969b985ead981082ff281e1d471
+%NoPatch 51 http://www.polbox.com/h/hs001/linux-2.4.22-mppe-mppc-0.98.patch.gz 90d3dffa4bada645ce2fa9605684565e
 Patch52: linux-2.4.13-promisc-2.patch
 # [security]
 Patch53: linux-zlib_double_free-ipsec.patch
--- ppp.spec.org	2003-04-11 13:51:52.000000000 +0900
+++ ppp.spec	2003-09-20 18:01:23.000000000 +0900
@@ -1,18 +1,21 @@
-%define cvsdate 20021023
+#%define cvsdate 20021023
+%define cvsdate 20030715
 %define _debug 0
 Summary: The PPP (Point-to-Point Protocol) daemon.
 Name: ppp
-Version: 2.4.1
-Release: 21m
+Version: 2.4.2
+Release: 1m
 License: distributable
 Group: System Environment/Daemons
-Source0: ftp://cs.anu.edu.au/pub/software/ppp/ppp-%{version}.tar.gz
+Source0: http://www.polbox.com/h/hs001/ppp-%{version}-cvs%{cvsdate}.tar.gz
+#Source0: ftp://cs.anu.edu.au/pub/software/ppp/ppp-%{version}.tar.gz
 # pppoe2 tar ball.
 #Source0: http://www.shoshin.uwaterloo.ca/~mostrows/ppp-2.4.1-pppoe2.tgz
 NoSource: 0
 
 Source1: ppp-2.3.5-pamd.conf
-Patch0: ppp-2.4.1-make.patch
+Patch0: ppp-2.4.2-make.patch
+#Patch0: ppp-2.4.1-make.patch
 Patch1: ppp-2.3.6-sample.patch
 #Patch2: ppp-2.3.9-wtmp.patch
 #Patch3: ppp-2.4.0-reap.patch
@@ -21,13 +24,16 @@
 #Patch6: ppp-2.4.1-openssl-0.9.6-mppe.patch
 #Patch7: ppp-2.4.1-MSCHAPv2-fix.patch
 #Patch8: ppp-2.4.1-pppoe2.patch
-Patch10: ppp-%{cvsdate}.patch
+#Patch10: ppp-%{cvsdate}.patch
 #Patch100: ppp-zlib_double_free.patch
+Patch110: http://www.polbox.com/h/hs001/ppp-2.4.2-mppe-mppc-0.82.patch.gz
+NoPatch: 110
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 BuildPreReq: pam-devel >= 0.74, findutils
 Requires: glibc >= 2.0.6, kernel >= 2.4.18-18k
 Requires: zlib >= 1.1.4-5m
-URL: http://www.samba.org/ppp/
+#URL: http://www.samba.org/ppp/
+URL: http://www.polbox.com/h/hs001/
 
 %description
 The ppp package contains the PPP (Point-to-Point Protocol) daemon and
@@ -40,7 +46,7 @@
 %setup  -q 
 %if ! %{_debug}
 #%patch8 -p1 -b .pppoe2
-%patch10 -p1 -b .cvs
+#%patch10 -p1 -b .cvs
 %patch0 -p1 -b .make
 %patch1 -p1 -b .sample
 #%patch2 -p1 -b .wtmp
@@ -50,6 +56,7 @@
 #%patch6 -p1
 #%patch7 -p1
 #%patch100 -p1
+%patch110 -p1 -b .mppe_mppc
 # patch 2 depends on the -lutil in patch 0
 find . -type f -name "*.sample" | xargs rm -f 
 find . -type f -name "*.cvs" | xargs rm -f 
@@ -84,7 +91,7 @@
 if [ "$TEMP" = "" ]; then echo "alias ppp ppp_generic" >> /etc/modules.conf; fi
 TEMP=$(cat /etc/modules.conf | grep "alias char-major-108 off")
 if [ "$TEMP" = "" ]; then echo "alias char-major-108 off # This will be different for 2.3.x kernels" >> /etc/modules.conf; fi
-TEMP=$(cat /etc/modules.conf | grep "alias ppp-compress-18 ppp_mppe")
+TEMP=$(cat /etc/modules.conf | grep "alias ppp-compress-18 ppp_mppe_mppc")
 if [ "$TEMP" = "" ]; then echo "alias ppp-compress-18 ppp_mppe" >> /etc/modules.conf; fi
 TEMP=$(cat /etc/modules.conf | grep "alias ppp-compress-21 bsd_comp")
 if [ "$TEMP" = "" ]; then echo "alias ppp-compress-21 bsd_comp" >> /etc/modules.conf; fi
diff -u -r ppp-2.4.2.org/pppd/Makefile.linux ppp-2.4.2/pppd/Makefile.linux
--- ppp-2.4.2.org/pppd/Makefile.linux	2003-07-04 11:28:43.000000000 +0900
+++ ppp-2.4.2/pppd/Makefile.linux	2003-09-20 20:13:12.000000000 +0900
@@ -29,10 +29,10 @@
 include .depend
 endif
 
-# CC = gcc
+CC = gcc
 #
 COPTS = -O2 -pipe -Wall -g
-LIBS =
+LIBS = -lutil
 
 # Uncomment the next 2 lines to include support for Microsoft's
 # MS-CHAP authentication protocol.  Also, edit plugins/radius/Makefile.linux.
@@ -61,7 +61,7 @@
 USE_TDB=y
 
 HAS_SHADOW=y
-#USE_PAM=y
+USE_PAM=y
 #HAVE_INET6=y
 
 # Enable plugins
@@ -193,7 +193,7 @@
      CFLAGS += -DMAXOCTETS
 endif
 
-INSTALL= install -o root
+INSTALL= install
 
 all: $(TARGETS)
 
@@ -201,8 +201,6 @@
 	mkdir -p $(BINDIR) $(MANDIR)
 	$(EXTRAINSTALL)
 	$(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
-	if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
-	  chmod o-rx,u+s $(BINDIR)/pppd; fi
 	$(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
 
 pppd: $(PPPDOBJS)
diff -u -r ppp-2.4.2.org/pppd/plugins/Makefile.linux ppp-2.4.2/pppd/plugins/Makefile.linux
--- ppp-2.4.2.org/pppd/plugins/Makefile.linux	2003-02-18 04:31:15.000000000 +0900
+++ ppp-2.4.2/pppd/plugins/Makefile.linux	2003-09-20 20:13:32.000000000 +0900
@@ -5,7 +5,7 @@
 
 SUBDIRS := rp-pppoe
 # Uncomment the next line to include the radius authentication plugin
-# SUBDIRS += radius
+SUBDIRS += radius
 PLUGINS := minconn.so passprompt.so passwordfd.so
 
 # include dependencies if present
diff -u -r ppp-2.4.2.org/pppstats/Makefile.linux ppp-2.4.2/pppstats/Makefile.linux
--- ppp-2.4.2.org/pppstats/Makefile.linux	2002-10-29 17:03:27.000000000 +0900
+++ ppp-2.4.2/pppstats/Makefile.linux	2003-09-20 20:13:12.000000000 +0900
@@ -6,12 +6,12 @@
 PPPSTATSRCS = pppstats.c
 PPPSTATOBJS = pppstats.o
 
-#CC = gcc
-COPTS = -O
+CC = gcc
+COPTS = ${RPM_OPT_FLAGS} -Wall
 COMPILE_FLAGS = -I../include
 LIBS =
 
-INSTALL= install -o root -g daemon
+INSTALL= install # -o root -g daemon
 
 CFLAGS = $(COPTS) $(COMPILE_FLAGS)
 
lock
# debug
proxyarp

auth
mppe required

# Uncomment to use
#ms-wins your.winsserver.here
#ms-dns your.dnsserver.here