I am using the madwifi driver with the patch to allow changing of the MAC address and I have two other ethernet interfaces plus a pppoe interface. My outbound connection is ppp0. I have ath0, eth1, eth2 for internal interfaces. I have added these three interfaces to br0. Once the traffic leaves the linux router, it gets NAT'd and goes out through ppp0. All traffic on all segments works to reach the internet. Traffic cannot pass between the physical bridge interfaces. eth1 cannot talk to eth2 or ath0 and so on. I need some suggestions. Below is my debian interfaces file. Below that is my iptables configuration script. Derek Ditch Please CC: me in your answers as I just subscribed and awaiting moderator approval. # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface auto lo iface lo inet loopback # The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) # Via-Rhine Built-in 10/100 Card auto eth0 iface eth0 inet static address 192.168.0.254 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 # Atheos Wireless Card and virtual interface auto ath0 eth1 eth2 br0 iface ath0 inet static address 0.0.0.0 netmask 255.255.255.0 wireless_essid CannonCops wireless_mode Master wireless_rate 54Mb wireless_enc off wireless_channel 1 # Second Internal Net iface eth1 inet static address 0.0.0.0 netmask 255.255.255.0 # Third Internal Net iface eth2 inet static address 0.0.0.0 netmask 255.255.255.0 iface br0 inet static pre-up brctl addbr br0 pre-up brctl addif br0 ath0 pre-up brctl addif br0 eth1 pre-up brctl addif br0 eth2 pre-up brctl stp br0 on post-down brctl delbr br0 address 10.0.100.1 netmask 255.255.255.0 network 10.0.100.0 #====================End of /etc/network/interfaces=========================== #!/bin/sh # # This script will initialize the firewall when executed. # Created on 11 Mar 2004 # echo -e "\n\nLoading firewall..\n" # Location of iptables and kernel module programs IPTABLES=/sbin/iptables DEPMOD=/sbin/depmod MODPROBE=/sbin/modprobe IFCONFIG=/sbin/ifconfig # Set external and internal interfaces EXTIF="ppp0" INTIF="br0" FILTER_NET="192.168.0.0/16" echo " External Interface: $EXTIF" echo " Internal Interface: $INTIF" #-------------------------------------------------- #----- No editing is required below this line ----- echo -en " loading modules: " # Load the general IPTABLES NAT code - "iptable_nat" echo -en " iptable_nat," $MODPROBE iptable_nat # Load the FTP NAT functionality into the core IPTABLES code # Allows use of non-PASV FTP. echo -en " ip_nat_ftp," $MODPROBE ip_nat_ftp # Load the IRC NAT functionality into the core IPTABLES code # Allows support of NAT of IRC DCC requests echo -en " ip_nat_irc" $MODPROBE ip_nat_irc #---------------- End of prep ---------------------- #---------- Let the tables begin ------------------- # Turn on forwarding echo "1" > /proc/sys/net/ipv4/ip_forward # Enable dynamic-address hacking echo "1" > /proc/sys/net/ipv4/ip_dynaddr # Clear any previous configuration $IPTABLES -P INPUT ACCEPT $IPTABLES -F INPUT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -F OUTPUT $IPTABLES -P FORWARD DROP $IPTABLES -F FORWARD $IPTABLES -t nat -F # Redirect unregistered users to the info page $IPTABLES -t nat -A PREROUTING -p tcp -s $FILTER_NET --dport 80 -j DNAT --to-destination 192.168.100.1:80 # Prevent hosts on 192.168.x.x subnet from reaching the Internet $IPTABLES -t filter -A FORWARD --source $FILTER_NET -j DROP # Block KaZaa because it is a bandwidth hog iptables -A FORWARD --protocol tcp --dport 1214 -j REJECT # Allow all connections OUT and only existing and related ones IN $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -j ACCEPT $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT $IPTABLES -A FORWARD -j LOG # Enable simple NAT $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE echo -en "\n\nFirewall loaded. System secure\n" transmogrifier:~#