LinuxでのVPN構築方法は幾つかありますが、ここでは
RedHat Linux 7.3 に 標準でインストールされるCIPE(Crypto IP Encapsulation)を利用します。
CIPEは暗号化をカーネル(またはモジュール)が行うように
設計されているため、他のVPN実装とは比べものにならないほど
高速にVPN接続を実現出来ます。
私のVPN接続環境(双方Bフレッツベーシックプラン)では、
FTP転送で
6MB/s(48Mbps) 程の転送速度が出ます。
CIPEはVPN同士の転送を特定のUDPポートに乗せて実現しています。
そのため、セキュリティーの設計もしやすく、安全な運用が可能です。
ルーターA,ルーターBとも、同様にCIPEをインストールする必要があります。
既にRPMでインストールされていないかを確認します。
# rpm -q cipe
インストールされていなければ、ftp://ftp.kddlabs.co.jp などで
入手してインストールしてください。
# rpm -ivh cipe-1.4.5-9.i386.rpm
暗号通信用の128bit16進文字列を作成します。
# ps axuww|md5sum
83c7b41a5fb050b205ffeff185123a2d -
作成した文字列
83c7b41a5fb050b205ffeff185123a2dは、
後ほど設定ファイルに埋め込んで使います。
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
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
# ciped-cb
と入力すればインターフェイスが立ち上がります。
/var/log/messages を見ながら行うと良いです。
# ifconfig
してみて、cipcb0 が存在していれば成功です。
あとはrcに埋め込むなり、自動起動の設定をすれば完了です。