Chcę napisać sobie funkcję do iptables, aby otwierał pewne porty tylko podczas działania jakiegoś programu. Napisałem ją w ten sposób:
Kod: Zaznacz cały
on () {
iptables -A INPUT -s 0/0 -p tcp --dport numer_portu -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --dport numer_portu -j ACCEPT
iptables -A OUTPUT -s 0/0 -p tcp --dport numer_portu -j ACCEPT
iptables -A OUTPUT -s 0/0 -p udp --dport numer_portu -j ACCEPT
off () {
iptables -A INPUT -s 0/0 -p tcp --dport numer_portu -j DROP
iptables -A INPUT -s 0/0 -p udp --dport numer_portu -j DROP
iptables -A OUTPUT -s 0/0 -p tcp --dport numer_portu9 -j DROP
iptables -A OUTPUT -s 0/0 -p udp --dport numer_portu -j DROP
}
# ========================================
case "$1" in
dcon)
dcon ;;
dcoff)
dcoff ;;
*)
echo $" Uzyj: $0 {dcon, dcoff}"
echo "####darkmanek ;) ####"
exit 1
esac
Kod: Zaznacz cały
#!/bin/bash
sudo /etc/init.d/firewall on
program
sudo /etc/init.d/firewall off
Kod: Zaznacz cały
/etc/init.d/firewall: 48: Syntax error: end of file unexpected (expecting "}")
Jeśli zaś chodzi o instrukcję case, to jakoś dziwnie z tą klamrą.
Jakieś podpowiedzi, porady?