I have encountered exactly the same situation with our deployment with all outbound packets from vm tagged with server's ip as their SNAT.<br><br>After doing some investigation, I found nova-network init itself, this filter rule will be populated;<br>
and I wounder maybe this is a aimed design feature - to isolate all fixed-ips and make them only visible within a subnet.<br><br>Could any expert help to clarify?<br><br clear="all"><i style="font-family:georgia,serif;background-color:rgb(255,255,255);color:rgb(192,192,192)">Best Regards,<br>
Xiaolin Zhang</i><br><br>
<br><br><div class="gmail_quote">On Wed, Jul 18, 2012 at 11:25 PM, Boris-Michel Deschenes <span dir="ltr"><<a href="mailto:boris-michel.deschenes@ubisoft.com" target="_blank">boris-michel.deschenes@ubisoft.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="purple" lang="FR-CA"><div><p class="MsoNormal">Hi guys,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-US">I have a question regarding NAT in openstack<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">I have an openstack cloud (FlatDHCP, multi_host=false) with one nova-network node doing the nating.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">I have noticed that when I ping an external machine from within a VM, on the receiving end I see the IP of the VM (so the outgoing SNAT works properly).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I have also noticed that when I ping a VM inside the cloud from a machine outside, the VM sees the external IP of the nova-network node as the source of the ping and not the real IP of the “pinger”…  (this is the problem for me).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">I looked at the nova-network machine’s iptables and I see this:<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">-A nova-network-snat -s <a href="http://10.0.0.0/8" target="_blank">10.0.0.0/8</a> -j SNAT --to-source 10.129.40.12<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">So it’s basically setting the nova-network node as the source IP for all incoming traffic, in my situation, this prevents an application running inside the cloud to properly identifies the server located outside, currently, the only peer it sees is the nova-network node and not the IP of the server (located outside the cloud) so my application tries to connect to nova-network instead of the server that initiated the connection.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Would it be possible to have SNAT work in a way where, when connecting to a VM from outside the cloud, the VM sees the source IP as the real source IP and not the nova-network controller’s ip ?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Thank you very much<span class="HOEnZb"><font color="#888888"><u></u><u></u></font></span></span></p><span class="HOEnZb"><font color="#888888"><p class="MsoNormal">
<span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Boris<u></u><u></u></span></p></font></span></div></div><br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br>