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
    

2016年4月3日日曜日

resolv.conf's filetype

なんか /etc/resolv.conf の selinux context が下のようになってた。

system_u:object_r:svirt_sandbox_file_t:s0:c243,c503

docker のファイルタイプになっちゃっててさらに MCS が c254,c503
っつーのがついちゃって、全然覚えがないんだけど...

docker いじってたときに間違ったか?

Current mode:   enforcing だから dhclient 起動したときに DNS サーバ
の修正が Permission denied になってる。

仕方なく restorecon -F /etc/resolv.conf なんだけどなにか負けた気がする...
-rw-r--r--. root root system_u:object_r:net_conf_t:s0  /etc/resolv.conf