LoginSignup
5
3

More than 5 years have passed since last update.

DebianとiPhoneを L2TP+IPsec(NAPT-NAPT間)接続

Last updated at Posted at 2015-08-14

いきさつ

平文の無線LAN対策にVPNが欲しいだけで…
世の中たくさん記事があるけど、うまく行かず。サービス借りるの高いし、無料はまた不安だし。
IDCFクラウドさんなら月額500円未満でもサーバ作れるから使ってみました。(500円からってなってるけど、ストレージ削ると500円切るよね)

今回はL2TP+IPsecが必須。iPhoneから繋ぎたいから。
OpenVPNは専用クライアントだし、PPTPは脆弱なので選択から外しました。

試したもの

  1. Debian 6 (GlobalIP) + Openswan + xl2tpd
  2. Debian 6 (GlobalIP) + strongswan + xl2tpd

  3. Debian 7 (PrivateIP) + Openswan + xl2tpd

  4. Debian 7 (PrivateIP) + strongswan + xl2tpd

  5. Debian 7 (PrivateIP) + Softether VPN (成功)

構成

環境はこんな感じでNAPT間で悩む人はこれが最短かも。

Server 10.3.x.x
   |
Global IP(NAPT)
   |
 Internet
   |
Global IP(NAPT)
   |
Client 10.x.x.x
   |
  iPhone

サーバもNAPT配下、クライアントもNAPT配下です。
サーバ側はちゃんとポートフォワーディング設定が必須。

結果

1〜4は撃沈しました。

IPsecのハンドシェイクができたりできなかったり。特にOpenswanのバージョンにハマったんだけど、sourceからは入れたくないから諦めた。

しかしSoftether VPNを試すと10分で完了!今までの時間なに?!
sourceから入れないってのを撤回です。

やったこと

Softetherのサイトからsourceをダウンロードしてmakeだけ

shell
# wget http://jp.softether-download.com/files/softether/v4.18-9570-rtm-2015.07.26-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.18-9570-rtm-2015.07.26-linux-x64-64bit.tar.gz
shell
# tar zxvf softether-vpnserver-v4.18-9570-rtm-2015.07.26-linux-x64-64bit.tar.gz -C /usr/local/
shell
# cd /usr/local/
# make

そして起動ファイル

/etc/init.d/vpnserver
#!/bin/sh
### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SoftEther VPN Server
# Description:       SoftEther VPN Server
### END INIT INFO

DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver

test -x $DAEMON || exit 0

case "$1" in
  start)
        $DAEMON start
        touch $LOCK
        ;;
  stop)
        $DAEMON stop
        rm $LOCK
        ;;
  restart)
        $DAEMON stop
        sleep 3
        $DAEMON start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0
EOT

あとはiptablesの開放とWindows版のマネージメントツールからアカウント追加とL2TP、NATの有効化くらい。(コマンドラインベースのマネージャーは使いづらいのでGUIに頼りました)

VPN用のIPは勝手に設定されて192.168.xx.xが付与されました。
証明書ベースでなくて簡単にVPNってだけならこれでいいです。

今回はサーバ側が直接グローバルIP持っていなくて
NAPT配下ってところが少し悩みどころ?
追加でアドレス契約するのもなんなので(IDCFさんごめんなさい)こんな構成になりました。

元々IDCFさんが用意しているVPNがiOS未対応のまま放置されてるの…
これが使えたら一番簡単だった?

ポートフォワーディングも500/udp, 4500/udpだけしとけば
あと全部クローズで問題なし。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3