lobo
13-04-2003, 17:15
Hi.
Ich hab hier ein Problem mit einer "for" Schleife. "for" verarbeitet Worte der Reiche nach, was auch mein Problem ist. In der Variable $RULES stehen 3 Firewall Regeln, welche der Reihe nach abgearbeitet werden müssten. Hat jemand ne Idee wie man das in einem Shell Script regeln könnte? Wenn es nicht möglich ist, dann werde ich auf Perl ausweichen, da ist das ja kein Problem, aber als Shell-Script wäre es mir lieber.
#!/bin/sh
IPTABLES="/sbin/iptables"
RULES="INPUT -i ppp0 -p tcp --dport 443 -j ACCEPT
FORWARD -p tcp --dport 443 -j ACCEPT
PREROUTING -t nat -i ppp0 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.3"
case "$1" in
'load')
for RULE in ${RULES}; do
echo "${IPTABLES} -A ${RULE}"
done;
;;
'unload')
for RULE in ${RULES}; do
echo "${IPTABLES} -D ${RULE}"
done;
;;
esac
Gruss
Jochen
Ich hab hier ein Problem mit einer "for" Schleife. "for" verarbeitet Worte der Reiche nach, was auch mein Problem ist. In der Variable $RULES stehen 3 Firewall Regeln, welche der Reihe nach abgearbeitet werden müssten. Hat jemand ne Idee wie man das in einem Shell Script regeln könnte? Wenn es nicht möglich ist, dann werde ich auf Perl ausweichen, da ist das ja kein Problem, aber als Shell-Script wäre es mir lieber.
#!/bin/sh
IPTABLES="/sbin/iptables"
RULES="INPUT -i ppp0 -p tcp --dport 443 -j ACCEPT
FORWARD -p tcp --dport 443 -j ACCEPT
PREROUTING -t nat -i ppp0 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.3"
case "$1" in
'load')
for RULE in ${RULES}; do
echo "${IPTABLES} -A ${RULE}"
done;
;;
'unload')
for RULE in ${RULES}; do
echo "${IPTABLES} -D ${RULE}"
done;
;;
esac
Gruss
Jochen