YAMAHA RTX1210 でちっちゃいネットワーク作る機会があったのでメモ。
論理構成は次の図の通り。
各セグメントの用途とセグメント間の接続要件は以下の通り。
- 外部接続セグメント 10.0.0.0/24
- インターネットに出て行くための上流セグメント。Untrustゾーン
- サーバセグメント 10.10.0.0/24
- DMZっぽいサーバ置き場。
- アクセスセグメントからは全てのサーバと通信可能。
- インターネット側(外部接続セグメント側)からの通信は Firewall で制限をかける。
- アクセスセグメント 192.168.0.0/24
- いわゆる内部セグメント。Trustゾーン
- 外部接続セグメント・サーバセグメントには NAPT を介して制限無しで接続可能。
- ゲストセグメントへの通信は不可。
- ゲストセグメント 192.168.11.0/24
- 訪問者にインターネット環境を提供する用&スマートフォンなどの私物接続用。Untrustゾーン
- インターネットにだけ繋げればいい。
- 外部接続セグメント(インターネット)には NAPT を介して制限無しで通信可能。
- アクセスセグメントへの通信は不可。
- サーバセグメントへの通信はインターネット側から接続する場合と同制限でなくてはならない。
物理構成は次の通り、 RTX1210 を中心として 4 セグメントが繋がる形になります。
外部接続セグメントとサーバセグメント間は上流の既設スイッチで接続済み、 Firewall 済み
なので、アクセスセグメントとゲストセグメント周りの通信制限が設定のキモになります。
まず、インタフェース周りの設定から。LAN2 と LAN3 には NAPT が入ります。
ゲストセグメントについては LAN1 に VLAN 11 を作り、そこに割り当てます。
# LAN1 アクセスセグメント
ip lan1 address 192.168.0.1/24
# LAN1 ゲストセグメント
switch control use lan1 on terminal=on
vlan lan1/1 802.1q vid=11 name=VLAN11
ip lan1/1 address 192.168.11.1/24
# LAN2 外部接続セグメント
ip lan2 address 10.0.0.2/24
ip lan2 nat descriptor 1
# LAN3 サーバセグメント
ip lan3 address 10.10.0.1/24
ip lan3 nat descriptor 2
# デフォルトゲートウェイ
ip route default gateway 10.0.0.1
# NAPT 設定。 LAN2 と LAN3 に出て行くパケットを NAPT する。
nat descriptor type 1 masquerade
nat descriptor address outer 1 10.0.0.2
nat descriptor type 2 masquerade
nat descriptor address outer 2 10.10.0.1
nat descriptor address inner 2 auto
nat descriptor masquerade incoming 2 reject
パケットフィルタではアクセスセグメント・ゲストセグメント間の通信制限と、ゲストセグメン
トから RTX1210 への接続制限を入れます。
# LAN1 アクセスセグメントフィルタ
# セグメント内通信を pass し、それ以外の 192.168.0.0/16 のパケットを reject すること
# でゲストセグメントからの通信を弾く設定。
ip lan1 secure filter in 103030 101102 101199
ip lan1 secure filter out 103030 101105 101199
# LAN1 ゲストセグメントフィルタ
# セグメント内通信を pass し、それ以外の 192.168.0.0/16 のパケットを reject すること
# でアクセスセグメントからの通信を弾く設定。RTX1210(192.168.11.1) へのSSH, Telnet, HTTP は弾く。
ip lan1/1 secure filter in 103110 103111 101102 101199
ip lan1/1 secure filter out 103111 101105 101199
# フィルタ
ip filter 101102 reject-nolog * 192.168.0.0/16 * * *
ip filter 101105 reject-nolog 192.168.0.0/16 * * * *
ip filter 101199 pass * * * * *
ip filter 103030 pass 192.168.0.0/24 192.168.0.0/24 * * *
ip filter 103110 reject-nolog * 192.168.11.1 tcp * 22,telnet,www
ip filter 103111 pass 192.168.11.0/24 192.168.11.0/24 * * *
以上の設定で、アクセスセグメントやゲストセグメントから外部接続セグメント・サーバセグメ
ントへの NAPT 通信、ゲストセグメントとアクセスセグメント間の通信遮断は実現できました。
ただ、ゲストセグメントからサーバセグメントに直接通信できてしまうため、パケット転送フィルター
を設定することで、ゲストセグメントからサーバセグメントに向かう通信は、外部接続セグメン
トに転送するようにしてやります。
これにより、ゲストセグメントからサーバセグメントに向かう通信は一旦外部接続セグメントを
介するので、既設 L3 スイッチでの Firewall が適用されることになります。
(RTX 1210 でフィルタしようとすると、設定箇所が散らばるので管理負荷が上がります)
# パケット転送フィルターに与える条件(ゲストセグメントからサーバセグメントに向かう通信)
ip filter 200000 pass 192.168.11.0/24 10.10.0.0/24 * * *
# パケット転送フィルター
# ゲストセグメントからサーバセグメントへの通信は外部接続セグメントに転送する
ip forward filter 11 1 gateway 10.0.0.1 filter 200000
# ゲストセグメントにパケット転送フィルターを設定する
ip lan1/1 forward filter 11
以上で、ゲストセグメントからサーバセグメントに向かう通信は外部接続セグメントを介する
ようになるので、通常のインターネット側から通信する場合と同様、フィルタがかかることに
なります。
(フィルタ型ルーティングでもできそうだけど未検証)
めでたしめでたし。