おわりです

Rustで書いたルータープログラムをDockerのネットワークで動かしてみました

はじめの章でリスペクトで挙げた著書はC++で書かれており
それをどうにか(C++よりは読みやすい)Rustで書きたいと思い立ち
実際にPingだけの確認ですが、ルーターを作ることができました

libpnetのわかりやすい関数群のおかげで
欲しい機能をさらに追加することは容易です

ぜひみなさんもRustでネットワークプログラミングを楽しみましょう!

さらにルーターを更改していくために

本書のRustプログラムは、Linuxの環境で動きます
Window環境しかない場合は、コンテナの中で動作確認をする必要があります

下記のようにルーターのentrypoint.shdocker-compose.ymlファイルを変更することで
aliceコンテナに入った時と同じ手順でrouterコンテナに入ることができます

router/mnt/entrypoint.sh
#!/bin/bash
cd /mnt/router-rs
bash -c "/bin/bash"
#cargo run eth0 eth1 <<<<---コメントアウト
docker-compose.yml
  router:
    build: ./router
    container_name: router-container
    hostname: Router
    # 以下2行追加
    tty: true
    stdin_open: true

routermntフォルダはマウントされているので
WindowsマシンのVSCodeでコードを書き
コンテナ側でcargo run eth0 eth1を実行することで
動作確認をすることができます