Just MyShopへ
Princo.org は Justsystem を応援します
技術関連情報サイト http://wiki.princo.org/ をオープンしました.
dum
logo01 logo02
Linux Tips
TOP > tips > cipe.html
メニュー

Just MyShopへ
Justsystem
応援します!
border01 border02 border03
border04

CIPEを使った高速VPNを構築

はじめに

LinuxでのVPN構築方法は幾つかありますが、ここでは RedHat Linux 7.3 に 標準でインストールされるCIPE(Crypto IP Encapsulation)を利用します。

CIPEは暗号化をカーネル(またはモジュール)が行うように 設計されているため、他のVPN実装とは比べものにならないほど 高速にVPN接続を実現出来ます。

私のVPN接続環境(双方Bフレッツベーシックプラン)では、 FTP転送で 6MB/s(48Mbps) 程の転送速度が出ます。

CIPEはVPN同士の転送を特定のUDPポートに乗せて実現しています。 そのため、セキュリティーの設計もしやすく、安全な運用が可能です。

手順

  • ここで行う設定の接続図を確認
  • 入手とインストール
  • 暗号鍵作成
  • ルーターAを設定
  • ルーターBを設定
  • 起動

手順1 ここで行う設定の接続図を確認

ここでは、下記の接続図を想定して説明します。

                            |-[client 172.16.1.10]
                            |-[client 172.16.1.11]
                            |-[client 172.16.1.12]
                            |-[client 172.16.1.13]
                            |
                          [HUB]
                            |
                   +---------------------+
                   | eth1 172.16.1.254   |
                   | - - - - - - - - - - |
                   |      ルーター A     | ← VPNルーター
                   | - - - - - - - - - - |
                   | ppp0 11.11.11.11    |
                   +---------------------+
                            |
                         (プロバイダ1)
                            |
    ##################################################
                         Internet
    ##################################################
                            |
                         (プロバイダ2)
                            |
                   +---------------------+
                   | ppp0 22.22.22.22    |
                   | - - - - - - - - - - |
                   |      ルーター B     | ← VPNルーター
                   | - - - - - - - - - - |
                   | eth1 172.16.2.254   |
                   +---------------------+
                            |
                          [HUB]
                            |
                            |-[client 172.16.2.10]
                            |-[client 172.16.2.11]
                            |-[client 172.16.2.12]
                            |-[client 172.16.2.13]

手順2 入手とインストール

ルーターA,ルーターBとも、同様にCIPEをインストールする必要があります。 既にRPMでインストールされていないかを確認します。

# rpm -q cipe

インストールされていなければ、ftp://ftp.kddlabs.co.jp などで 入手してインストールしてください。

# rpm -ivh cipe-1.4.5-9.i386.rpm

手順3 暗号鍵作成

暗号通信用の128bit16進文字列を作成します。

# ps axuww|md5sum
83c7b41a5fb050b205ffeff185123a2d -

作成した文字列83c7b41a5fb050b205ffeff185123a2dは、 後ほど設定ファイルに埋め込んで使います。

手順4 ルーターAを設定

CIPE の設定ファイルは /etc/cipe/ に設置されています。

/etc/cipe/ip-up ファイル

...
// 省略 //
...
# Interconnect two 10. subnets through the Internet!
# Assuming $4 is in 10.1 and $5 in 10.2
#route add -net 10.2.0.0 netmask 255.255.0.0 gw $5
route add -net 172.16.2.0 netmask 255.255.255.0 gw 172.16.2.254
...
// 省略 //
...

/etc/cipe/options 設定ファイル

# デバイス名
device cipcb0

# 自己ルーターIP
ipaddr 172.16.1.254

# 相手ルーターIP
ptpaddr 172.16.2.254

# 自己グローバルIP : 適当なポート
me 11.11.11.11:9999

# 相手グローバルIP : 適当なポート
peer 22.22.22.22:9999

# かぎ
key 83c7b41a5fb050b205ffeff185123a2d

このファイルはroot以外の人が読めると、デーモンが噛んでくれません。

# chmod 600 /etc/cipe/options

/etc/modules.conf ファイル

alias cipcb0 cipcb
options cipcb cipe_debug=0

手順5 ルーターBを設定

CIPE の設定ファイルは /etc/cipe/ に設置されています。

/etc/cipe/ip-up ファイル

...
// 省略 //
...
# Interconnect two 10. subnets through the Internet!
# Assuming $4 is in 10.1 and $5 in 10.2
#route add -net 10.2.0.0 netmask 255.255.0.0 gw $5
route add -net 172.16.1.0 netmask 255.255.255.0 gw 172.16.1.254
...
// 省略 //
...

/etc/cipe/options 設定ファイル

# デバイス名
device cipcb0

# 自己ルーターIP
ipaddr 172.16.2.254

# 相手ルーターIP
ptpaddr 172.16.1.254

# 自己グローバルIP : 適当なポート
me 22.22.22.22:9999

# 相手グローバルIP : 適当なポート
peer 11.11.11.11:9999

# かぎ
key 83c7b41a5fb050b205ffeff185123a2d

このファイルはroot以外の人が読めると、デーモンが噛んでくれません。

# chmod 600 /etc/cipe/options

/etc/modules.conf ファイル

alias cipcb0 cipcb
options cipcb cipe_debug=0

手順6 起動

# ciped-cb

と入力すればインターフェイスが立ち上がります。 /var/log/messages を見ながら行うと良いです。

# ifconfig

してみて、cipcb0 が存在していれば成功です。 あとはrcに埋め込むなり、自動起動の設定をすれば完了です。

dum
border05 dum dum

(c) 2002 Princo.org