外出時に,いちいち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 / | | |
まあ,多分,いや,絶対,俺がどっか変なところを見落としてるのだろうけども.
今回はこれで放置.