YAMAHA RTXシリーズ + Shrew Soft VPN Client で IPsecリモートアクセス(サーバー編)

業務用ルーターとしておなじみのYAMAHA RTXシリーズ。

IPsecによるリモートアクセスVPNを使用する場合は YMS-VPN7 等のソフトウェアを購入する必要があるのですが、そこを無料のVPNクライアント Shrew Soft VPN Client を使ってケチってみようというお話。

もともとの環境

  • 拠点1のグローバルIPアドレスは動的。
  • なので、拠点1はダイナミックDNS(ネットボランチDNS)で運用。(hoge.xxx.netvolante.jp)
  • 拠点2のグローバルIPアドレスは動的。
  • なので、拠点2はダイナミックDNS(ネットボランチDNS)で運用。(huga.xxx.netvolante.jp)
  • 拠点1と拠点2はIPsecでLAN間接続されている。(tunnel 1)

リモートアクセス条件

  • 拠点1のルーターをサーバーとしてIPsecで接続する。
  • Shrew Soft VPN Client をクライアントとして使用する。
  • ユーザー名とパスワードで認証。(XAUTH認証)
  • 拠点3からのアクセスのみ有効。
  • 拠点3のグローバルIPアドレスは動的。
  • なので、拠点3はダイナミックDNS(ネットボランチDNS)で運用。(piyo.xxx.netvlante.jp)

サーバー側(拠点1)ルーター設定の抜粋

ip lan1 address 192.168.1.1/24
ip lan1 proxyarp on

pp select 1
 ...
 ip pp secure filter in ... 100 101 102 ...
 ...
 ip pp nat descriptor 1000
 ...
 netvolante-dns hostname host pp server=1 hoge.xxx.netvolante.jp
 pp enable 1
 
tunnel select 1
 tunnel name VPN1
 ipsec tunnel 1
  ...
  ipsec ike pre-shared-key 1 text VPN1_KEY
  ipsec ike remote address 1 fuga.xxx.netvolante.jp
  ...
 tunnel enable 1
 
tunnel select 2
 tunnel template 3-4
 tunnel name VPN2
 ipsec tunnel 2
  ipsec sa policy 2 2 esp aes-cbc sha-hmac
  ipsec ike keepalive log 2 off
  ipsec ike local address 2 192.168.1.1
  ipsec ike nat-traversal 2 on
  ipsec ike payload type 2 3
  ipsec ike pre-shared-key 2 text VPN2_KEY
  ipsec ike remote address 2 piyo.xxx.netvolante.jp
  ipsec ike remote name 2 pc
  ipsec ike xauth request 2 on 1
  ipsec ike mode-cfg address 2 1
 tunnel enable 2

tunnel select 3
 tunnel name VPN3
  ipsec ike pre-shared-key 3 text VPN3_KEY
 tunnel enable 3
 
tunnel select 4
 tunnel name VPN4
  ipsec ike pre-shared-key 4 text VPN4_KEY
 tunnel enable 4

ip filter 100 pass * 192.168.1.1 udp * 500
ip filter 101 pass * 192.168.1.1 esp * *
ip filter 102 pass * 192.168.1.1 udp * 4500
 
nat descriptor type 1000 masquerade
nat descriptor masquerade static 1000 1 192.168.1.1 udp 500
nat descriptor masquerade static 1000 2 192.168.1.1 esp
nat descriptor masquerade static 1000 3 192.168.1.1 udp 4500
 
ipsec auto refresh on
ipsec ike mode-cfg address pool 1 192.168.1.100-192.168.1.102/32
 
auth user 1 USER1 PASSWORD1
auth user 2 USER2 PASSWORD2
auth user 3 USER3 PASSWORD3
auth user group 1 1-3
auth user group attribute 1 xauth=on

簡単な解説

