/ovs-network

Docker, Open vSwitch, CentOS

Primary LanguageShell

Docker+Open vSwitchでネットワーク勉強用の環境を作る

これは何?

Docker+Open vSwitchを使用して,ローカル環境上に仮想ルータと仮想スイッチのネットワークを構成するためのスクリプトです.

スクリプトによって作成されるネットワーク

network

環境作成時のメモ

  • prerequisites
  • vyOS使いたかったがARMマシンに対応したコンテナの作成方法がわからなかった
  • 結局CentOSのコンテナでルーティング
  • そもそもルーティングに必要なソフトウェアが何なのかわからない状態から開始
  • ルータとして動作させるためにip_forward機能を有効にする必要があったdocker run --sysctl net.ipv4.ip_forward=1 ...
  • --sysctlはコンテナ内のカーネルパラメータを設定するためのオプション
  • 静的ルーティングのためip route addでそれぞれのルータにルーティングテーブルを設定していく
  • router1でip route add 10.0.3.0/24 via 10.0.1.2 dev eth0として、router1->router4の通信ができるはずと思いpingで疎通確認するが、返信が返ってこない。。。
  • router4->router1への経路を設定できていないからと気づくのに1週間かかる。
  • router4でip route add 10.0.1.0/24 via 10.0.3.1 dev eth0とした。
  • router1->router4へのpingが通った!

ファイル

ip_forward確認コマンド

[root@3c4c80f60d77 /]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

TODO

  • 仮想ルータの部分をCentOSコンテナからFRR (Free Range Routing) に移行する
  • ovs-docker導入方法の説明追記

参考記事