IPSecによるVPN構成テスト

  ターボリナックスもTurbolinux Server8からIPSecが標準でサポートされたため、以前からTLS7で何度か試してみてもうまく動作しなかったIPSecを試してみた。

参考にしたのは次のページである。
○Turbolinux Server8のインストール
  • turbolinux社のホームページにTLS8のプロモーション版が公開されているので、これをダウンロードしてCDROMに焼く。
  • IPSecの本体であるFreeS/WANはこのプロモーション版には含まれていないので、turbolinux社かミラーのFTPサイトから freeswan-1.98b-4.i586.rpm をダウンロードしてきて、 rpm -ivh freeswan-1.98b-4.i586.rpm でインストールする。
  • これで準備完了である。まず、 /etc/ipsec.conf と /etc/ipsec.secrets を編集して、 /etc/rc.d/init.d/ipsec startとすると起動するが、今回は2ステップで動作を確認した。
○IPSecの確認第一ステップ
  FreeS/WANによるIPSecの導入と運用 を参考にTLS8をインストールしたPCを2台用意し、SG(セキュリティゲートウェイ)対向の確認を行うべく下図の構成を行う。
IPSec確認ステップ1
 次に /etc/ipsec.conf と /etc/ipsec.secrets の設定であるが、簡単な共通鍵方式で試すこととして
     
     /etc/ipsec.conf SG2側                       /etc/ipsec.conf SG1側
config setup
interfaces="ipsec0=eth0"
klipsdebug=none
plutodebug=none
plutoload=%search
plutostart=%search

conn %default
type=transport
right=192.168.0.5
authby=secret
pfs=no

conn sample
left=192.168.0.9
auto=start



config setup
interfaces="ipsec0=eth1"
klipsdebug=none
plutodebug=none
plutoload=%search
plutostart=%search

conn %default
type=transport
right=192.168.0.9
authby=secret
pfs=no

conn sample
left=192.168.0.5
auto=start

     /etc/ipsec.secrets SG1、SG2共同じ
: PSK "FreeS/WAN Connection"

で、設定を行い、SG1、SG2共 /etc/rc.d/init.d/ipsec start で起動する。

 確認は、 telnet で接続することで出来るが、これでは暗号化されているかどうかが分からない。参考にした資料ではパケットをモニターするようにとのことであるが、スイッチングハブを使っている関係もあり、モニターできない。

 そこで、暗号鍵である /etc/ipsec.secrets の内容を変えてみて接続が拒否されるのを確認したり、片方のみIPSec
を立ち上げた状態で接続が拒否されるのを確認することで良しとした。

○IPSecの確認第二ステップ

  第二ステップは、通常のVPNの使用状態、つまり本社と支社間の専用線の代替えである下図の構成である。
IPSECによるVPN
   FreeS/WANによるIPSECサーバの構築の内容に従い次のように /etc/ipsec.conf を編集する。ここでの暗号化も設定が簡単な公開鍵方式を採用し、/etc/ipsec.secrets はステップ1と同じものを使用した。

/etc/ipsec.conf 今回は、SG1、SG2共同じ内容で試してみた。

config setup
interfaces="ipsec0=eth1" −−−−−ここはSG1とSG2では異なり、SG1は eth0である。
klipsdebug=none
plutodebug=none
plutoload=%search
plutostart=%search
uniqueids=yes

conn %default
keyingtries=5
authby=secret

conn sample
left=192.168.0.5
leftnexthop=192.168.0.9
leftsubnet=192.168.1.0/24
right=192.168.0.9
rightnexthop=192.168.0.5
rightsubnet=192.168.2.0/24
auto=add −−−−−−−−−−− センター側。端末側は start



 これで、端末からWebServerに対して、 ping が通るのはもちろんWebへのアクセスも可能であった。

 ここでも確認のため、暗号鍵を変えてみたが、やはりアクセスできなくなったので良好に動作しているものと判断した。

 また、SG1、SG2はルーティングも行うため、それへの設定として turbonetcfg によりルーティングテーブルを編集した。この結果は、IPSecが無い状態でもping WebアクセスともOKであった。
 その際の、ルーティングテーブルを以下に示す。
[root@fmv5100 anabuki]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 192.168.0.9 255.255.255.0 UG 40 0 0 ipsec0
192.168.1.0 * 255.255.255.0 U 40 0 0 eth0
192.168.0.0 * 255.255.255.0 U 40 0 0 eth1
192.168.0.0 * 255.255.255.0 U 40 0 0 ipsec0
loopback * 255.0.0.0 U 40 0 0 lo
default pc98nd.anabuki. 0.0.0.0 UG 40 0 0 eth1

[root@monitor anabuki]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 * 255.255.255.0 U 40 0 0 eth1
192.168.1.0 fmv5100.anabuki 255.255.255.0 UG 40 0 0 ipsec0
192.168.0.0 * 255.255.255.0 U 40 0 0 eth0
192.168.0.0 * 255.255.255.0 U 40 0 0 ipsec0
loopback * 255.0.0.0 U 40 0 0 lo
default pc98nd.anabuki. 0.0.0.0 UG 40 0 0 eth0


 また、SG1、SG2とも中継機能を生かす必要があるので、 echo "1" > /proc/sys/net/ipv4/ip_forward も実行しておく必要がある。

 センター側である fmv5100(192.168.0.5) のIPSecを先に立ち上げておき、端末側である monitor(192.168.0.9) を立ち上げるとIPSecによるトンネルが形成され配下の端末間で通信が可能となる。

 気が付いてこと。
  • 端末と相手SGとの通信は出来ない。
  • センター側で相手端末のIPが分からない場合、IPの代わりに %any と記述すればよいとの説明もあるが、試してみた結果は、RSA認証の場合、RSA Keyが無いといって動作しなかった。共有鍵であれば旨くいくのかもしれない。
  • IPSec の動作状況は、 tail /var/log/message で確認できる。
  • /etc/ipsec.conf にある right left はどちらでも動作した。同一のファイルを両者にインストールするのがいいようである。
○RSA認証
  IPSecをインストールした時に生成される /etc/ipsec/secrets は、秘密鍵になっている。そこでこの中にある #pubkey= 以下を /etc/ipsec.conf の rightrsasigkey と leftrsasigkey に記述するとともに authby=rsasig とする。

○今後試したい事項
  この状態では、固定地間はOKであるが、異動先からのアクセスにはPCを2台持っていかなければならないので現実的でない。
  Windowsマシンから直接本社のLANにアクセスするような構成の可能性について探っていきたい。


前ページ