kimagre inrash

感想を書きます

Raspberry Pi 3 でパケット遅延・帯域制限器を作る(有線-有線ブリッジ)

time 2019/06/20

再びパケットの実験

以前、Raspberry Pi 3 でパケット遅延器を作る(有線-無線ブリッジ) にてパケット遅延器を作成しました。

再び必要になったので再構築します。今回は有線-有線ブリッジです。新規でraspiを購入しても良かったのですが、使ってないRasPadのraspiを使うことにしました。

必要なもの

Raspberry Pi用電源セット(5V 3.0A)-Pi3フル負荷検証済
TechShare
売り上げランキング: 3,930

セットアップ

raspiの基本的なセットアップは検索してもらえば出てくるので割愛。

無線(wlan0)をIP固定

今回は全てリモートで作業を行います。「有線」はブリッジ接続として使うのでSSHやVNC接続が出来なくなります。そこで「無線」でアクセスして設定を行うことにします。毎回IPアドレスが変化すると手間なので固定化します。

$ sudo nano /etc/dhcpcd.conf 

# 無線のIPを固定(追記)
# XXXは任意の値
interface wlan0
static ip_address=XXX.XXX.XXX.XXX

設定を反映させます。

$ reboot

有線(eth0とeth1)をブリッジ接続

有線LANアダプターをUSBポートに挿します。今回は本体有線LAN(eth0)側がパケット遅延させたい機器、USBポートに繋いだ有線LANアダプター(eth1)側をインターネットにそれぞれ繋ぎます。

次にブリッジユーティリティをインストールしてブリッジ接続を行います。

$ sudo apt install bridge-utils

$ sudo brctl addbr br0
$ sudo brctl addif br0 eth0 
$ sudo brctl addif br0 eth1

この状態で一度eth0側の機器からインターネット側に接続できるかテストします。問題なければ次へ。

パケット遅延

eth0に100msの遅延を設定

$ sudo tc qdisc add dev eth0 root netem delay 100ms

帯域制限(下り)

eth0の1Mbitに制限する場合

$ sudo tc qdisc add dev eth0 root tbf rate 1mbit latency 50ms burst 1500

帯域制限(上り)

eth1側に設定すれば出来るのかな?と思ったけど、うまく設定出来なかったので保留。今回の用途では使用しないので一応問題なし。

設定のリセット

eth0のリセット

$ sudo tc qdisc del dev eth0 root

eth1のリセット

$ sudo tc qdisc del dev eth1 root

まとめ

さすがに2回目の構築なので簡単に実装出来ました。

前後記事

RasPadが届きました!
Raspberry Pi Zero W + カメラモジュール でネコ観察ライブカメラ(YoutubeLive対応)を作る