gzip 1.3.9-1 変, etc.
_ [debian] gzip 1.3.9-1 変
インストールできない。
Setting up gzip (1.3.9-1) ...
install-info(/usr/share/info/gzip.info): warning, ignoring confusing INFO-DIR-ENTRY in file.
No `START-INFO-DIR-ENTRY' and no `This file documents'.
install-info(/usr/share/info/gzip.info): unable to determine description for `dir' entry - giving up
dpkg: error processing gzip (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
gzip
_ [comp] VPN 実験再び
相当昔にやった VPN 実験だけど、再びやってみる機会が巡ってきたので挑戦。といっても、今回は PPTP サーバの構築は必要なくて PPTP クライアントの構築のみ。昔を思い出して情報収集。 まず、mppe が有効な pppd だけど、Debian の ppp は問題ない。
ppp (2.4.2+20030811-1) experimental; urgency=low
* New CVS snapshot. (Closes: #171137)
New features:
- MPPE (Closes: #52913, #81511, #100665)
(略)
-- Marco d'Itri <md●linux.it> Sun, 24 Aug 2003 13:40:16 +0200
ii ppp 2.4.4rel-4.1 Point-to-Point Protocol (PPP) daemon
PPTP クライアントは変わらず pptp-linux のようだ。
ii pptp-linux 1.7.0-2 Point-to-Point Tunneling Protocol (PPTP) Cli
公式サイトを見てみると、
Linux kernel 2.6.15 has been released and includes the PPP MPPE encryption module, which implements the Microsoft Point-to-Point Encryption method as a PPP compressor/decompressor.
ref. PPTP Client
ということで、kernel にも mppe パッチを当てる必要はなくなった。2.6.19.1 を
CONFIG_NET_IPGRE=m
CONFIG_PPP=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
で作成。CONFIG_PPP_FILTER=y は以前は入れていなかったけど、
pppd[XXXXX]: kernel does not support PPP filtering
というログが出てたので入れておいた。 PPTP クライアントの設定は
を参考に。設定名は「pptptest」、ユーザは「PPTPUSER」、パスワードは「PPTPPASS」、PPTPサーバは「PPP.PPP.TTT.PPP」とする。てか P 多すぎ。
# cat /etc/ppp/options.pptp
debug
lock
noauth
noccp
user PPTPUSER
# cat /etc/ppp/chap-secrets
PPTPUSER PPTP PPTPPASS *
PPTP PPTPUSER PPTPPASS *
# cat /etc/ppp/peers/pptptest
pty "pptp PPP.PPP.TTT.PPP --nolaunchpppd"
name PPTPUSER
remotename PPTP
file /etc/ppp/options.pptp
ipparam pptptest
設定ができたら、root で pon pptptest を実行。syslog を見てると、
pppd 2.4.4 started by root, uid 0
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/pts/5
anon log[main:pptp.c:267]: The synchronous pptp option is NOT activated
anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
anon log[ctrlp_disp:pptp_ctrl.c:738]: Received Start Control Connection Reply
anon log[ctrlp_disp:pptp_ctrl.c:772]: Client connection established.
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xAAAAAAAA> <pcomp> <accomp>]
anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
anon log[ctrlp_disp:pptp_ctrl.c:857]: Received Outgoing Call Reply.
anon log[ctrlp_disp:pptp_ctrl.c:896]: Outgoing call established (call ID 0, peer's call ID 0).
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xBBBBBBBB> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xBBBBBBBB> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xAAAAAAAA> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0xAAAAAAAA]
rcvd [CHAP Challenge id=0x1 <XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>, name = "XXXXXXXXXX.XXXXXXXXXX.XX.XX"]
sent [CHAP Response id=0x1 <XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>, name = "PPTPUSER"]
rcvd [LCP EchoRep id=0x0 magic=0xBBBBBBBB]
rcvd [CHAP Success id=0x1 "S=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr LLL.CCC.LLL.VDR>]
rcvd [IPCP ConfReq id=0x1 <addr RRR.MMM.TTT.GGG> <compress VJ 0f 01>]
sent [IPCP ConfAck id=0x1 <addr RRR.MMM.TTT.GGG> <compress VJ 0f 01>]
rcvd [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <mppe +H -M +S -L -D -C>]
Unsupported protocol 'Compression Control Protocol' (0x80fd) received
sent [LCP ProtRej id=0x2 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX]
rcvd [IPCP ConfNak id=0x1 <addr RRR.MMM.TTT.CCC>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr RRR.MMM.TTT.CCC>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr RRR.MMM.TTT.CCC>]
Cannot determine ethernet address for proxy ARP
local IP address RRR.MMM.TTT.CCC
remote IP address RRR.MMM.TTT.GGG
Script /etc/ppp/ip-up started (pid XXXXX)
Script /etc/ppp/ip-up finished (pid XXXXX), status = 0x0
見にくいので debug 出力っぽいのを除くと
pppd 2.4.4 started by root, uid 0
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/pts/5
CHAP authentication succeeded
Unsupported protocol 'Compression Control Protocol' (0x80fd) received
Cannot determine ethernet address for proxy ARP
local IP address RRR.MMM.TTT.CCC
remote IP address RRR.MMM.TTT.GGG
Script /etc/ppp/ip-up started (pid XXXXX)
Script /etc/ppp/ip-up finished (pid XXXXX), status = 0x0
RRR.MMM.TTT.GGG から RRR.MMM.TTT.CCC を配ってもらってつながったぽい。ifconfig を見てみると
ppp0 Link encap:Point-to-Point Protocol
inet addr:RRR.MMM.TTT.CCC P-t-P:RRR.MMM.TTT.GGG Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:60 (60.0 b) TX bytes:48 (48.0 b)
おおっと思ってたら、
anon log[logecho:pptp_ctrl.c:676]: Echo Reply received.
anon log[logecho:pptp_ctrl.c:676]: Echo Reply received.
last message repeated 2 times
anon log[pptp_handle_timer:pptp_ctrl.c:1049]: closing control connection due to missing echo reply
anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request'
anon log[pptp_conn_close:pptp_ctrl.c:430]: Closing PPTP connection
anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 3 'Stop-Control-Connection-Request'
anon log[call_callback:pptp_callmgr.c:78]: Closing connection (call state)
Script pptp PPP.PPP.TTT.PPP^I--nolaunchpppd finished (pid XXXXX), status = 0x0
Modem hangup
Connect time 6.0 minutes.
Sent 956072940 bytes, received 532 bytes.
Script /etc/ppp/ip-down started (pid XXXXX)
MPPE disabled
sent [LCP TermReq id=0x2 "MPPE disabled"]
Connection terminated.
Waiting for 1 child processes...
script /etc/ppp/ip-down, pid XXXXX
Script /etc/ppp/ip-down finished (pid XXXXX), status = 0x0
Exit.
即行で切れた。ひとまず
Unsupported protocol 'Compression Control Protocol' (0x80fd) received
というログが出ていたので、/etc/ppp/options.pptp から noccp を勘で外してみるけど関係なかった。通信できてないのかな?と思ってたら、単にデフォルトゲートウェイを ppp0 に向けてないだけだった。
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
RRR.MMM.TTT.GGG 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
LLL.CCC.LLL.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 LLL.CCC.LLL.GGG 0.0.0.0 UG 0 0 0 eth0
ということで、LLL.CCC.LLL.GGG を削除して RRR.MMM.TTT.GGG をデフォルトルートにする。
# route del default gw LLL.CCC.LLL.GGG
# route add default gw RRR.MMM.TTT.GGG
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
RRR.MMM.TTT.GGG 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
LLL.CCC.LLL.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 RRR.MMM.TTT.GGG 0.0.0.0 UG 0 0 0 ppp0
これで行けると思ったら、eth0 を通してた PPP.PPP.TTT.PPP との通信ができなくなって、接続断。一体何をしてるんだか…。ここは PPP.PPP.TTT.PPP へのスタティックルーティングを設定しておくのが正しい。
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
RRR.MMM.TTT.GGG 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
LLL.CCC.LLL.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 LLL.CCC.LLL.GGG 0.0.0.0 UG 0 0 0 eth0
# route add -net PPP.PPP.TTT.PPP netmask 255.255.255.255 gw LLL.CCC.LLL.GGG
# route del default gw LLL.CCC.LLL.GGG
# route add default gw RRR.MMM.TTT.GGG
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
RRR.MMM.TTT.GGG 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
PPP.PPP.TTT.PPP LLL.CCC.LLL.GGG 255.255.255.255 UGH 0 0 0 eth0
LLL.CCC.LLL.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 RRR.MMM.TTT.GGG 0.0.0.0 UG 0 0 0 ppp0
これでようやく RRR.MMM.TTT.CCC としてネットワークに参加できた。もうちょっときれいにつなげられるようにしたいけど、それはまた後々。