[linux-l] Erfahrungsbericht: Firewall-Tools
Lutz Willek
lutz.willek at belug.de
Mo Jan 7 10:51:16 CET 2008
Peter Ross schrieb:
> Hi Volker,
Guten Morgen,
>> http://wiki.njh.eu/Firewall_zu_Hause
>>
>> Eine Regel im Texteditor 10x zu kopieren und 10x abzuwandeln
>> finde ich viel angenehmer, als sich 10 Regeln zusammenklicken
>> zu müssen.
Jepp, das mag ich auch sehr gerne. Ein Vorschlag für mehrere
IP-Adressen/Interfaces, basierend auf Deinen Vorschlag, eigentlich nur
Variablenschieberei:
##### Variablen
# Programme
IPT='/sbin/iptables'
IFCONFIG='/sbin/ifconfig'
# Netzwerkschnittstellen
DEV_EXT="eth0"
DEV_TAP=`${IFCONFIG} |grep tap|awk '{print $1}'`
DEV_TUN=`${IFCONFIG} |grep tun|awk '{print $1}'`
# IP-Adresse
LAN_IP=$(${IFCONFIG} ${DEV_EXT} | head -n 2 | tail -n 1 | cut -d: -f2 |
cut -d" " -f 1)
TAP_IP=$(${IFCONFIG} ${DEV_TAP} | head -n 2 | tail -n 1 | cut -d: -f2 |
cut -d" " -f 1)
TUN_IP='10.10.10.123'
...u.s.w.
in_allowed="ssh http"
for p in ${in_allowed}; do
${IPT} -A INPUT -i ${DEV_EXT} -d ${LAN_IP} -p tcp --dport ${p} -j
ACCEPT
done
Dann spart man sich sogar diese Änderungen.
> # Start config
> ifs="eth0 eth1"
> protocols="udp tcp"
> in_allowed_udp="domain"
> in_allowed_tcp="ssh"
> in_allowed_tcp_eth0="http" #http nur am Interface eth0
> # End config
>
> # Script, no need to read or edit;-)
>
> if [ "X${dryrun}" = "Xyes" ]; then
> command="echo /sbin/iptables"
> else
> command="/sbin/iptables"
> fi
>
> for i in ${ifs}; do
> for prot in ${protocols}; do
> eval in_allowed=\$in_allowed_${prot}
> eval in_allowed_if=\$in_allowed_${prod}_${i}
> for p in ${in_allowed} ${in_allowed_if}; do
> ${command} -A INPUT -j ACCEPT -i ${i} -p ${prot} --dport ${p}
> done
> done
> done
>
> Usw. usf.
Dein Schreibstil gefällt mir.
--
Have you tried turning it off and on again?
Freundliche Grüße / Best Regards
Lutz Willek
Mehr Informationen über die Mailingliste linux-l