2016年4月19日火曜日

Open vSwitch の内部ポートを tcpdump

Open vSwitch の内部ポートを tcpdump したいんだが、普通に -i にそのポートを指定する
と No such device exists で蹴られる。

ググったらすぐ見つかったが、コマンドの意味が全然わからないのでおまじないだと思って
ここにコピペメモ。

http://docs.openstack.org/ja/openstack-ops/content/network_troubleshooting.html

  1. ダミーインターフェース snooper0 を作成して起動します。
    # ip link add name snooper0 type dummy
    # ip link set dev snooper0 up
    
  2. snooper0 デバイスを br-int ブリッジに追加します。
    # ovs-vsctl add-port br-int snooper0
    
  3. patch-tun のミラーを snooper0 に作成します (ミラーポートの UUID を返します)。
    # ovs-vsctl -- set Bridge br-int mirrors=@m  -- --id=@snooper0 \
    get Port snooper0  -- --id=@patch-tun get Port patch-tun \
    -- --id=@m create Mirror name=mymirror select-dst-port=@patch-tun \
    select-src-port=@patch-tun output-port=@snooper0 select_all=1
  4. これでうまくいきます。tcpdump -i snooper0 を実行して、patch-tun の通信を参照できます。
  5. br-int にあるすべてのミラーを解除して、ダミーインターフェースを削除することにより、クリーンアップします。
    # ovs-vsctl clear Bridge br-int mirrors
    
    # ovs-vsctl del-port br-int snooper0
    
    # ip link delete dev snooper0
    

0 件のコメント:

コメントを投稿