□KVMでゲストOSのネットワーク分離(隔離)化http://libvirt.org/formatnwfilter.htmlホストもゲストも自分で管理しているのならいいけれど、ゲストOSを人に使わせるとなった場合には、ヒューマンエラーを含めて変なIPアドレスを設定されかねないので、元々のIP以外のパケットの場合はゲストOSからの通信を制限したいよね、と言うことです。まー簡単にできるだろうと思ったら、確かに「IPv4が1つ」だけにならOKなのだけど、IPv4アドレスを複数とか、IPv6も、となるとちと面倒です。●その一、IPv4アドレス一つだけの場合。value=’192.168.0.200’/></filterref>のように書くだけ。value=’192.168.0.203’/></filterref>とするだけでもOKらしい。</interface>という感じで書けばOK。●その二、IPv4をセグメントでとかIPv6も、とかの場合。IPv6やセグメント指定をする場合には、ルールを別途作らないといけない。IPv4もIPv6も、と言う場合には、まぁIPv4の設定を拡張してあげればよい。/></rule></filter>として、IPv6用のフィルタを作って、「clean-traffic」フィルターにこの二つのフィルターを追記してあげる。value=’fe80::203’/></filterref>のように記述して、ルール定義ファイルを追加したらlibvirtdを再起動しないといけない。事前にゲストOSは全て止めておいた方がよい。restartとすると再起動してくれる。(autostartしていればゲストOSも連れて起動)ここで、外部とゲストOSとやり取りできればOK。意図的にゲストOSのIPアドレスを変えたりして、外部やゲストOS同士でも通信できないことを確認して、ちゃんとフィルターが効いているか確認をすること。※セグメント指定の場合には、参考URLのマニュアル読めばわかるでしょ。いやー、IPv6もとなるとちょっと苦労した。難しく考えて、あれこれ悩んじゃったけど、結局こんな感じで追加してフィルターできるようになったので一安心したけど。つまるところ、デフォルトではIPv6についてのフィルターってのはちゃんとできないんだよね。ネット上にも情報がほとんどない。rootのchainにIPv6関連を設定するとか言うのもあるけど、うまく動かなかったんだよなー。性善説に基づいて他人のIPなんて設定しないだろうなんていう運用はしていないよね?世の中のVPS屋さんは。新しいlibvirtdの場合、MACアドレスとかIPv6とか複数のIPアドレスのフィルター設定も出来るのでちょっとフィルター設定の中身が変わっているので補足します。IPv6のフィルター設定をしたい場合は以下のようにclean-traffic.xmlに追加します。priority=’1000’/></filter>と、IPv4のno-ip-spoofing.xmlを参考に修正。(DHCPの設定についてはよく判ってないので間違っていると思う...笑)・allow-incoming-ipv6.xmlは変更がありません。function=’0x0’/></interface>とか書いてあげると、IPv4もIPv6もMACアドレスでもフィルターできる。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。