おのたく日記 YouTubeも始めました→
2007-09-24(Mon) 「とあるセキュリティVPN」がPPTPの上では動かない! [長年日記]
■ [PPTP]「とあるセキュリティVPN」がPPTPの上では動かない!
なんで、いまやLinuxがサーバでも暗号化できるVPNである「PPTP」の上に、さらに「とあるセキュリティVPN」を使うのかというと、このVPNは、非常にマイナーなので、ティファクトのVPN用のPortが開いている環境で、どうしてもこのVPNを利用したいときに、まずは出ぃファクトであるPPTPでFirewall越えをする必要があるから(;_;)
しかし、この「セキュリティVPN」がタコで、このVPNサーバへTCPを張るときに、WindowsXPのPPTPクライアントはMTU 1396でつなぐので、1396より大きなパケットを使えないので
# tcpdump src or dst 192.168.171.10
01:47:34.645914 IP 192.168.1.2.1206 > 192.168.171.10.20016: S 3849040895:3849040895(0) win 64240
01:47:34.662198 IP 192.168.171.10.20016 > 192.168.1.2.1206: S 1418590184:1418590184(0) ack 3849040896 win 17680
というかんじで「mss 1360で行こうよ」とネゴシエーションしても「mss 1460だぜ!!」って譲らない。だから通信しているときに
01:47:40.306318 IP 192.168.1.2.1208 > 192.168.171.10.20016: . ack 481 win 64800
01:47:40.283734 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 1:4(3) ack 1 win 65280
01:47:40.429312 IP 192.168.171.10.20016 > 192.168.1.2.1210: . ack 4 win 17677
01:47:40.431234 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 1:3(2) ack 4 win 17677
01:47:40.435181 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 4:74(70) ack 3 win 65278
01:47:40.452955 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 3:21(18) ack 74 win 17607
01:47:40.464670 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 74:77(3) ack 21 win 65260
01:47:40.479537 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 21:23(2) ack 77 win 17604
01:47:40.487292 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 77:147(70) ack 23 win 65258
01:47:40.545334 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 23:73(50) ack 147 win 17534
01:47:40.557178 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 147:427(280) ack 73 win 65208
01:47:40.581360 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 73:609(536) ack 427 win 17254
01:47:40.705687 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 427:1011(584) ack 609 win 64672
01:47:40.731862 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 609:673(64) ack 1011 win 16670
01:47:40.815746 IP 192.168.1.2.1210 > 192.168.171.10.20016: P 1011:1595(584) ack 673 win 64608
01:47:40.841492 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 673:697(24) ack 1595 win 17680
01:47:40.967659 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 2057:2157(100) ack 1595 win 17680
01:47:40.969215 IP 192.168.171.10.20016 > 192.168.1.2.1210: . 697:2057(1360) ack 1595 win 17680
01:47:40.969254 IP 192.168.1.1 > 192.168.171.10: ICMP 192.168.1.2 unreachable - need to frag (mtu 1396), length 556
01:47:40.970082 IP 192.168.1.2.1210 > 192.168.171.10.20016: . ack 697 win 64584
01:47:40.970479 IP 192.168.171.10.20016 > 192.168.1.2.1210: P 2157:3517(1360) ack 1595 win 17680
01:47:40.970500 IP 192.168.1.1 > 192.168.171.10: ICMP 192.168.1.2 unreachable - need to frag (mtu 1396), length 556
なんて感じで大きなpacketを送りつけてきて、さらにICMPの「小さくしてよ要求」も受け付けないので「OUT!!」
これは、もうMTU 1500にするしかないので、WindowsXPのPPTPクライアントからMRUのネゴシエーションが来たときに、defaultの1500(=1496)から小さくしないようにPPTPサーバ側の設定を変えるために /etc/ppp/pptpd-options に
default-mru
を追記して
# ifconfig ppp1
ppp1 リンク方法:Point-to-Pointプロトコル
inetアドレス:192.168.1.1 P-t-P:192.168.1.2 マスク:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:3
RX bytes:1831 (1.7 KiB) TX bytes:108 (108.0 b)
というかんじで、MTU 1496で接続するようにしたら、うまく利用できるようになった。
※以上は、予測と無理くり対策により実現したことを私の理解により書いたので、掛かれていることは嘘かもしれません。( MTUとかMRUとかMSSとかの関係が良く分からなかったので、まちがっていたら、おしえて〜)
■ [PPTP][VMware]PPTPがVMware PlayerのNATモードでは接続できない
VMwareのGest OSのWindowsXPのPPTPクライアントから接続をしているんだけど、ネットワークをNATにしていると、VMware Player 2.0.1 (Windows)では接続できない。VMware Server 1.0.4 (Linux)だと接続できる。
NATネットを使用するように構成された仮想マシンがPPTPを利用できるようになりました。
[GSX Server 3.1で修正されたバグより引用]
ってことだったのだけど、VMware Playerは、まだなおっていないのかな?
|