なんと、4年の月日が流れ去っていたのですねえ。。。
qemuで、何を今更の問題に遭遇。
それは、「qemuホスト(192.168.0.H)→ゲスト(192.168.0.G1)にメールすると、ちゃんと流れない」問題。/etc/postfix/main.cfを何度見直しても、「loops back to myself」となる。
これは困った。
ウチでは、qemuのネットワークはeth0に仮想的にipをバインドして、ルーティングすることによって実現している。
具体的には、ゲストマシンのipアドレスは、ホストマシンのeth0:1、2……に当たっている。で、ゲストマシンは実際には192.168.G1.G1というアドレスが当たっていて(これは外部からはわからないし、到達もできない)、ホストマシン上でルーティングするような設定になっている。
つまり、ホスト→ゲストにメールをしようとする、ということは、とりもなおさず自分自身にメール、ということになる。
そう、「loops back to myself」になってしまうのである。
これを防ぐには、ホストマシン上で、192.168.0.Hからの問い合わせのみに反応するdnsサーバを立てる。
allow-query{
127.0.0.1;
192.168.0.H/32;
};
allow-recursion{
127.0.0.1;
192.168.0.H/32;
};
allow-transfer{
127.0.0.1;
192.168.0.H/32;
};
forwarders{
普段使いのdnsサーバ;
};
とかやって、
@ A 192.168.0.G1
www A 192.168.0.G1
;mail A 192.168.0.G1
mail A 192.168.G1.G1
ftp A 192.168.0.G1
的なゾーンファイルを書いてあげればよい。
(この問題は、メール固有の問題とも言えるので、メールサーバの設定で解決する方がスマートかもしれない。その場合、/etc/postfix/main.cfでtransport_mapの設定をちゃんとやれば、解決するらしい)
……というわけで、4年前におすがりした、qemuの記事を公開してくれている山森さんには今回も大変お世話になりました。この場を借りて御礼申し上げます。