NWデザインNWセキュリティ

【図解】VLAN間ルーティングを禁止する設計, 設定 〜ACL,SVI,VRFでの制御の構成例〜

VLAN間ルーティングの問題

L2 スイッチにはルーティング機能が無いため、VLAN 間ルーティングは単体では不可であり、ルータを経由することで可能となります。(ルータ・オン・ア・スティック)

一方、L3 スイッチでは SVI (VLAN インタフェース) に IP アドレスを付与した時点で、デフォルトで VLAN 間ルーティングが可能な状態となる実装が多いです。それを止めたい場合にはそれなりの設計、設定が必要です。

VLAN 間ルーティングをさせない方法はいくつかあります。

各 VLAN インタフェースに ACL を設定する

これは一番オーソドックスなやり方です。各 VLAN の SVI (VLAN インタフェース) の in 方向に、各 VLAN への IP通信を禁止する ACL (アクセスリスト) を設定するのです。

クライアントへの戻りの通信については outbound 方向なので inbound 方向の ACL は適用されません。

逆に、次の図にある通り、何者かがクライアントへ行きの通信を送って来た場合、ACL には掛からず受信してしまいますが、今度は戻りの通信が inbound 方向に引っ掛かりますので、TCP の 3way handshake は成功せず、TCP コネクションは確立できません。

UDP についても、受信はしてしまいますが、もし DNS のような返信を伴うプロトコルだったとしても返信パケットは ACL で止められます。

この ACL を、よりシンプルにするには、IP 設計にも関わります。

例えばクライアントのセグメント (/24) を 10.1.0.0/16 内のレンジから選定するようにしておけば、ACL が以下のようにシンプルになります。中には例外的に通信させたいものがあるかもしれませんが、そういうときは deny の前に個別の permit ルールを書けばよいのです。

特定 VLAN のみを保護する

全 VLAN インタフェースに ACL を設定するのは面倒くさいよ!』という方は、もし特定の VLAN だけ孤立させたいなら、その特定 VLAN の in と out 両方に ACL を欠けるのも良いでしょう。

ただ、もしその L3 スイッチに FW が直結しているなら、L3 スイッチには敢えて VLAN インタフェースを作らず (つまり L3 スイッチの該当 VLAN に IP を付与せず)、その VLAN のクライアントのデフォルトゲートウェイを FW にしてしまう、というのも有効な手です。

FW では明示した通信以外は暗黙の拒否で通信断されるので、設定ミスが少ないです。

VRF で保護する

VLAN をグルーピングして、グループ単位でアクセス制御したい、という場合は VRF によるネットワークの分割が有効かもしれません。この構成は、アウトオブバンド管理ネットワークの構成にも効果的です。

アウトオブバンド管理ネットワークについてはこちらを参照下さい。

【図解】Windows/Linuxのマルチホーム(アウトオブバンド管理NW)構成~DGW/ルーティングやAD環境の注意点〜
管理ネットワークとマルチホーム 管理ネットワークとは一般に、主に 等の管理者のみ...

