Firewall und DHCP ?

Post Reply
Message
Author
Descartes

Firewall und DHCP ?

#1 Post by Descartes »

Hi

ich hab' gemäss dem Firewall-Workshop (<a href="http://www.pro-linux.de/work/server/and ... e_doc.html)" target="_blank"><!--auto-->http://www.pro-linux.de/work/server/and ... e_doc.html)</a><!--auto--> mir unter SuSE 6.3 eine Paketfilterfirewall aufgesetzt. Der Linux-Rechner soll für meine Windows-Clients das Internet Sharing übernehmen.
Dies funktioniert soweit einwandfrei -- allerdings möchte ich mir es ersparen die einzelnen Windows-Clients per Hand zu konfigurieren und statt dessen DHCP einsetzen.

Allerdings können die Windows-Rechner anscheinend wegen der ipchains-Regeln nicht mit DHCP die Konfiguration holen. <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">

Wenn ich die ipchains-Regeln folgendermassen "aufmache", können sich meine Windows-Clients wieder konfigurieren...

/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P forward DENY
/sbin/ipchains -P output ACCEPT

Welche ipchains Regel muss noch definiert werden, dass im lokalen Netz das DHCP funkioniert *und* die Firewall wieder gemäss dem Workshop "zu" ist und alles erst mal kategorisch ablehnt ?

/sbin/ipchains -P input DENY
/sbin/ipchains -P forward DENY
/sbin/ipchains -P output DENY

Irgendwelche ipchains Profis da draussen ?

Descartes

Re: Firewall und DHCP ?

#2 Post by Descartes »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
echo Start RP filter for anti spoofing shield
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

echo Deleting all existing chains...
/sbin/ipchains -F
/sbin/ipchains -X icmp-acc

echo Setting up default policy...
/sbin/ipchains -P input DENY
/sbin/ipchains -P forward DENY
/sbin/ipchains -P output DENY

# Variables
DEV_LNET=eth0
IP_LNET=192.168.0.99
DEV_INET=ppp0
LNET=192.168.0.0/24
GLOBAL=0.0.0.0/0

echo Setting up loopback interface...
/sbin/ipchains -A input -i lo -j ACCEPT
/sbin/ipchains -A output -i lo -j ACCEPT

<font color="0000FF">echo Setting up DHCP access...
/sbin/ipchains -A input -p udp -s $GLOBAL 67 -i $DEV_LNET -j ACCEPT
/sbin/ipchains -A input -p udp -s $GLOBAL 68 -i $DEV_LNET -j ACCEPT
/sbin/ipchains -A output -p udp -d $GLOBAL 67 -i $DEV_LNET -j ACCEPT
/sbin/ipchains -A output -p udp -d $GLOBAL 68 -i $DEV_LNET -j ACCEPT</font><!--color-->
<font color="009900"># das hier scheint zu funktionieren;
# oder kann man das evt. "besser" (sprich: sicherer) machen ?
# das ganze mit dem $GLOBAL scheint mir ein bisschen zu viel des guten</font><!--color-->

echo Setting up intranet connections...
/sbin/ipchains -A input -i $DEV_LNET -s $LNET -j ACCEPT
/sbin/ipchains -A output -i $DEV_LNET -d $LNET -j ACCEPT

echo Setting up internet syn connections...
/sbin/ipchains -A input -s $LNET 1024: -p tcp -i $DEV_LNET -j ACCEPT
/sbin/ipchains -A forward -s $LNET 1024: -p tcp -i $DEV_INET -j MASQ
/sbin/ipchains -A output -s $GLOBAL 1024: -p tcp -i $DEV_INET -j ACCEPT
/sbin/ipchains -A input -s $LNET 1024: -p udp -i $DEV_LNET -j ACCEPT
/sbin/ipchains -A forward -s $LNET 1024: -p udp -i $DEV_INET -j MASQ
/sbin/ipchains -A output -s $GLOBAL 1024: -p udp -i $DEV_INET -j ACCEPT

echo Setting up internet ack connections...
/sbin/ipchains -A input --sport 20 -d $GLOBAL 1024: -p tcp -i $DEV_INET -j ACCEPT
/sbin/ipchains -A output --sport 20 -d $LNET 1024: -p tcp -i $DEV_LNET -j ACCEPT
/sbin/ipchains -A input -d $GLOBAL 1024: -p tcp -i $DEV_INET -j ACCEPT ! -y
/sbin/ipchains -A output -d $LNET 1024: -p tcp -i $DEV_LNET -j ACCEPT ! -y
/sbin/ipchains -A input -d $GLOBAL 1024: -p udp -i $DEV_INET -j ACCEPT
/sbin/ipchains -A output -d $LNET 1024: -p udp -i $DEV_LNET -j ACCEPT

echo Setting up ICMP defined restrictions...
/sbin/ipchains -N icmp-acc
/sbin/ipchains -A icmp-acc -p icmp --icmp-type echo-reply -j ACCEPT
/sbin/ipchains -A icmp-acc -p icmp --icmp-type echo-request -j ACCEPT
/sbin/ipchains -A icmp-acc -p icmp --icmp-type destination-unreachable -j ACCEPT
/sbin/ipchains -A icmp-acc -p icmp --icmp-type source-quench -j ACCEPT
/sbin/ipchains -A icmp-acc -p icmp --icmp-type time-exceeded -j ACCEPT
/sbin/ipchains -A icmp-acc -p icmp --icmp-type parameter-problem -j ACCEPT

echo Setting up ICMP major restrictions...
/sbin/ipchains -A input -p icmp -j icmp-acc
/sbin/ipchains -A forward -p icmp -j MASQ
/sbin/ipchains -A output -p icmp -j icmp-acc

echo Loading modules for masquerading...
insmod ip_masq_ftp
insmod ip_masq_irc
insmod ip_masq_quake
insmod ip_masq_raudio
insmod ip_masq_vdolive
insmod ip_masq_cuseeme

echo Firewall active
</font><hr></pre></blockquote>

Descartes

Re: Firewall und DHCP ?

#3 Post by Descartes »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
...

# Variables
DEV_LNET=eth0 # LAN Interface
IP_LNET=192.168.0.99 # my IP
DEV_INET=ppp0 # Internet Interface
LNET=192.168.0.0/24 # local net
GLOBAL=0.0.0.0/0
BROADCAST=255.255.255.255
IPCHAINS=/sbin/ipchains

...

echo Setting up DHCP access...
$IPCHAINS -A input -p udp -s $GLOBAL 67 -i $DEV_LNET -j ACCEPT
$IPCHAINS -A input -p udp -s $GLOBAL 68 -i $DEV_LNET -j ACCEPT
<font color="0000FF">$IPCHAINS -A output -p udp -d $BROADCAST 67 -i $DEV_LNET -j ACCEPT
$IPCHAINS -A output -p udp -d $BROADCAST 68 -i $DEV_LNET -j ACCEPT</font><!--color-->
<font color="009900"># noch eine Idee (nicht getestet)
# wenn ich die destination auf $BROADCAST setze,
# ist das dann sinnvoller als auf $GLOBAL ? und wird das funktionieren ?</font><!--color-->

...
</font><hr></pre></blockquote>

Post Reply