Raspberry Pi Advent Calendar 2020の20日目の記事です。
RaspberryPiで作るネットワーク遅延装置です。
作ったきっかけ
できるよねぇって話は前からしていたけど、実際作ったことなかったので雑につくりました。
個人的なメモ的な感じの記事になります。
実際はわけわからん仕事に巻き込まれているとか突然言われたので適当にでっちあげたメモ
環境
- RaspberryPi 4
- ELECOMのUSB3.0-Ethアダプタ(EDC-GUA3-B
注意点
有線ポートにはIPアドレスが振れなくなるので、有線が必要なら別NIC、もしくは無線を使う
作り方
OSインストールとかはググってね
アップデート
sudo apt update -y
sudo rpi-eeprom-update -a
sudo shutdown -r now
必要パッケージインストール
sudo apt install bridge-utils
ブリッジ設定
sudo sysctl net.ipv4.ip_forward=1
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo brctl addif br0 eth1
sudo brctl show
再起動
sudo shutdown -r now
インターフェイス設定
sudo vi /etc/network/interfaces
# 以下を追記
auto br0
iface br0 inet manual
bridge_ports eth0 eth1
10msecの遅延設定
sudo tc qdisc add dev eth0 root netem delay 10ms
sudo tc
sudo qdisc
※ 必要であれば、↑のコマンドをサービス化して自動実行させる
使い方
- 遅延させたいNWの間に挟み込めば遅延します。
- 向きとかも気にしなくてOK
まとめ
- かなりやっつけですが、ざっくりとはこれでできるので便利になった
- これ作ってるときにあっきぃが書いてたファンコントローラーを遊んで「おぉ」ってやってました。
- 明日はgyaboさんの「ベアメタルでRaspberry Pi 4のVideoCoreにColdBootから電源を入れる方法」です!
…内容の落差激しそう…