All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cathrow <acathrow@redhat.com>
To: Phil Daws <uxbod@splatnix.net>
Cc: kvm@vger.kernel.org
Subject: Re: Virtual Firewall
Date: Thu, 14 Mar 2013 11:30:50 -0400 (EDT)	[thread overview]
Message-ID: <1620287954.20155160.1363275050545.JavaMail.root@redhat.com> (raw)
In-Reply-To: <2015645203.231170.1363272823347.JavaMail.root@innovot.com>



----- Original Message -----
> From: "Phil Daws" <uxbod@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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  reply	other threads:[~2013-03-14 15:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1746047153.230756.1363271967103.JavaMail.root@innovot.com>
2013-03-14 14:53 ` Virtual Firewall Phil Daws
2013-03-14 15:30   ` Andrew Cathrow [this message]
2013-03-14 15:52     ` Phil Daws

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1620287954.20155160.1363275050545.JavaMail.root@redhat.com \
    --to=acathrow@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=uxbod@splatnix.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.