コメント

  1. 遠藤 より:

    いつも参考にさせて頂いてます、ありがとうございます。

    「特定vlanを保護」の画像のfwとl3swの接続にvlan10以外にvlan130用の接続を別にもうけるのでしょうか?

    お手すきのときにでも教えて頂ければ幸いです。

  2. nesuke より:

    遠藤さん、こんにちは。

    はい、trunk で vlan10 と一緒に 130 も通す構成です。

    • 遠藤 より:

      nesuke様
      ご回答ありがとうございます!
      自分の理解が追いつかず初歩的な質問をしてしまいました。

      この構成ではl3sw-fw間のvlan10にはl3sw側でsviを設定し、ルーテッドポートにしなければトランクでvlan130をl2で透過できると言う理解で良かったでしょうか?

      • nesuke より:

        はい、その理解であってます。(細かい話ですが、ルーテッドポートというと L3SW の物理ポートに IP を付与することなので言葉のチョイスとしては誤りですね。ここでのポイントは vlan 130 の SVI に IP を付与しない、という話です。)
        図の中に文言を追加してみました。
        これなら初見でも分かりますかね?

        • 遠藤 より:

          図まで直して頂いて大変感謝です!
          まだまだ勉強の身でご回答頂けて嬉しいです。
          ルーテッドポートもご指摘ありがとうございます。
          ルーテッドと言ったのはルーテッドポートにしてしまうとトランクの設定が出来るのか理解出来ていなかったものですから、変な事言ってすみませんでした。

  3. santa より:

    いつもサイトを拝見させていただいています。
    ページ内で解説されている「L3にFWが直結している構成でのVLANの保護」について、
    L3-FW間を結ぶポートに設定しているVLAN10にはIPアドレスを振りますか?
    また「特定のVLANを保護」とありますが、図のvlan110と120もそれぞれ同様に保護して、異なる部門間での通信を拒否することも可能という認識で合っていますか?
    タグポートについての知識が浅いため、的はずれなことを言っていたらすみません…。

    • nesuke より:

      santaさん、コメントありがとうございます。
      > ページ内で解説されている「L3にFWが直結している構成でのVLANの保護」について、L3-FW間を結ぶポートに設定しているVLAN10にはIPアドレスを振りますか?
      はい、L3とFWの両方でIPアドレスを振り、ルーティングさせます。
      > また「特定のVLANを保護」とありますが、図のvlan110と120もそれぞれ同様に保護して、異なる部門間での通信を拒否することも可能という認識で合っていますか?
      はい、今回は特定のVLANを130としていますが、全てのVLANを保護するなら、L3スイッチにはIPを振らず (つまりL2スイッチとして動作させ)、全てFWでルーティングさせることになります。

  4. 染谷 より:

    いつもお世話になっております。
    「VRFで保護する」でご説明いただいた箇所について少しご質問させてください。。

    図解いただいたケースではVRF-1(Vlan110,Vlan120)とVRF-2(Vlan210,Vlan220)間での通信をブロックしている認識です。(同じVRF内に所属するvlan同士は互いに通信できる認識でおります。)

    質問1
    L3SWとFWの間をそれぞれVRF-1はvlan10、VRF-2はvlan20で接続しているかと思いますが、L3SW側のvlan10と20にはIPアドレスは付与していますか?

    質問2
    図解のケースではL3SWとFWの間の物理結線はvlan10,20でそれぞれ独立しているかと思いますが、仮にL3SW—FW間を1本の線でtrunkで接続した場合、VRF-1とVRF-2間で通信できてしまいますでしょうか。
    (switchport trunk allowed vlan 10,20のイメージです)

    • nesuke より:

      染谷さん、コメントありがとうございます。
      質問の前提に少し認識に齟齬がある気がしました。

      > 図解いただいたケースではVRF-1(Vlan110,Vlan120)とVRF-2(Vlan210,Vlan220)間での通信をブロックしている認識です。(同じVRF内に所属するvlan同士は互いに通信できる認識でおります。)

      VRF-1 と VRF-2 間で通信をブロックしているのは FW ですので、FW で許可していれば通信可能です。VRF は通信をブロックするものではなく、Connectedとして認識されないように分離しているだけです。ACL のようにすぐ拒否されるのではありません。なのでルーティングテーブルに従って VRF-1 から VRF-2 に、あるいは逆に到達することは可能です。

      > 質問1
      > L3SWとFWの間をそれぞれVRF-1はvlan10、VRF-2はvlan20で接続しているかと思いますが、L3SW側のvlan10> と20にはIPアドレスは付与していますか?

      はい、付与しています。

      > 質問2
      図解のケースではL3SWとFWの間の物理結線はvlan10,20でそれぞれ独立しているかと思いますが、仮にL3SW—FW間を1本の線でtrunkで接続した場合、VRF-1とVRF-2間で通信できてしまいますでしょうか。
      (switchport trunk allowed vlan 10,20のイメージです)

      これは前述のとおり、FW で許可していれば通信できますしFWで許可されていないなら通信はできません。
      ここは access port であろうが trunk port であろうが関係ありません。

      • 染谷 より:

        nesukeさん
        お忙しい中ご回答ありがとうございます。

        >VRF は通信をブロックするものではなく、Connectedとして認識されないように分離しているだけです
        これについてですが、Connectedとして認識されないように分離する=トラフィックを分離するという理解は間違っていますでしょうか。
        VRFは独立したルーティングテーブルを持つことができるという機能から、ルーティングの設計次第ではFWではなくL3SWのみでVRF間のトラフィックを分離することができるのではと考えておりました。

        例)各VRFのルーティングテーブル
        (VRF-1)
         ip route vrf VRF-1 0.0.0.0 0.0.0.0 ネクストホップ(vlan10のIP)

        (VRF-2)
         ip route vrf VRF-2 0.0.0.0 0.0.0.0 ネクストホップ(vlan20のIP)

         ※L3SWのグローバルルーティングテーブルは一切参照しない

        • nesuke より:

          染谷さん

          > これについてですが、Connectedとして認識されないように分離する=トラフィックを分離するという理解は間違っていますでしょうか。ルーティングの設計次第ではFWではなくL3SWのみでVRF間のトラフィックを分離することができるのではと考えておりました。

          本記事のシナリオとは違いますが、そういう使い方もできます。が、前提となるシナリオ・要件はどのようなものなのでしょうか?頂いた例だけを見ると、特殊なシナリオのような気がして、そもそもVRFを使わないほうが良いケースの気がしました。

タイトルとURLをコピーしました