iOS で L2TP over IPsec ソリューション

▼ソフトウェアのインストールと設定

L2TP/IPsec に必要なソフトウェアをインストールし、設定していきます。

 

L2TP – xl2tpd

tar ボールからのインストール

  1. VPS にログインする。
  2. 事前に xl2tpd の make に必要なライブラリをインストーする
    # yum install libpcap-devel
    • 当然、gcc や glibc-devel は入っている前提で書いてます。
  3. http://www.xelerance.com/より最新版の xl2tpd の tar.gz を取得して、make する
    $ wget http://www.xelerance.com/wp-content/uploads/software/xl2tpd/xl2tpd-1.2.7.tar.gz
    $ tar xzvf ./xl2tpd-1.2.7.tar.gz
    $ cd xl2tpd-1.2.7
    $ make
    # make install
    • xl2tpd-1.2.7/l2tp.h の SERVER_NAME が 1.2.6 のままに修正し忘れているので、気になる人は 1.2.7 に変更しておくと良いでしょう。
  4. サービス登録する。
    # cp packaging/fedora/xl2tpd.init /etc/init.d/xl2tpd
    # chmod 755 /etc/init.d/xl2tpd
    # chkconfig --add xl2tpd
    • packaging/fedora/xl2tpd.init の中では、実行ファイルの位置が /usr/sbin/xl2tpd になっているので、シンボリックリンクを作成しておきます。
      # ln -s /usr/local/sbin/xl2tpd /usr/sbin/xl2tpd
  5. xl2tpd 用の設定ファイルをコピーする
    # mkdir /etc/xl2tpd
    # cp examples/xl2tpd.conf /etc/xl2tpd
    # cp examples/ppp-options.xl2tpd /etc/ppp/options.xl2tpd

 

EPEL リポジトリからのインストール

★gcc等の開発環境をサーバに入れたくないとか、パッチが面倒な人はこちらがオススメ。

  1. VPS にログインする。
  2. EPEL リポジトリを使えるように必要なパッケージをインストールする
    # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
    # vi /etc/yum.repos.d/epel.repo
    
    [epel]
    enabled=0
    • enabled=1 のままだと、yum でのインストールやアップデートで epel を常に使ってしまうので、enabled=0 にしておきます。
  3. xl2tpd をインストールする。
    # yum --enablerepo=epel -y install xl2tpd
    • libpcap と ppp が入ってなければ自動的に標準レポジトリからインストールされます。
  • 注意
    • xl2tpd のパッチがリリースされたときは、yum –enablerepo=epel update xl2tpd でアップデート可能となります。

 

設定

以下のような VPN となるように、必要な項目を設定します。

  1. xl2tpd 自身に関する設定を行う。
    # vi /etc/xl2tpd/xl2tpd.conf
    
    [lns default]
    ip range = 192.168.1.128-192.168.1.254
    local ip = 192.168.1.99
    • ip range = の後にユーザ端末に IPCP1 で配る IPアドレス範囲を指定します。
      DHCP を使って IP アドレスを配布するときは次の local ip とともに削除しておきます。
    • local ip =は、この新規に作成される VPN 接続の、サーバ側の出入り口となる IP アドレス。ip rangeと同じセグメントにしておきます。
    • これら以外はデフォルトのままで OK です。
  2. PPP に関する設定を行う。 認証後にクライアント(iPad, Windows 等)へ配る DNS サーバのアドレスなどはここで行う。
    # vi /etc/ppp/options.xl2tpd
    
    ##ms-dns  192.168.1.1
    ##ms-dns  192.168.1.3
    ##ms-wins 192.168.1.2
    ##ms-wins 192.168.1.4
    ##proxyarp
    logfile /var/log/xl2tpd.log
    • ms-dns で DNSサーバを、ms-wins で WINSサーバを配布できますが、ここでは全てコメントアウトしています。(# がコメント)
    • proxyarp は /etc/xl2tpd/xl2tpd.conf で指定した ip range がサーバ自身と同じ LANセグメントであれば有効にする必要がありますが、今回の構成はサーバ自身が属するグローバル IPアドレス レンジで L2TP しない*3ので、不要です。
    • logile は指定しなくても構いませんが、構築中はログが参考になるので有効にしておきます。
  3. ログファイルを作成しておく
    # touch /var/log/xl2tpd.log
  4. /etc/xl2tpd/xl2tpd.conf のデフォルトでは、PPP 認証に CHAP を使うので、ファイルを編集する。なお、これが認証時のユーザ名とパスワードになる。
    # vi /etc/ppp/chap-secrets
    
    user1   LinuxVPNserver  hogehoge        *
    • 左から ユーザ名サーバ名パスワードIPアドレスの意味で、空白やタブ文字で区切ります。
    • サーバ名は /etc/xl2tpd/xl2tpd.conf の name =の設定値です。* でも構いません。
    • IPアドレスは、接続元の IPアドレスを制限したいときに使います。any 接続可なら * を置きます。

 

自動起動設定
  1. サービス登録して、起動します。
    # chkconfig xl2tpd on
    # service xl2tpd start

 

参考情報: PPP 認証に CHAP を使わせずに MS-CAHPv2 を使うには

/etc/xl2tpd/xl2tpd.conf において、

require chap = yes

を消し、代わりに

refuse chap=yes

を追加します。これで、CHAP は使えなくなります。
その代わりとして、/etc/ppp/options.xl2tpd を開き、

require-mschap-v2

をファイルの最後などに追加します。

最後に xl2tpd と ipsec サービスを再起動すれば、PPP認証に CHAP は使えなくなり、MS-CHAPv2 でしか認証出来なくなります。

 

  1. IPCP の意味を知らなくても設定不要なので問題ありません。 []
前のページへ 次ページへ

 

関連するコンテンツ


コメントを残す


メモ - 以下の HTML タグと属性が利用できます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>