ip lan1 address 192.168.1.1/24
サーバーになるルーターのLAN側アドレスは 192.168.1.1 サブネットマスク 255.255.255.0 とする。
ip lan1 proxyarp on
代理ARPをONに。
設定しないとクライアントがルーターから先にアクセスできないようだ。
忘れがち。
pp select 1
 ...
 ip pp secure filter in ... 100 101 102 ...
 ...
 ip pp nat descriptor 1000
 ...
 netvolante-dns hostname host pp server=1 hoge.xxx.netvolante.jp
 pp enable 1
プロバイダへのPPPoE接続設定。環境に合わせて適宜変更。

YAMAHAルーターのフィルタの仕様として、

  • フィルタを1つも設定しない » すべて通過
  • フィルタを1つでも設定する » 設定されたフィルタ以外すべて破棄

というのがあったはず。

PP接続のIN側フィルタ設定は、必要最低限のパケット(icmpなど)だけ通過させるようにすることが多いので IPsec で使用されるパケットが通過できない可能性がある。

UDPポート番号 500 IKE(鍵交換)
IPプロトコル番号 50 ESP(暗号通信)
UDPポート番号 4500 NATトラバーサル(ESPパケットをUDPでカプセル化)

その場合はこれらを通過させるフィルタを設定する。
今回は6行目に 100 101 102 を追加した。(内容は48-50行目参照)

8行目はNATディスクリプタの設定。
一般的に(番号が1000とは限らないが)設定されているはず。
こちらも後述の静的IPマスカレードの設定を追加する。(内容は53-55行目参照)

tunnel select 1
 tunnel name VPN1
 ipsec tunnel 1
  ...
tunnel 1 の部分は元からあった拠点2へのIPsec設定なので変更しない。
tunnel select 2
 tunnel templete 3-4
 tunnel name VPN2
ここからリモートアクセスの設定。

23行目は tunnel 3 と tunnel 4 でも同じ設定を使えるようにトンネルテンプレートの設定。
使用しなくても動作するが、その場合はトンネル毎に全設定を記述すること。

トンネルの名前はとりあえず「VPN2」とでもしておく。

 ipsec tunnel 2
トンネルで使用するSAのポリシー番号。(POLICY-ID = 2)
  ipsec sa policy 2 2 esp aes-cbc sha-hmac
SAのポリシー定義。
ipsec sa policy の後、左から

  • POLICY-ID = 2
  • GATEWAY = 2
  • 暗号アルゴリズム = AES-CBC
  • 認証アルゴリズム = HMAC-SHA-1

とする。

  ipsec ike keepalive log 2 off
GATEWAY = 2 に対するキープアライブログの設定。出力しない。

ipsec ike keepalive use を on にすると1分程度で接続が切れるので使用していない。
(Shrew Soft VPN Client を使用した時の話でLAN間接続では問題なし)

Rev.6.03系以降のファームウェアだと標準で auto となり、対向側からキープアライブを受信したときに限って送信するらしいのでカットしたが、必要であれば明示的に off に。

  ipsec ike local address 2 192.168.1.1
GATEWAY = 2 に対するローカルアドレスの設定。(=1行目のIPアドレス)
  ipsec ike nat-traversal 2 on
GATEWAY = 2 に対するNATトラバーサルを有効にする。詳細はこちら

クライアント側のルーターでESPパケットまわりの設定が不要になるので便利。
通信経路上にNATの処理がなければ動作しないらしい。

  ipsec ike payload type 2 3
GATEWAY = 2 に対するIKEペイロードのタイプの設定。

Shrew Soft VPN Client は TYPE = 3 でないと動作しない。

ただし「TYPE 3 » 初期ベクトル(IV)の生成方法を一部の実装に合わせる」の意味はわからんw

  ipsec ike pre-shared-key 2 text VPN2_KEY
GATEWAY = 2 に対する事前共有鍵の登録。
ここではテキスト形式の鍵で「VPN2_KEY」にしてある。(認証用のパスワードではない)
  ipsec ike remote address 2 piyo.xxx.netvolante.jp
