----- Original Message -----
> From: "Phil Daws" <ux...@splatnix.net>
> To: kvm@vger.kernel.org
> Sent: Thursday, March 14, 2013 10:53:43 AM
> Subject: Virtual Firewall
> 
> Hello,
> 
> have been trying to build a virtual firewall as a POC but having some
> difficulty with the networking aspect.  On the physical server I
> have a single NIC that is connected to the Internet with the IP
> XXX.XXX.XXX.10 and is bound to bridge0.  I created the first guest,
> as the firewall, and added a virtio interface with source type "Host
> device vnet (bridge0)".  At the guest OS level I assigned the NIC
> another public IP XXX.XXX.XXX.20 and was able to route quite happily
> to the Internet.  I then proceeded to add a second NIC to the
> firewall guest but this time using the default NAT network and gave
> it the address 192.168.1.1.  I then created another guest with the
> IP 192.168.1.2 with its default route being 192.168.1.1 and that
> could get out to the Internet as-well once the FORWARD+SNAT rules
> were added to iptables.
> 
> Now here in lies the problem.  I wish to add another network so that
> I end up with:
> 
> XXX.XXX.XXX.20 Public Facing
> 192.168.1.1    Private LAN
> 192.168.2.1    DMZ
> 
> So using virtual-manager I created two brand new networks called
> "PrivateLAN" and "DMZ" with the networks above.  I then removed the
> secondary interface from the firewall and added two new NICs, one
> being on the PrivateLAN and the other on the DMZ.  When I fired up
> the firewall and attempted to assign those IP addresses to the
> interfaces the response was:
> 
> [root@fw1 ~]# ifup eth1
> Error, some other host already uses address 192.168.1.1.
> 
> [root@fw1 ~]# ifup eth2
> Error, some other host already uses address 192.168.2.1.
> 
> Running an arping showed that the MAC for bridge0 already had those
> IPs registered ?!?!?  I am obviously missing a networking
> fundamental here and really would like some help.
> 
> If you have only one physical NIC how do you create multiple networks
> as above; that allows IPtables to control the traffic flow.
> 
> Any help gratefully appreciated.


This is well supported in libvirt [1]
If you don't want to use libvirt then you can at least run to test the rules 
that are created or look at the code.


[1] http://libvirt.org/firewall.html
> 
> Thanks.
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to