( machobymb | 2008. 02. 11., h – 21:31 )

Van az alábbi scriptem. A problémám az, hogy hiába állítom be a portokat, mégsem megy az SSMTP és az SPOP3 (465 és 995 portok). Elvileg más rendben, de az nmap nem jelzi, hogy ezek nyitva vannak. A squid is fennt van és az SSL_ports -nál megadtam a 465 és 995 portokat, de nem megy.
Szerintetek mi lehet a gond?
Íme a teljes script
#!/bin/bash
TITLE="myfw"
IPTABLES=/sbin/iptables
SYSCTL=/sbin/sysctl
INET_IF=eth0 #külső interfész
LNET_IF=eth1 #belső interfész
INET_ADDR="a.b.c.d" #külső IP cím
FW_ADDR="192.168.0.1" #belső IP cím
LNET_ADDR="192.168.0.0/24" #védett hálózat IP címe
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
CLASS_C="192.168.0.0/16"
CLASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED="240.0.0.0/5"
DENIED_IPS="61.31.0.0/16
61.140.0.0/11
61.220.0.0/10
62.165.226.178
62.165.227.56
62.165.227.223
62.165.225.99
62.165.224.86
62.165.215.44
62.165.224.241
62.165.215.19
62.165.227.41
62.165.227.97
64.12.24.161
66.137.176.6
89.132.26.222
86.106.44.179
200.195.0.0/10
210.73.133.22
210.212.0.0/16
218.248.35.62
218.188.23.45
218.248.35.62
218.13.0.0/11
218.160.0.0/12
219.80.0.0/15
219.128.0.0/12
222.156.0.0/15
"
#
# Szűrési láncok létrehozása
#
create_chains() {
# Beállítjuk az alapértelmezett policykat: DROP Eldobunk minden
# csomagot alapból, előtte válogatunk.
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
# Csoportosított láncok a forgalom iránya alapján
# a gépről az internetre menő csomagok
$IPTABLES -N fw_to_inet
# az internetről a gépre jövő csomagok
$IPTABLES -N inet_to_fw
# a lokális hálózatról az internetre menő csomagok (forward)
$IPTABLES -N lnet_to_inet
# az internetről a lokális hálózatra menő csomagok
$IPTABLES -N inet_to_lnet
# a lokális hálózatról a gépre jövő csomagok
$IPTABLES -N lnet_to_fw
# a gépről a lokális hálózatra menő csomagok
$IPTABLES -N fw_to_lnet
# szűrési lánc
$IPTABLES -N security
}
#
# Láncok törlése
#
delete_chains() {
# Táblák tisztítása
$IPTABLES -F
$IPTABLES -X
$IPTABLES -F -t nat
$IPTABLES -X -t nat
$IPTABLES -F -t mangle
$IPTABLES -X -t mangle
# Csomagszámlálók nullázása
$IPTABLES -Z
# Minden forgalom engedélyezése
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
}
#
# Átirányítások
#
basic_rules() {
# Loopbacken mindent fogadunk
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Bejövő csomagok
$IPTABLES -A INPUT -i $INET_IF -j inet_to_fw
$IPTABLES -A INPUT -i $LNET_IF -s $LNET_ADDR -j lnet_to_fw
# Kimenő csomagok
$IPTABLES -A OUTPUT -o $INET_IF -j fw_to_inet
$IPTABLES -A OUTPUT -o $LNET_IF -d $LNET_ADDR -j fw_to_lnet
# Átmenő csomagok - továbbítás
$IPTABLES -A FORWARD -i $INET_IF -o $LNET_IF -d $LNET_ADDR -j inet_to_lnet
$IPTABLES -A FORWARD -i $LNET_IF -o $INET_IF -s $LNET_ADDR -j lnet_to_inet
}
#
# Az internetről a tűzfalra érkező csomagok
#
inet_to_fw() {
# Tiltott IP-k szűrése
for i in `echo $DENIED_IPS`; do
$IPTABLES -A inet_to_fw -s $i -j DROP
done

# Hamisított IP-k szűrése (sysctl-k bebiztosítása)
$IPTABLES -A inet_to_fw -s $CLASS_A -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_fw -s $CLASS_A -j DROP
$IPTABLES -A inet_to_fw -s $CLASS_B -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_fw -s $CLASS_B -j DROP
$IPTABLES -A inet_to_fw -s $CLASS_C -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_fw -s $CLASS_C -j DROP
$IPTABLES -A inet_to_fw -s $CLASS_D_MULTICAST -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_fw -s $CLASS_D_MULTICAST -j DROP
$IPTABLES -A inet_to_fw -s $CLASS_E_RESERVED -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_fw -s $CLASS_E_RESERVED -j DROP
# SYN-Flood
$IPTABLES -A inet_to_fw -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j ACCEPT
$IPTABLES -A inet_to_fw -p tcp --syn -j LOG --log-prefix "$TITLE : SYN-Flood attack "
$IPTABLES -A inet_to_fw -p tcp --syn -j DROP
# Nmap FIN/URG/PSH
$IPTABLES -A inet_to_fw -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/m -j LOG --log-prefix "$TITLE : Nmap XMAS scan "
$IPTABLES -A inet_to_fw -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

# SYN/RST
$IPTABLES -A inet_to_fw -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/m -j LOG --log-prefix "$TITLE : SYN/RST scan "
$IPTABLES -A inet_to_fw -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

#SYN/FIN
$IPTABLES -A inet_to_fw -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m -j LOG --log-prefix "$TITLE : SYN/FIN scan "
$IPTABLES -A inet_to_fw -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# Portscan,PoD
$IPTABLES -A inet_to_fw -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "$TITLE : XMAS-tree scan "
$IPTABLES -A inet_to_fw -p tcp --tcp-flags ALL NONE -m state --state ! ESTABLISHED -j LOG --log-prefix "$TITLE : NULL scan "
# PING -re ne válaszoljunk
$IPTABLES -A inet_to_fw -m state --state NEW -p icmp -j DROP
$IPTABLES -A inet_to_fw -p icmp --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
$IPTABLES -A inet_to_fw -p icmp --icmp-type echo-request -j LOG --log-prefix "$TITLE : PoD attack "
$IPTABLES -A inet_to_fw -p icmp --icmp-type echo-request -j DROP

# Az Ăşj kapcsolatok helyesen kezdődjenek ( közvetett DoS )
$IPTABLES -A inet_to_fw -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "$TITLE : hidden portscan "
$IPTABLES -A inet_to_fw -p tcp ! --syn -m state --state NEW -j DROP

# Jóváhagyott kapcsolatok elfogadása
$IPTABLES -A inet_to_fw -m state --state ESTABLISHED,RELATED -j ACCEPT

# Szolgáltatások engedélyezése (nyitott portok)
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 20 -j ACCEPT # Ftp-data
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 20 -j ACCEPT # Ftp-data
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 21 -j ACCEPT # Ftp
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 21 -j ACCEPT # Ftp

$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 23 -j ACCEPT # Telnet
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 23 -j ACCEPT # Telnet
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 25 -j ACCEPT # SMTP
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 25 -j ACCEPT # SMTP
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 465 -j ACCEPT # Secure SMTP
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 465 -j ACCEPT # Secure SMTP
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 53 -j ACCEPT # DNS
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 53 -j ACCEPT # DNS
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 80 -j ACCEPT # HTTP
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 80 -j ACCEPT # HTTP

$IPTABLES -A inet_to_fw -m state --state NEW -p tcp -s $LNET_ADDR --dport 22 -j ACCEPT # ssh
$IPTABLES -A inet_to_fw -m state --state NEW -p udp -s $LNET_ADDR --dport 22 -j ACCEPT # ssh
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 107 -j ACCEPT # rtelnet
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 107 -j ACCEPT # rtelnet
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 110 -j ACCEPT # POP3
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 110 -j ACCEPT # POP3
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 995 -j ACCEPT # Secure POP3
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 995 -j ACCEPT # Secure POP3
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 143 -j ACCEPT # IMAP
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 143 -j ACCEPT # IMAP
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp --dport 3389 -j ACCEPT # Távsegítség
$IPTABLES -A inet_to_fw -m state --state NEW -p udp --dport 3389 -j ACCEPT # Távsegítség
$IPTABLES -A inet_to_fw -m state --state NEW -p tcp -s 127.0.0.1 --dport 3128 -j ACCEPT # loopback engedélyezése az 5555 porton
$IPTABLES -A inet_to_fw -m state --state NEW -p udp -s 127.0.0.1 --dport 3128 -j ACCEPT # loopback engedélyezése az 5555 porton

$IPTABLES -A inet_to_fw -m state --state NEW -p tcp -s $LNET_ADDR --dport 3128 -j ACCEPT # belső hálózat engedélyezése az 5555 porton
$IPTABLES -A inet_to_fw -m state --state NEW -p udp -s $LNET_ADDR --dport 3128 -j ACCEPT # belső hálózat engedélyezése az 5555 porton

}
#
# Az internetről a LAN-ra továbbított csomagok
#
inet_to_lnet() {
# Tiltott IP-k szűrése
for i in `echo $DENIED_IPS`; do
$IPTABLES -A inet_to_fw -s $i -j DROP
done
# Hamisított IP-k szűrése (sysctl-k bebiztosítása)
$IPTABLES -A inet_to_lnet -s $CLASS_A -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_lnet -s $CLASS_A -j DROP
$IPTABLES -A inet_to_lnet -s $CLASS_B -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_lnet -s $CLASS_B -j DROP
$IPTABLES -A inet_to_lnet -s $CLASS_C -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_lnet -s $CLASS_C -j DROP
$IPTABLES -A inet_to_lnet -s $CLASS_D_MULTICAST -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_lnet -s $CLASS_D_MULTICAST -j DROP
$IPTABLES -A inet_to_lnet -s $CLASS_E_RESERVED -j LOG --log-prefix "$TITLE : fake IP source "
$IPTABLES -A inet_to_lnet -s $CLASS_E_RESERVED -j DROP

# SYN-Flood
$IPTABLES -A inet_to_lnet -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j ACCEPT
$IPTABLES -A inet_to_lnet -p tcp --syn -j LOG --log-prefix "$TITLE : SYN-Flood attack "
$IPTABLES -A inet_to_lnet -p tcp --syn -j DROP

# Nmap FIN/URG/PSH
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/m -j LOG --log-prefix "$TITLE : Nmap XMAS scan "
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

# SYN/RST
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/m -j LOG --log-prefix "$TITLE : SYN/RST scan "
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

#SYN/FIN
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m -j LOG --log-prefix "$TITLE : SYN/FIN scan "
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# Portscan,PoD
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "$TITLE : XMAS-tree scan "
$IPTABLES -A inet_to_lnet -p tcp --tcp-flags ALL NONE -m state --state ! ESTABLISHED -j LOG --log-prefix "$TITLE : NULL scan "

# PING -re ne válaszoljunk
$IPTABLES -A inet_to_lnet -m state --state NEW -p icmp -j DROP
$IPTABLES -A inet_to_lnet -p icmp --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
$IPTABLES -A inet_to_lnet -p icmp --icmp-type echo-request -j LOG --log-prefix "$TITLE : PoD attack "
$IPTABLES -A inet_to_lnet -p icmp --icmp-type echo-request -j DROP

# Az Ăşj kapcsolatok helyesen kezdődjenek ( közvetett DoS )
$IPTABLES -A inet_to_lnet -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "$TITLE : hidden portscan "
$IPTABLES -A inet_to_lnet -p tcp ! --syn -m state --state NEW -j DROP

# Jóváhagyott kapcsolatok elfogadása
$IPTABLES -A inet_to_lnet -m state --state ESTABLISHED,RELATED -j ACCEPT

# Szolgáltatások engedélyezése (nyitott portok)
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 20 -j ACCEPT # Ftp-data
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 20 -j ACCEPT # Ftp-data
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 21 -j ACCEPT # Ftp
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 21 -j ACCEPT # Ftp
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 23 -j ACCEPT # Telnet
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 23 -j ACCEPT # Telnet
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 25 -j ACCEPT # SMTP
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 25 -j ACCEPT # SMTP
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 465 -j ACCEPT # Secure SMTP
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 465 -j ACCEPT # Secure SMTP
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 53 -j ACCEPT # DNS
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 53 -j ACCEPT # DNS
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 80 -j ACCEPT # HTTP
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 80 -j ACCEPT # HTTP
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 22 -j ACCEPT # ssh
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 22 -j ACCEPT # ssh
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 107 -j ACCEPT # rtelnet
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 107 -j ACCEPT # rtelnet
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 110 -j ACCEPT # POP3
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 110 -j ACCEPT # POP3
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 995 -j ACCEPT # Secure POP3
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 995 -j ACCEPT # Secure POP3
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 143 -j ACCEPT # IMAP
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 143 -j ACCEPT # IMAP
$IPTABLES -A inet_to_lnet -m state --state NEW -p tcp --dport 3389 -j ACCEPT # Távsegítség
$IPTABLES -A inet_to_lnet -m state --state NEW -p udp --dport 3389 -j ACCEPT # Távsegítség
}
#
# A LAN-ról a tűzfalra érkező csomagok
#
lnet_to_fw() {
# Itt mindent engedünk
$IPTABLES -A lnet_to_fw -j ACCEPT
# Másik alternatíva : SSH-t engedünk, pingelni lehet, dhcp ok
$IPTABLES -A lnet_to_fw -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A lnet_to_fw -m state --state NEW -p tcp --dport 22 -j ACCEPT
$IPTABLES -A lnet_to_fw -m state --state NEW -p udp --dport 22 -j ACCEPT
$IPTABLES -A lnet_to_fw -m state --state NEW -p icmp -j ACCEPT
$IPTABLES -A lnet_to_fw -p udp --dport 67 -j ACCEPT # DHCP
$IPTABLES -A lnet_to_fw -j DROP
}
#
# A LAN-ról az internetre küldött csomagok
#
lnet_to_inet() {
# Itt mindent engedünk
$IPTABLES -A lnet_to_inet -j ACCEPT
}
#
# A tűzfalról a LAN-ra küldött csomagok
#
fw_to_lnet() {
# Itt mindent engedünk
$IPTABLES -A fw_to_lnet -j ACCEPT
}
#
# A tűzfalról az internetre küldött csomagok
#
fw_to_inet() {
# Itt mindent engedünk
$IPTABLES -A fw_to_inet -j ACCEPT
}
#
# Internet megosztása a LAN számára
#
nat() {
$IPTABLES -t nat -A POSTROUTING -o $INET_IF -j MASQUERADE
}
#
# Sysctl beállítások a /proc fájlrendszeren
#
sysctls() {
# ICMP redirect fogadásának kikapcsolása
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.accept_redirects=0 > /dev/null;
done
$SYSCTL -w net.ipv4.conf.all.accept_redirects=0 > /dev/null

# A forrás-routolási csomagok kikapcsolása
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.accept_source_route=0 > /dev/null;
done
$SYSCTL -w net.ipv4.conf.all.accept_source_route=0 > /dev/null

# A lehetetlen IP ről jövő csomagok loggolása
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.log_martians=1 > /dev/null;
done
$SYSCTL -w net.ipv4.conf.all.log_martians=1 > /dev/null

# Routolási háromszögelés illetve ip spoofing védelem
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.rp_filter=1 > /dev/null;
done
$SYSCTL -w net.ipv4.conf.all.rp_filter=1 > /dev/null

# ICMP redirect engedélyezése az átjáróknak
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.secure_redirects=1 > /dev/null;
done
$SYSCTL -w net.ipv4.conf.all.secure_redirects=1 > /dev/null

# ICMP redirect kikapcsolása Ha a gép router, írjuk át 1-re, és a
# többi host kap ICMP redirect-t
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.send_redirects=0 > /dev/null;
done
$SYSCTL -w net.ipv4.conf.all.send_redirects=0 > /dev/null

# PING-re válaszolunk - majd a láncokon szűrjük/kikapcsolhatjuk
$SYSCTL -w net.ipv4.icmp_echo_ignore_all=0 > /dev/null
# Ne válaszoljunk a broadcast PING-re
$SYSCTL -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
# Ne loggoljuk a hibás router broadcastokat
$SYSCTL -w net.ipv4.icmp_ignore_bogus_error_responses=1 > /dev/null
# IP routolás engedélyezése NAT-hoz
$SYSCTL -w net.ipv4.ip_forward=1 > /dev/null
}
#
# Sysctl visszaállítások
#
unsysctls() {
# Default értékeket visszaállítjuk
# --- mégjobb lenne: config fájlban elmenteni a tűzfal előtti
# beállításokat, és onnan visszamenteni! ---
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.accept_redirects=1 > /dev/null;
done
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.accept_source_route=0 > /dev/null;
done
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.log_martians=0 > /dev/null;
done
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.rp_filter=0 > /dev/null;
done
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.secure_redirects=1 > /dev/null;
done
for f in /proc/sys/net/ipv4/conf/*; do
$SYSCTL -w net.ipv4.conf.`basename $f`.send_redirects=1 > /dev/null;
done
$SYSCTL -w net.ipv4.icmp_echo_ignore_all=0 > /dev/null
$SYSCTL -w net.ipv4.icmp_echo_ignore_broadcasts=0 > /dev/null
$SYSCTL -w net.ipv4.icmp_ignore_bogus_error_responses=0 > /dev/null
$SYSCTL -w net.ipv4.ip_forward=0 > /dev/null
}
#
# Az internethozzáférés zárása
#
lock() {
LINE=`$IPTABLES -L inet_to_lnet -n | head -3 | tail -1`
if ! ( [ `echo $LINE | awk '{print $1}'` == "DROP" ] && [ `echo $LINE | awk '{print $2}'` == "all" ] && [ `echo $LINE | awk '{print $4}'` == "0.0.0.0/0" ] && [ `echo $LINE | awk '{print $5}'` == "0.0.0.0/0" ]); then
$IPTABLES -I inet_to_lnet 1 -j DROP
fi
LINE=`$IPTABLES -L inet_to_fw -n | head -3 | tail -1`
if ! ( [ `echo $LINE | awk '{print $1}'` == "DROP" ] && [ `echo $LINE | awk '{print $2}'` == "all" ] && [ `echo $LINE | awk '{print $4}'` == "0.0.0.0/0" ] && [ `echo $LINE | awk '{print $5}'` == "0.0.0.0/0" ]); then
$IPTABLES -I inet_to_fw 1 -j DROP
fi
}
#
# Az internethozzáférés engedélyezése
#
unlock() {
LINE=`$IPTABLES -L inet_to_lnet -n | head -3 | tail -1`
if [ `echo $LINE | awk '{print $1}'` == "DROP" ] && [ `echo $LINE | awk '{print $2}'` == "all" ] && [ `echo $LINE | awk '{print $4}'` == "0.0.0.0/0" ] && [ `echo $LINE | awk '{print $5}'` == "0.0.0.0/0" ]; then
$IPTABLES -D inet_to_lnet 1
fi
LINE=`$IPTABLES -L inet_to_fw -n | head -3 | tail -1`
if [ `echo $LINE | awk '{print $1}'` == "DROP" ] && [ `echo $LINE | awk '{print $2}'` == "all" ] && [ `echo $LINE | awk '{print $4}'` == "0.0.0.0/0" ] && [ `echo $LINE | awk '{print $5}'` == "0.0.0.0/0" ]; then
$IPTABLES -D inet_to_fw 1
fi
}
case "$1" in
start)
if [ ! -x $IPTABLES ]; then
echo "No iptables found so not starting firewall..."
exit 1
fi
echo " * Starting Firewall..."
sysctls
delete_chains
create_chains
basic_rules
inet_to_fw
inet_to_lnet
lnet_to_fw
lnet_to_inet
fw_to_lnet
fw_to_inet
nat
;;
stop)
echo " * Stopping Firewall..."
delete_chains
unsysctls
;;
restart)
$0 stop
sleep 1
$0 start
;;
lock)
echo " * Locking System & LAN from Internet access..."
lock
;;
unlock)
echo " * Unlocking System & LAN for Internet acccess..."
unlock
;;
list)
$IPTABLES -L -n
;;
*)
echo "Usage : $0 {start|stop|restart|lock|unlock}"
exit 1
;;
esac

Remélem így jó. Bocsi, hogy csak így bevágtam, de eredetileg nem nem néztem, hogy más a kódolás.