GATEWAY = 2 に対する相手側ホストを設定。IPアドレスでも可。
今回は拠点3からのみ接続を許可するので、拠点3のネットボランチホスト名を指定。

接続元を限定しない場合はanyにしておけば良し。

  ipsec ike remote name 2 pc
GATEWAY = 2 に対する相手側の名前を設定。
ipsec ike remote address を any にした場合は必要になる模様。
  ipsec ike xauth request 2 on 1
GATEWAY = 2 に対するXAUTH認証の設定。
今回はユーザーグループ1を使用する。(63-64行目参照)
  ipsec ike mode-cfg address 2 1
GATEWAY = 2 に対する内部IPアドレスプールの設定。
今回はアドレスプール1を使用する。(58行目参照)
 tunnel enable 2
トンネル2を有効にする。
たまに設定し忘れてハマることがあるので注意w
tunnel select 3
 tunnel name VPN3
  ipsec ike pre-shared-key 3 text VPN3_KEY
 tunnel enable 3
2つ目のリモートアクセス用トンネル設定。
23行目により tunnel 2 の設定を引き継いでいるので、変更点のみ設定。

  • 名前 = VPN3
  • 事前認証キー = VPN3_KEY

なお、remote name は pc3 になる。
(ベースになる tunnel 2 の remote name + トンネルインターフェイス番号)

tunnel select 4
 tunnel name VPN4
  ipsec ike pre-shared-key 4 text VPN4_KEY
 tunnel enable 4
3つ目のリーモトアクセス用 tunnel 4 も同様に

  • 名前 = VPN4
  • 事前認証キー = VPN4_KEY

とする。
remote name は pc4 となる。

ip filter 100 pass * 192.168.1.1 udp * 500
ip filter 101 pass * 192.168.1.1 esp * *
ip filter 102 pass * 192.168.1.1 udp * 4500
6行目に対応するフィルタの設定。
192.168.1.1(ルーター)宛ての UDP 500 、ESP 、UDP 4500 を通過できるようにする。
nat descriptor type 1000 masquerade
nat descriptor masquerade static 1000 1 192.168.1.1 udp 500
nat descriptor masquerade static 1000 2 192.168.1.1 esp
nat descriptor masquerade static 1000 3 192.168.1.1 udp 4500
8行目に対応する静的IPマスカレードの設定。
UDP 500 、ESP 、UDP 4500 を 192.168.1.1(ルーター)に向けて開放する。

NATトラバーサルを使用する場合は ESP のかわりに UDP 4500 が必要になる。
今回は拠点間でのIPsecにNATトラバーサルは使われていないので、フィルタ・静的IPマスカレード共に両方利用できるようにした。

ipsec auto refresh on
SAの自動更新を有効に。
ipsec ike mode-cfg address pool 1 192.168.1.100-192.168.1.102/32
35行目に対応する内部IPアドレスプールの設定。
192.168.1.100 ~ 102 までの3つを予約。
auth user 1 USER1 PASSWORD1
auth user 2 USER2 PASSWORD2
auth user 3 USER3 PASSWORD3
XAUTH認証で使用するユーザーの登録。
今回は3ユーザー分。
auth user group 1 1-3
XAUTH認証で使用するグループの設定。
上記の3ユーザーをグループ1に登録。
34行目に対応する。
auth user group attribute 1 xauth=on
上記のグループ1をIPsecのXAUTH認証で使用できるように属性設定。

備考

と、私の場合はこんな感じの設定で現在動作しています。
show config で見ると、40,45行目が57行目の後ろに表示されますが・・・(^ ^;

ネットワークに関しては素人なので間違いがあったらゴメンなさい。

YAMAHAルーターでのIPsecについては以下を参照のこと。

セキュリティ・ゲートウェイ機能とIPsec
YAMAHA RTシリーズのFAQ / IPsec&IKE&VPN

長くなったのでクライアント側(Shrew Soft VPN Client)の設定は次回に。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク