Last Updated on 2022年10月1日 by かんりにん
わりと久々にRTX1200でIPsec VPNを設定したのでメモしました。
今回はPPPoEするルーターとVPNのプロファイルを設定するルーターが別のマシン、
対向側がルーターではなくVPNクライアントソフトを入れたノートPCなので
設定例集と比べて変更箇所が複数あるため、個人的な備忘録の要素が強いですw
参考
お世話になっております!
- RTシリーズ コマンドリファレンス(下記はhtmlですが、PDF版もあります)
http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/index.html
- YMS-VPN7を使ったVPNトンネリング
http://jp.yamaha.com/products/network/solution/vpn/vpn_client/software/
- RFC 5737
http://tools.ietf.org/html/rfc5737
1)なんとなくポイント
- PPPoE接続をするルーターとVPN設定ルーターが別になる。
→なのでVPNルーター側のデフォルトGWにはPPPoEルーターを指定。 - PPPoEはunnumbered接続
今回設定するルーターには全然関係ないけど、一応備忘録として。 - ISPから割り当てを受けるグローバルIPは/28、16個、うち14個使用可
- PPPoE側はunnumberedなので割り当てIPは設定されず
GWルーターのLAN1側に割り当てグローバルIPのセグメントを持つ。 - 拠点間VPNではなく、VPNクライアントソフトを使ってPCから直接アクセス
→イメージとしては、外出先からVPNを使用する。
客先とか、くつろぎモードでル○アールとかコ○ダ珈琲店とかで作業をするなどw
→なのでクライアント側の接続IPが変動するので、許可IPを設定しない
→接続元IPをanyにする代わりに、ネームベースで接続元を識別する。
→クライアントソフトにはYAMAHA YMS-VPN7を使用
→クライアントがVPN接続した後で使う内部IPの定義が必要
→VPNクライアントは2台、トンネル数も2つなので内部IPも2セグメント用意する。
2)環境
※本ドキュメント内のIPアドレスはグローバル、プライベートともに架空のアドレスに置換しています。
グローバルIPは、RFC5737に沿って"テストネットワーク"で定義されているIPレンジ"203.0.113.0/24"を
255.255.240.0のサブネットで使用しました。
1.セグメント
- グローバルセグメント
203.0.113.16/28(アドレスレンジは203.0.113.17~30)- ネットワークアドレス
203.0.113.16 - ブロードキャストアドレス
203.0.113.31
- ネットワークアドレス
- LANセグメント
192.168.64.0/24 - VPNクライアント用内部アドレスレンジ
192.168.129.0/24
192.168.130.0/24
2.各ルーターインターフェースへの割り当てIP、およびホスト
- ゲートウェイルーター
- LAN1
PPPoE/unnumbered - LAN2
203.0.113.17/28
- LAN1
- VPNルーター
- LAN1
未使用(DMZとしてVLANで使う予定なので、今回は使わない) - LAN2
203.0.113.30/28(実IP)
203.0.113.18/28(仮想IP/セカンダリーIP) - LAN3
192.168.64.254
- LAN1
- 汎用サーバー
192.168.64.201- ※汎用サーバーは主に以下のサービスを行う。
telnet、ssh接続(実際にはどちらか片方)- syslog
- SNMPサーバー(ルーターのMIB取得用)
- tftpサーバー(コンフィグのバックアップ用)
- ※汎用サーバーは主に以下のサービスを行う。
ショボいNW図ですが、せっかくなので載せてみました。Visioの使い方はヘタです…
3)各種設定
フィルタリングの設定一覧
ここは最低限の設定しかしていないので、環境にあわせて
都度調整する必要があります。
- IN
番号 ルール プロトコル 送信元アドレス ポート番号 受信先アドレス ポート番号 21 reject 192.168.64.0/24 * 31 pass ICMP * 192.168.64.0/24 41 pass AH,ESP * * 42 pass UDP * 500 * * 43 pass UDP * * * 500 50 reject * * - OUT
番号 ルール プロトコル 送信元アドレス ポート番号 受信先アドレス ポート番号 11 reject UDP,TCP * 135 * * 12 reject UDP,TCP * * * 135 13 reject UDP,TCP * netbios_ns-netbios_ssn * * 14 reject UDP,TCP * * * netbios_ns-netbios_ssn 15 reject UDP,TCP * 445 * * 16 reject UDP,TCP * * * 445 60 pass * *
4)個別設定
※大抵の場合はNATトラバーサルが必要になることが多いですが、今回は使わないので省略しています。
- システム設定
login password <PASSWORD> administrator password <ADMINPASSWORD> security class 1 off off timezone +09:00
- IP、経路情報の設定
ip routing on ip route default gateway 203.0.113.17 ←GWルーターのアドレスをデフォルトゲートウェイに指定 ip route 192.168.24.0/24 gateway tunnel 1 ←VPNクライアント側で設定するIPセグメントその1 ip route 192.168.25.0/24 gateway tunnel 2 ←VPNクライアント側で設定するIPセグメントその2 ip filter source-route on ip filter directed-broadcast on
- LAN2のインターフェース設定
ip lan2 address 203.0.113.30/28 ←LAN2にグローバルIPを設定。RTX107eとおなじセグメントのIP ip lan2 secondary address 203.0.113.18/28 ←グローバルIPのセカンダリを設定(VPN用だけど、なくても可) ip lan2 secure filter in 21 31 41 42 43 50 ←フィルタ設定(IN) ip lan2 secure filter out 11 12 13 14 15 16 60 ←フィルタ設定(OUT) ip lan2 intrusion detection out on ip lan2 intrusion detection out winny on reject=on ip lan2 intrusion detection out share on reject=on ip lan2 intrusion detection out default off ip lan2 nat descriptor 1 ←NATディスクリプタの割り当て
- LAN3のインターフェース設定
ip lan3 address 192.168.64.254/24 ←L2回線側ゲートウェイ、LAN3 ip lan3 intrusion detection out on ip lan3 intrusion detection out winny on reject=on ip lan3 intrusion detection out share on reject=on ip lan3 intrusion detection out default off
- PP configuration
pp disable all
このルーターではプロバイダ接続を行わないのでdisable allのままで。
- TUNNEL configuration
no tunnel enable all
トンネルインターフェースの無効化
ここはとんねるインターフェースごとにenableにする。
"tunnel disable all"でもいいような気が…
- VPN/トンネル設定1
tunnel select 1 ←VPN用トンネル設定。 description tunnel vpn_client_A ipsec tunnel 1 ipsec sa policy 1 1 esp aes-cbc sha-hmac ipsec ike always-on 1 off ipsec ike encryption 1 aes-cbc ipsec ike group 1 modp768 ipsec ike hash 1 sha ipsec ike keepalive log 1 on ipsec ike keepalive use 1 auto heartbeat ipsec ike local address 1 192.168.64.254 ←LAN3側IPアドレス(LAN側のゲートウェイ) ipsec ike pfs 1 off ipsec ike pre-shared-key 1 text hogehoge12345 ←事前共有キー ipsec ike remote address 1 any ←接続元のIPを非固定に。 ipsec ike remote name 1 client_A key-id ←IPでなくクライアント名で識別するのでマスト。 ipsec auto refresh 1 on ip tunnel tcp mss limit auto tunnel enable 1
- VPN/トンネル設定2
tunnel select 2 ←VPN用トンネル設定。 description tunnel vpn_client_B ipsec tunnel 2 ipsec sa policy 2 2 esp aes-cbc sha-hmac ipsec ike always-on 2 off ipsec ike encryption 2 aes-cbc ipsec ike group 2 modp768 ipsec ike hash 2 sha ipsec ike keepalive log 2 on ipsec ike keepalive use 2 auto heartbeat ipsec ike local address 2 192.168.64.254 ←LAN3側IPアドレス(LAN側のゲートウェイ) ipsec ike pfs 2 off ipsec ike pre-shared-key 2 text foobar12345 ←事前共有キー ipsec ike remote address 2 any ←接続元のIPを非固定に。 ipsec ike remote name 2 client_B key-id ←IPでなくクライアント名で識別するのでマスト。 ipsec auto refresh 2 on ip tunnel tcp mss limit auto tunnel enable 2
- パケットフィルタリング設定
最低限の設定しかしていないので、都度調整する必要あり(備忘録的コメントw)ip filter 11 reject * * udp,tcp 135 * ip filter 12 reject * * udp,tcp * 135 ip filter 13 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 14 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 15 reject * * udp,tcp 445 * ip filter 16 reject * * udp,tcp * 445 ip filter 21 reject 192.168.64.0/24 * ip filter 31 pass * 192.168.64.0/24 icmp ip filter 41 pass * * ah,esp ←VPN設定にはフィルタ番号41~43がマスト。 ip filter 42 pass * * udp 500 * ←IKE Phase 2にて、UDP500番を使ってESPを通す、とのこと。 ip filter 43 pass * * udp * 500 ←これは番号42と対になります。 ip filter 50 reject * * ip filter 60 pass * *
- こちらはダイナミックフィルタ設定、ただしエントリだけで実機では有効にはしていない
ip filter dynamic 101 * * ftp ip filter dynamic 102 * * www ip filter dynamic 103 * * smtp ip filter dynamic 104 * * pop3 ip filter dynamic 105 * * tcp ip filter dynamic 106 * * udp ip filter dynamic 107 * * udp
- こちらはダイナミックフィルタ設定、ただしエントリだけで実機では有効にはしていない
- NATディスクリプタの設定
nat descriptor log on ←LAN2に定義するNAT設定 nat descriptor type 1 masquerade nat descriptor address outer 1 203.0.113.30 nat descriptor address inner 1 192.168.64.0-192.168.64.255 nat descriptor masquerade static 1 1 192.168.64.254 udp 500 nat descriptor masquerade static 1 2 192.168.64.254 esp
- IPSEC IKE の鍵交換開始の有無
"鍵交換開始"に設定。ipsec auto refresh on
- SYSLOG configuration
syslogサーバーの指定。syslog host 192.168.64.201 syslog facility local*
- TFTP サーバーの指定
tftp host 192.168.64.201
- TELNETD configuration
汎用サーバーからのみtelnetを許可。そのうちssh接続に切り替える予定。telnetd host 192.168.64.201
- DNS configuration
プロバイダのIPを指定。dns server 198.51.100.*** dns private address spoof on
- SNMP configuration
snmp host 192.168.64.201 public
- Schedule configuration
毎朝04:30にntpdateを実行、問い合わせ先はmfeed。schedule at 1 */* 04:30:00 * ntpdate ntp.jst.mfeed.ad.jp syslog
- SSHD configuration
sshd service on sshd host 192.168.64.201 sshd host key generate 22173 Fg/q6erA5B5LjrIivMoOKrOqPm1t***************************** ****************************************************************************** ******************************************************************************
- Statistics configuration
statistics cpu on statistics memory on statistics traffic on statistics flow on statistics route on statistics nat on statistics filter on statistics qos on
と、いった感じです。
しかしながら、事前共有キーの設定をしていて、おかしな挙動に気づいてしまった…
おそらく仕様だと思いますが、詳細はまとめて次回にUPまとめます。
またクライアント側の設定についてもまとめましたので、こちらをご参考ください。