ブリッジとは
ブリッジ化のメリット
- Linux機がHUBになる。(いったい何がうれしいのか)
- お勉強用
今、考え中です。
ブリッジ化の準備
- Ubuntu とか、ネットワーク環境が一通り揃っていること(えっ)
- ネットワークアダプタががふたつ以上必要(Linuxから認識されるもの)
(ちなみに、ここでは内蔵+2つの外付けで、3つのネットワークアダプタを使っています)
NICを挿す。
OSがNICを認識しているか確認。
ifconfig -a
いい加減にifconfig は使うなよ。
ip addr show
(なぜか eth1 ではなく、eth2、eth3となった)
ブリッジ化
ブリッジユーティリティをインストール
sudo apt install bridge-utils
ここで、
man brctl
とか
brctl show
とかして、使い方を確認しておいてください。
###ブリッジ作成テストのシェルスクリプトを作成と実行
vi bridge-test.sh
#!/bin/bash
# bridge-test.sh
# bridge-utils テストスクリプト
## 変数定義(OSなどの環境に合わせて修正してください)
# brctlコマンド(bridge-utils)
BRCTL=/sbin/brctl
# ipコマンド (iproute2)
IP=/sbin/ip
# ブリッジの名前
BRIDGE=br0
# ブリッジの IPアドレス
IP_ADDRESS=192.168.1.60/24
# ブリッジにするネットワークインターフェースたち
NICS="eth0 eth2 eth3"
## 本処理
# ブリッジインターフェースを追加
$BRCTL addbr $BRIDGE
# スパニングツリープロトコル(STP)は使わない
$BRCTL stp $BRIDGE off
# ブリッジにIPアドレスを割り当てる
$IP addr add $IP_ADDRESS dev $BRIDGE
for NIC in $NICS
do
# IPアドレス等の設定を消す
$IP addr flush dev $NIC
# ブリッジインターフェースに物理NICをバインドする
$BRCTL addif $BRIDGE $NIC
# NICをプロミスキャスモードで起動
$IP link set dev $NIC promisc on
$IP link set dev $NIC up
done
# ブリッジを起動する
$IP link set dev $BRIDGE up
# EOF
スクリプトに実行権をつける
chmod +x bridge-test.sh
実行時にはroot権限が必要
sudo ./bridge-test.sh
※このスクリプトは必ず実機の端末上で実行すること(ネットワーク越しでは実行しないこと)
- 外部から br0 にping を飛ばして疎通確認
- eth2またはeth3にLANケーブルを挿して疎通確認
起動時にブリッジを有効にする設定
sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 0.0.0.0
auto eth2
iface eth2 inet static
address 0.0.0.0
auto eth3
iface eth3 inet static
address 0.0.0.0
iface br0 inet static
address 192.168.X.XX
netmask 255.255.255.0
network 192.168.X.0
broadcast 192.168.X.255
gateway 192.168.X.XX
dns-nameservers 192.168.X.XX 8.8.8.8
bridge_ports eth0 eth2 eth3
bridge_stp off
再起動すれは有効になる。