Ab dem Kernel 2.4 gibt es die Iptables - ein Portfilter welcher mit dem Kernel geliefert wird. Mit diesem Dokument versuche ich einige Dinge zu beschreiben, welche ich benötigt habe. Mehr Infos findet man unter der offiziellen http://www.netfilter.org
Am besten ihr beschafft euch diese Tools "iptraf" und "tcpdump" - Damit könnt ihr alles mitverfolgen und die Packete mitsniffen... :o)
iptables -A/-I/-D/-N/-X INPUT/OUTPUT/FORWARD -s $SRC_IP -d $DST_IP --sport $SRC_PORT --dport $DST_PORT -i $ETH_EXT -p all/tcp/udp/icmp -j ACCEPT/DROP/REJECT
iptables -F
iptables --flush
iptables -L -n
iptables --list -n
iptables -A INPUT -p all -j DROP
iptables -A FORWARD -p all -j DROP
iptables -A OUTPUT -p all -j DROP
iptables -A INPUT -p all -j REJECT --reject-with icmp-port-unreachable
iptables -A FORWARD -p all -j REJECT --reject-with icmp-port-unreachable
iptables -A OUTPUT -p all -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -d $EXT_IP -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -i eth1 -j ACCEPT iptables -A INPUT -m state --state NEW -i eth1 -j DROP
iptables -A INPUT -d $EXT_IP -p icmp -j LOG --log-level debug/info/notice/warning/err/crit/alert/emerg --log-prefix "PING "
iptables -A INPUT -d $EXT_IP -m string --string "default.ida" -p tcp -j REJECT
Es gibt noch einige spezielle Tabellen welche mit dem normalen "iptables -L" nicht angezeigt werden.
#Iptables Tabelle FILTER ausgeben
iptables -t filter -n -L
#Iptables Tabelle MANGLE ausgeben
iptables -t mangle -n -L
#Iptables Tabelle NAT ausgeben
iptables -t nat -n -L
echo 1 > /proc/sys/net/ipv4/ip_forward (IP Forwarding aktivieren)
iptables -A INPUT -i $IF_INT -s $INT_NET -d 0.0.0.0/0 -m state --state NEW/ESTABLISHED/RELATED -p all -j ACCEPT ()
iptables -t nat -n -L (NAT Tabelle anzeigen)
iptables -t nat -A POSTROUTING -o $IF_EXT -p tcp -j MASQUERADE (MASQUERADING aktivieren)
iptables -A FORWARD -s $INT_NET -p tcp -j ACCEPT (Forward INT --> EXT)
iptables -A FORWARD -d $INT_NET -p tcp -j ACCEPT (Forward EXT --> INT)
echo 1 > /proc/sys/net/ipv4/ip_forward (IP Forwarding aktivieren)
iptables -A INPUT -i eth1 -d $EXT_IP --dport 8080 -j ACCEPT (Zugriff auf Port 8080 erlauben)
iptables -t nat -n -L (NAT Tabelle anzeigen)
iptables -t nat -A PREROUTING -i eth1 -d $EXT_IP --dport 8080 -p tcp -j DNAT --to $INT_IP:$INT_PORT (NAT aktivieren)
iptables -A FORWARD -d $INT_IP --dport $INT_PORT -p tcp -j ACCEPT (Forward EXT --> INT)
iptables -A FORWARD -s $INT_IP --sport $INT_PORT -p tcp -j ACCEPT (Forward INT --> EXT)
Da es beim Masquerading zu Problemen mit FTP Verbindungen kommen kann, sollten zusätzich die Kernelmoduule "ip_conntrack" und "ip_conntrack_ftp" geladen werden.
insmod ip_conntrack
insmod ip_conntrack_ftp
Zur Linux Startseite home.icewolf.ch/linux/ | Copyright © 2003 - Andres Bohren Icewolf Software