WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] antispoof with Xen 3

Dirk H. Schulz wrote:
Hi Mike,
I am trying to get antispoofing running on xen3 (based on Debian Sarge). This is what I have done to enable it:

1. I have compiled a dom0 kernel with CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 2. I made sure this module is loaded: lsmod gives xt_physdev (among others). 3a. I have changed the line "(network-script network-bridge)" to "(network-script network-bridge antispoof=yes)" in /etc/xen/xend-config.sxp. 3b. I have also tried setting the default in network-bridge to yes by changing the antispoof line to "antispoof:${antispoof:-yes}".

Then I have setup a domU with vif=['mac=ae:00:00:78:be:04, ip=192.168.115.156'], but "inside" I have configured the ip address of eth0 to be 192.168.115.157. After starting the domU "ifconfig eth0" shows the ip address 192.168.115.157, but the domU still has network access to the outside.

That means: antispoofing does not work.

I'll bet your iptables FORWARD default policy is ACCEPT. All antispoofing does is specifically add a rule allowing that particular source IP. Having a default policy of ACCEPT means that after failing the source IP matching rule it gets accepted by the default policy. Try adding this rule to iptables and see if it changes what you see.

  "iptables -P FORWARD DROP"

Now only specifically allowed source IPs will pass.

Changed FORWARD policy to drop as you supposed. Checked with iptables -L FORWARD that policy is DROP. Tried pinging the outside from the misconfigured domU (misconfigured = other IP in /etc/network/interfaces than in domU config file) - no traffic to the outside possible. Good. Changed IP in domU's /etc/network/interfaces to the one used in the domU config file. Restarted domU. Pinged to an external machine - nothing. Even with correct config no network connection!
Checking the FORWARD chain I have
- a policy of DROP
- an accept rule for all protocols from domUs IP address to anywhere
- an accept rule for udp from anywhere to anywhere

Do you have a dom0 rule allowing ICMP traffic?

Also, it is a good idea to turn off iptables in your domUs until after basic networking is functioning well.

Both rules appear only after the start of the domU. So the configuration should be okay, but there is no network connection from domU to dom0 or to external machines.

This is where tcpdump comes in handy. You will have to inspect your network traffic to see what is appearing where.

It was far easier in the end. I had to learn a few things about iptables and xen: 1. Traffic from/to dom0 passes the FORWARD chain additionally to INPUT and OUTPUT chains: if you drop at FORWARD, there is no success in opening up INPUT and OUTPUT. 2. You have to have connection tracking running, if you do not alter the xen network script, since it adds a FORWARD rule only for one direction (inside out).

What I wonder about now is: what is the antispoof option for with xen 3?
If I do not use antispoof, the xen network script registeres a domU with the FORWARD chain with physdev matching anyway, so there is no need for a toggleable antispoof button (and toggling it did not lead to any different behaviour - at least I found none).

Many users isolate their dom0 and do not allow direct network connectivity. I'm guessing that's why the scripts do not automatically add INPUT rules.

As far as the antispoof rule, it adds a src IP to the physdev match. iptables ANDs those two conditions. With antispoof off any IP from that interface would be accepted; however, with antispoof on packets would only be accepted if they come from the interface AND and have the spec'd IP.

Congratulations on your success.

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

<Prev in Thread] Current Thread [Next in Thread>