Top > LinuxでL2透過Firewallを構築(L2ブリッジ)

キーワード: Linux bridge ブリッジ br0 ifcfg-br0 ifcfg-eth0 透過 L2 レイヤ2 トランスペアレント transparent


やりたいこと

既存のネットワーク設計に手を加えずかつ, 最短の停止時間で, LinuxのL2透過型(レイヤ2トランスペアレント)Firewallを追加したい.

構成概要

         (Internet)
             |
             |          External:11.22.33.2/29
           [L3SW]
             |          Internal:12.34.56.1/28
             |
             |          eth0: bridge
     [*Linux BRIDGE*]   br0 : 12.34.56.5
             |          eth1: bridge
             |
           [L2SW]
             |
    -----------------------------------
    |               |                 |
[Server1]         [Server2]         [Server3]
eth0:12.34.56.2   eth0:12.34.56.3   eth0:12.34.56.4
gw  :12.35.56.1   gw  :12.35.56.1   gw  :12.35.56.1

既存のネットワークに Linux BRIDGE を追加したい.
LinuxBRIDGEは, あたかもL2SWの様に動作し, 通過するパケットのフィルタリングをiptablesでおこなう.

BRIDGE追加に際して, システムの停止時間は LANケーブル2本を差し替えるほんの数秒間.
タイミング良く適切にARPを更新すれば, 配下のサーバが通信中のセッションを切断することなく, 無停止でメンテナンスが可能である.

ネットワークの設定

/etc/sysconfig/network

ここの設定は普通のサーバと同じ.

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=L2BR.princo.org
GATEWAY=12.34.56.1

/etc/sysctl.conf

パケットを中継できるように設定する.

net.ipv4.ip_forward = 1

/etc/sysconfig/iptables

Firewallとして動作させるためにポリシを設定する.
ここでは割愛させていただく.

インターフェイスの設定

eth0

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=01:02:03:04:05:0A
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0

IPアドレスは設定しない。

eth1

/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
HWADDR=01:02:03:04:05:0B
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0

IPアドレスは設定しない。

br0

/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
DELAY=0
STP=off
IPADDR=12.34.56.5
NETMASK=255.255.255.240

設定確認

brctlコマンドで確認・変更が可能.

# brctl
commands:
        addbr           <bridge>                add bridge
        delbr           <bridge>                delete bridge
        addif           <bridge> <device>       add interface to bridge
        delif           <bridge> <device>       delete interface from bridge
        setageing       <bridge> <time>         set ageing time
        setbridgeprio   <bridge> <prio>         set bridge priority
        setfd           <bridge> <time>         set bridge forward delay
        sethello        <bridge> <time>         set hello time
        setmaxage       <bridge> <time>         set max message age
        setpathcost     <bridge> <port> <cost>  set path cost
        setportprio     <bridge> <port> <prio>  set port priority
        show                                    show a list of bridges
        showmacs        <bridge>                show a list of mac addrs
        showstp         <bridge>                show bridge stp info
        stp             <bridge> <state>        turn stp on/off

コメント

最新の20件を表示しています。 コメントページを参照

お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White


新規 編集 添付 名前変更 バックアップ   ホーム バックアップ リンク元   最終更新のRSS