Posted by & filed under unix.


外出時に,いちいちsshでトンネリングするのが面倒なので,pptpdを使ってVPNを構築してみた…が,上手くいかない.

いろいろ足掻いた記録.やる気が出たらまたそのうち挑戦する.

インストール

$ sudo apt-get install pptpd

設定

10.0.0.1がルーター(AirMac Extreme),10.0.0.10がサーバー

/etc/pptpd.conf

bcrelay eth0
localip 10.0.0.1
remoteip 10.0.0.11-19

/etc/ppp/pptpd-options

name tokcs
auth
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-wins 10.0.0.10
proxyarp
nodefaultroute
lock
nobsdcomp

/etc/sysctl.conf

net.ipv4.ip_forward=1

これで接続までは上手くいく.IPも正常に割り当てられる.

が,接続先ネットワーク内のNASにpingを飛ばしても応答がない.ルーターとサーバーへは通る.

サーバー側のtcpdumpはこんな感じ

$ sudo tcpdump -i ppp0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
12:55:33.301046 IP 10.0.0.11 > NAS.local: ICMP echo request, id 60177, seq 0, length 64
12:55:34.289347 IP 10.0.0.11 > NAS.local: ICMP echo request, id 60177, seq 1, length 64
12:55:35.287461 IP 10.0.0.11 > NAS.local: ICMP echo request, id 60177, seq 2, length 64
12:55:36.288672 IP 10.0.0.11 > NAS.local: ICMP echo request, id 60177, seq 3, length 64
12:55:37.289816 IP 10.0.0.11 > NAS.local: ICMP echo request, id 60177, seq 4, length 64
12:55:38.288568 IP 10.0.0.11 > NAS.local: ICMP echo request, id 60177, seq 5, length 64

パケットは送出してるけど返答がない.

NAS側がアドレス解決できてないのかなーと思ってarpテーブルを調べてみる.

$ arp | grep 10.0.0.11
10.0.0.11                *       <起点インタフ MP                    eth0
$ arp -a 10.0.0.11
? (10.0.0.11) at <from_interface> PERM PUB on eth0

ちゃんとProxy ARPが設定されてる.

ならば内部のルーティングに問題が?と思って調べてみる.

$ netstat -r | grep 10.0.0.11
10.0.0.11       *               255.255.255.255 UH        0 0          0 ppp0

ちゃんと10.0.0.11がppp0にルーティングされている.

               /|:::::::::::::::::::::ヽ.:.:.:.:、:.:.:.:、:.:.:.、.:.、.:.:.:.:.:.::`゛>
           /{::|:\:::::::\.:.:.:\.:.:.ヽ::.::.ヽ:.:.ヽ::::::::::.:.`゛ー- ..,__
: 何 :    /:|::',:ト、::::::ヽ、:.\:.:.:.\:.:.ヽ:.:.:\.:.:.:.:.:::.:.:.:.:::.::::_;:-'´   : : :
: が :   //:/:::|::',|::'、:::::::::\:.:\.:.:.ヽ:.:.:\:.:..\::::::::::::\、::::\    : : :
: 何 :  /!::|::l::::/|:::l:ヽ:\::ヽ:.:\:.:\.:::ヽ:.:.:ヽ:.:.:.:\::::::::::::\ ̄   : : :
: だ :   |/l::|::|::|:ト、:::::::::、、:ヽ、:.:.:.:::::::::::::::ヽ::::.:ヽ:.:.:.:.\:.:.:.ヽ:::\.   : : :
: か :   |::|::/l::|::|r‐ヽ:::::ヽ(ヽー,―\::::::、::::::::::ヽ::.:.::::::.:::::::ヾ. ̄   : : :
:    :   }//l::|:::|{(:::)ヾ、:::ヽ \!(:::) ヽ,:::ヽ:::::::::::::::::::::::::::::::::::ヾ、   : : :
: わ :.  |/l::|::|:::|ヽ==''" \:ヽ、ヽ=='" |:::::::::::::::::::::::::::::::::::ヽ、::::\
  か     / ',|::|:::|   /   `゛       |!::::::::::::::::::::::::::::ト、::ト、_` ゛`
  ら      l::!::::ト、  '、 _         ||::::::::::::::::::::::::ト:ヽヾ| | ̄ ̄ ̄`ヽ、
  な     r'"´||',::::',                 |:::::/l:::::|\:::ト、ヾ | |     / / \
  い   /   ll ',::', 、 ーこニ=-       /!::/ ヽ:::|  ヾ、  ノ ノ  /  ,イ   ヽ、
       ,'    |  '、:, \ --       ,. '´ |;'  l ヾ、.   //     / |    l: l
      |   |!  ヽ;  ヽ       /.:    i!  /   ゛// |l      / |      | |

まあ,多分,いや,絶対,俺がどっか変なところを見落としてるのだろうけども.

今回はこれで放置.