2015年4月7日

RTX1100をVPNサーバとして使う

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

YAMAHAのVPNルータ「RTX1100」を秋葉原にて中古で入手したので、これをルータとしてではなくVPNサーバ機能のみで使用するconfigを考えて使ってみます。

#RTX1100は全ポート100BASEなので、フレッツ光ハイスピードやネクスト契約だとボトルネックになってしまうため。
#これが10年前なら勿体ない、贅沢すぎる使い方だ。

イメージとしては、NTTのHGWにルータとDHCPサーバを任せ、RTX1100はVPNで入りたいLANの中に入れてあげる感じ。
まず、HGWに来たアクセスをRTX1100に渡してあげる必要があるので、静的IPマスカレード設定で
  • ESP
  • UDP 500
  • UDP 4500
をRTX1100に渡します。

今回はRTX1100を 192.168.1.5 とします。

我が家の場合、PPPoEマルチセッションで2セッション目として固定IPを貰えるISPに接続しているため、この固定IPで外部からアクセスします。
固定IPが貰えないISPと契約している場合、DDNSサービスやYAMAHAのネットボランチDNSを使う必要があります。

次にRTX1100の設定。
ポートはLAN3を使用、2台同時に接続できるようにトンネルは2つ、方式はL2TP/IPsecに。
VPN接続してきたクライアントに割り当てるIPアドレスは192.168.1.140〜141を予約しておきます。
[username]や[password]、[shared_key]は適宜変更してください。
administrator password [password]
console character ascii
ip route default gateway 192.168.1.1
ip lan3 address 192.168.1.5/24
ip lan3 proxyarp on
pp disable all
pp select anonymous
 pp bind tunnel1-tunnel2
 pp auth request mschap-v2
 pp auth username [username] [password]
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ppp ccp type mppe-any
 ppp ipv6cp use off
 ip pp remote address pool 192.168.1.140-192.168.1.141
 ip pp mtu 1258
 ip pp tcp mss limit auto
 pp enable anonymous
no tunnel enable all
tunnel select 1
 tunnel encapsulation l2tp
 ipsec tunnel 101
  ipsec sa policy 101 1 esp aes-cbc sha-hmac
  ipsec ike keepalive use 1 off
  ipsec ike local address 1 192.168.1.5
  ipsec ike nat-traversal 1 on
  ipsec ike pre-shared-key 1 text [shared_key]
  ipsec ike remote address 1 any
 l2tp tunnel disconnect time off
 l2tp keepalive use on 10 3
 l2tp keepalive log on
 l2tp syslog on
 ip tunnel tcp mss limit auto
 tunnel enable 1
tunnel select 2
 tunnel encapsulation l2tp
 ipsec tunnel 102
  ipsec sa policy 102 2 esp aes-cbc sha-hmac
  ipsec ike keepalive use 2 off
  ipsec ike local address 2 192.168.1.5
  ipsec ike nat-traversal 2 on
  ipsec ike pre-shared-key 2 text [shared_key]
  ipsec ike remote address 2 any
 l2tp tunnel disconnect time off
 l2tp keepalive use on 10 3
 l2tp keepalive log on
 l2tp syslog on
 ip tunnel tcp mss limit auto
 tunnel enable 2
ipsec auto refresh on
ipsec transport 1 101 udp 1701
ipsec transport 2 102 udp 1701
dns server 192.168.1.1
dns notice order msext server
l2tp service on
save
当初、iPhoneからVPN接続した際にHGWからDNSが通知されず、URLでアクセス出来ない問題が生じていましたが、最後から3行目の"dns notice order msext server"で無事解決。
"dns server 192.168.1.1" とセットで入れてあげないと、VPN接続してきたクライアントにDNSサーバが通知されない模様。
普通はRTX1100をルータとして使用するので、RTX1100がDNSキャッシュサーバとして動作するように設定するので気付くのに時間が掛かりました...
コマンドリファレンスからは、dns serverで設定したものが既定で通知されるように読み取ったんだけど...

今まではCentOSにOpenswanでL2TP/IPsec VPNを実現していたけど、RTX1100の方が接続確立までの時間も早くて通信も安定している気がする。

1 件のコメント:

  1. 社内で実験用の環境を作成しているのですが非常に助かりました。
    特に以下の設定が肝なんですね。
    ipsec transport 1 101 udp 1701
    ipsec transport 2 102 udp 1701

    返信削除

記事へのコメントはいつも確認している訳ではないので、お返事が遅れる場合があります。
ご質問やご意見は twitter@9SQ へお送り頂けると早くお返事できると思います。