安くて簡単に IPsec の VPN

Low cost & easy VPN on BEFSR41C-JP V3, by SHIBATA Akira
作成 2007/03/14

はじめに

出先から自宅のネットワークにアクセスしたいことはないだろうか? 私はある。(強引、笑) だから、ドコからでも、あたかも(Virtual)、オレ様のための(Private)、ネットワーク(Network)、略して VPN をつかってアクセスしたい。 TCP/IP にはカプセル化という技術があるので、それをつかってあたかも出先も自宅のネットワークの一部であるかのように使うことが可能なのだ。 VPN には下のような種類が知られている。

レイヤ名前特徴など
Layer2PPTPWindows では 98 から標準搭載、通常そのままでは暗号化しない。IP 以外のプロトコルも通せる、ほかに L2TP やそれらを統合した L2F などがある
Layer3IPsec発信元を保証し、改ざんされていないことを保証し、暗号化をする/しないを選べ、しかもその暗号化は極めて強力。 IPv6 では標準採用
Layer4SSLhttp を使ったものなど、設定が簡単なものが多く、暗号化される

さて、この VPN だが、通信内容を脇から見ることが可能なものもあるが、悪用されないために暗号化するものが多いだろう。 通信内容を見られないように保護するということで暗号化するわけで、今回は IPsec の VPN を実現してみよう。

ただし、そんなにお金をかけていられないのと、設定が難しいとやる気がでないので、「安くて簡単に IPsec の VPN 」を実現しようという考えだ。

注意

当文書は日本国内での使用を前提としている。もし、この文書をお読みのあなたがフランス国内にいるか、あるいは通信がフランス国内を経由する場合には、暗号化通信は「暗号化には首相の認可が必要」であるので、下に解説する機器と設定のフランス国内経由通信での使用はご遠慮願いたい。

他の地域にお住まいの方も、かかる関連通信やソフトの使用が合法であるかを確認のうえ、自身の責任において使ってほしい。。

なお当マニュアルは正確を期し、また有用であることを期待するが、必ずしもその結果を保証するものではない。 私が便利だと感じたように、この文書を読むあなたもこの便利さを享受してほしい。

IPsec VPN 導入にあたり

IPsec VPN を導入するにあたり、欠点を挙げてみよう

  1. 設定が煩雑 (その分自由度は高い)
  2. 使える機器が高価
  3. 高度な専門知識が必要

…ということで、多少能力は低くても、簡単で安く IPsec VPN を使えるようになりたい。 「 IPsec VPN 」使ってますといって、自慢しよう(笑)。

機材

使うのはシスコ・リンクシスの BEFSR41C-JP V3 だ。 特徴は以下のとおりだ。メーカーの紹介ペイジはこちら→ BEFSR41C-JP V3

BEFSR41C-JP V3 の写真
  1. 安い! 2007/03/13 現在 5,000 円を切って購入できる IPsec VPN を張れるルータはこれしかしらない。もし、他社でもこういった製品があったら是非教えてほしい
  2. 簡単! 最低限必要な項目だけ設定すればつなげられる
  3. 早い! そこそこにレイテンシの低い環境では、実効帯域として 1Mbps 以上もとれることがある

そりゃ数万円もだせばすばらしい広帯域で高性能(トンネルが何十本も設定できる)の VPN ルータが手に入るが、自宅と出先など往復分だけと考えれば一万円で途中の経路からの情報漏洩を心配することなく IPsec VPN を張れるわけで、これはすばらしいコストパフォーマンスだ。(他社の奮起を期待したい) また、 IPsec の大きな欠点の一つである設定の難しさも、 web インターフェースからいくつかを決める程度で済むという手軽さはすばらしい。 よって上に挙げた欠点の 3 項目とも克服している BEFSR41C-JP V3 を使って解説する。

IPsec ルータとしての魅力以外にいわゆるブロードバンドルータとしてもイマドキの機種では普通だが、かなり小さい(W113mm×D88mm×H30mm)ので持ち歩きもしやすい。 まぁ、以前は syslog 吐いてくれたり、 smnp しゃべってくれるのはこの機種くらいしかなかったので特長といえたのだが、今は他社の同価格帯のルータもできるようになってきたので、特には取り上げないが必要そうな機能は十分あるのでいろいろ遊ぶにも最適だ。

実際の設定

まぁいろいろあるがつないで見ることを考えよう。 環境は下の図の通りだ。 また、決めておかなくてはいけないことを前提条件の項で表にまとめた。

ネットワーク図
ネットワーク図

自宅側の設定

ネットワーク図を元に設定例を提示する。画像をクリックすると別窓が開いてフルサイズを見ることが可能だ

  1. セットアップの項
    設定項目内容例備考設定例画像中の番号
    ルータの LAN 側 IP アドレス192.168.1.1自宅ネットワークのルータのアドレスだ1
    サブネットマスク255.255.255.0たいていの場合はこれでいいだろう2
    接続回線PPPoEこれは当方が B フレッツを使っているからで、aDSL も多くは PPPoE を使っているだろう。ケーブルテレビなどは DHCP かもしれないし、専用 Ethernet アクセスサービスを受けているなら固定 IP アドレスを設定するかもしれないので自分の回線にあわせよう3
    ユーザー名
    パスワード
    ヒミツプロバイダからもらったモノだ。ただし、 DHCP や Ethernet 専用線などはユーザ名もパスワードもないし、回線をそう選んだらなくなるのでそのときは気にしなくてよい4
    自宅側画像


  2. VPN の項
    設定項目内容例備考設定例画像中の番号
    トンネルのエントリトンネル1(ftth2catv)適当な名前で良い5
    トンネルの有効/無効有効無効になっているときは記入項目が無いが、有効にすると記入すべきところがでてくるので有効の方をクリックしよう6
    ローカルセキュアグループサブネット今回は簡単にするためにこのようにしている7
    ローカルセキュアグループの
    IP とマスク
    192.168.1.0
    255.255.255.0
    自分の所のネットワークだから上の表の 1 と 2 と整合性がないとダメだ8
    リモートセキュアグループサブネット今回は簡単にするためにこのようにしている9
    リモートセキュアグループの
    IP とマスク
    192.168.20.0
    255.255.255.0
    出先のネットワークだ10
    リモートセキュリティゲートウェイ任意今回は任意を選んだが、 FQDN や IP アドレスの方が当然にセキュリティ的には強い。しかし今回は出先から接続する予定なのでどこから接続するかはわからない。よって、どこからでも接続できるようにとの考えで、任意とした11
    暗号化と認証3DES と SHA暗号化について DES よりは 3DES が強く、認証について MD5 よりは SHA の方が確かだ12
    キー管理自動(IKE)自動がラクなので手動にする理由はないだろう13
    PFS-チェックした方がより良いが今回はナシとした14
    事前共有キーeXu23=ABEViz(mun他人に推測されにくそうなモノを決めよう15
    キーライフタイム3600標準の 3600 秒でいいだろう16
    自宅側画像


  3. VPN の項 (詳細設定)
    設定項目内容例備考設定例画像中の番号
    (詳細設定)
    フェーズ 1
    操作モード
    メインモード今回はより簡単という理由で選んだ17
    (詳細設定)
    フェーズ 1
    プロポーザル 1
    暗号化
    3DES3DES のほうが DES よりも強いから18
    (詳細設定)
    フェーズ 1
    プロポーザル 1
    認証
    SHASHA のほうが MD5 よりも強いから19
    (詳細設定)
    フェーズ 1
    プロポーザル 1
    グループ
    1024bit1024bit のほうが 768bit よりも強いから20
    キーライフタイム3600標準の 3600 秒でいいだろう16
    自宅側画像


  4. 一覧を見ることも可能だ。自宅側接続状態画像

  5. 上で設定されたものがココでも確認できる

    リモートのルータのグローバル側 IP アドレスが 10.1.0.48 であることもわかる


  6. 接続ログはこんな感じだ。自宅側の被接続ログ画像

  7. リモートの 10.1.0.48 と接続が確立するまでのログがこんな風に表示されるハズだ

出先側の設定

自宅側の設定を終えたら出先(リモート)側の設定をしよう。基本的には出先側のルータのローカルネットワークの設定をすることと、 VPN の設定を自宅側と同じ方法に指定することだ。また、ルータは二個でひとつのルータのような振る舞いをするので、ココで挙げた例のように自宅側 192.168.1.0/24 と出先側 192.168.20.0/24 のようにネットワークアドレスを異なるものにしないとこの機種では VPN として成立しないので注意しよう。(高級機ではできないことはないが非常に難しい)

  1. セットアップの項
    設定項目内容例備考設定例画像中の番号
    ルータの LAN 側 IP アドレス192.168.20.1出先に持っていくルータのアドレスだ1
    サブネットマスク255.255.255.0たいていの場合はこれでいいだろう2
    接続回線DHCPこれはこの出先のネットワーク環境が DHCP なのであって、場所によっては B フレッツを使っていたり、aDSL も多くは PPPoE を使っているだろうからその場所のネットワーク環境に合わせると良いだろうし、専用 Ethernet アクセスサービスを受けているなら固定 IP アドレスを設定するかもしれないので自分の回線にあわせよう3
    出先側ネットワーク設定画像


  2. VPN の項

    基本はセキュアグループの設定を自宅側とちょうど反対にするように設定しよう。自宅側と対比しやすいように番号はあわせておくので欠番も生じているが気にしなくてよろしい。

    設定項目内容例備考設定例画像中の番号
    トンネルのエントリトンネル1(ftth2catv)適当な名前で良い5
    トンネルの有効/無効有効無効になっているときは記入項目が無いが、有効にすると記入すべきところがでてくるので有効の方をクリックしよう6
    ローカルセキュアグループサブネット今回は簡単にするためにこのようにしている7
    ローカルセキュアグループの
    IP とマスク
    192.168.20.0
    255.255.255.0
    今自分がいる所(出先)のネットワークだから上の表の 1 と 2 と整合性がないとダメだ8
    リモートセキュアグループサブネット今回は簡単にするためにこのようにしている9
    リモートセキュアグループの
    IP とマスク
    192.168.1.0
    255.255.255.0
    自宅のネットワークだ10
    リモートセキュリティゲートウェイ10.0.0.124今回は 10.0.0.124 を選んだが、接続する先の IP アドレスを知ってないといけない。よって自宅側は固定アドレスか、動的でもなるべく長い周期にするか、アドレスが変わってもどうにかソレをしるしくみを作っておけば、 VPN でつなぐときに IP アドレスを設定すればよい。11
    暗号化と認証3DES と SHA暗号化について DES よりは 3DES が強く、認証について MD5 よりは SHA の方が確かだ12
    キー管理自動(IKE)自動がラクなので手動にする理由はないだろう13
    PFS-チェックした方がより良いが今回はナシとした14
    事前共有キーeXu23=ABEViz(mun他人に推測されにくそうなモノを決めよう15
    キーライフタイム3600標準の 3600 秒でいいだろう16
    出先側 VPN 設定画像


  3. VPN の項 (詳細設定)
    設定項目内容例備考設定例画像中の番号
    (詳細設定)
    フェーズ 1
    操作モード
    メインモード今回はより簡単という理由で選んだ17
    (詳細設定)
    フェーズ 1
    プロポーザル 1
    暗号化
    3DES3DES のほうが DES よりも強いから18
    (詳細設定)
    フェーズ 1
    プロポーザル 1
    認証
    SHASHA のほうが MD5 よりも強いから19
    (詳細設定)
    フェーズ 1
    プロポーザル 1
    グループ
    1024bit1024bit のほうが 768bit よりも強いから20
    キーライフタイム3600標準の 3600 秒でいいだろう16
    出先側 VPN 詳細設定画像



  4. 未接続状態ではログはまだでていない。出先(リモート)側の接続ログ画像で未接続状態

  5. 接続ログはこんな感じで接続したところだ。出先側の接続ログ画像

  6. リモートの 10.0.0.124 と接続が確立するまでのログがこんな風に表示されるハズだ

結びに

どうだろう?自分のところの回線状況にあわせるところはあるが、それら以外は上の設定で済むハズだ。なんとなくできるような気がしてきたら、とてもうれしい。幸運を祈る。 Good luck!

追記

新ネタとして、「安く IPsec の VPN : IX2015 の場合」を書いたので、そっちも参考になればどうぞ。(2008/12/03)


Memorandum about Linux and Network | ほかのジャンルを見てみる | サイトマップ

免責

beacon

当方(SHIBATA Akira)は, 本サイトをご利用の際に起きるかもしれない不利益に対し, 一切責任を負いません.