Hallo an alle
Ich habe alle meine Problemchen gelöst und möchte der Vollständigkeit
halber eine Zusammenfassung geben
Das Hauptproblem war die Windowsbüchse in Wohnung eins.
Darin sind 2 Netzwerkkarten. Eine für das DSL-Modem und eine für das
interne Netz. Der Netzwerkkarte für das DSL-Modem war keine IP
zugeordnet (braucht ja auch nicht).
Windows hat (aus Gründen, die ich nicht verstehe) immer alle
Verbindungsversuche auf die Intranetkarte abgeblockt und wie ich
feststellen musste, stattdessen versucht über die unkonfigurierte
"Modemkarte" mit meinem Server zu kommunizieren. Erkennbar war nur, dass
der Einwahldialog vom DSL aufpoppte.
Erst nachdem ich dieser Karte eine IP zugewiesen habe, war ein Ping möglich.
Die Firewall habe ich jetzt richtig konfiguriert (ftp fehlt noch) und
möchte auch hier das Ergebnis kurz anhängen:
@Christian
Das Masquerading schalte ich nur für den gewünschten Port frei und nicht
für alle. Das macht mehr Arbeit verspricht aber einen höheren
Schwierigkeitsgrad für Ausbrecher und nach Hause Telefonierer.
Das gibt dann einen derartige Zeile:
iptables -A POSTROUTING -t nat -s 192.168.92.0/24 -m state --state NEW
-p tcp --dport 443 -j MASQUERADE
Für alle Neugierigen habe ich noch die komplette Konfigurationsdatei der
Firewall angehängt.
Als Quelle für Infos hat mir am besten geholfen:
http://www.pro-linux.de/t_netzwerk/iptables.html
http://www.pro-linux.de/t_netzwerk/routing.html
MfG
Andreas
Andreas Oettel schrieb:
Hallo an alle,
ich habe ein kleines Problem, wo ich mittlerweile nicht mehr weiß wonach
ich im Google suchen soll.
Ich habe hier eine Netzwerk das 2 Wohnungen miteinander verbindet.
Wohnung 1
darin ist ein Switch,
an dem hängt ein Rechner mit der IP 192.168.68.1
und ein DSL-Modem
Wohnung 2
darin ist ein Switch,
an dem hängt mein Server (Router, Firewall, Datenspeicher) mit _einer_
Netzwerkkarte und _zwei_ IP's (die erste ist die 192.168.92.11 für ein
Wohnungsinternes Netzwerk und die zweite ist die 192.168.68.11 um den
Rechner aus Wohnung 1 anzubinden)
Dieser Rechner wählt sich auch mittels dem DSL-Modem in Wohnung 1 in die
bunte weite Netzwelt ein.
Ich habe iptables (siehe Abschnitt unten "firewall") soweit
konfiguriert, dass ich von Wohnung 2 aus auf alle Dienste des Servers
(IMAP, SQUID, dnsmasq usw.) und auf das Internet zugreifen kann.
Jetzt möchte ich Wohnung 1 auch über den Server routen und (nur) das
Internet und die dafür notwendigen Dienste zur Verfügung stellen.
Ich scheitere aber schon mal daran, dass ich nicht mal einen Ping
hinbekomme. Es kommt immer Netzwerk nicht erreichbar.
Kann mir jemand ein Tip geben, wo ich suchen muss?
Habe ich hier ein Problem mit der Serverkonfiguration oder evtl. den
beiden Switchen?
Die Switche sind der übliche Endkundenkram. Kabel einstecken ist alles
was man bei den Dingern machen kann.
Danke für die Hilfe
Andreas
Anhang:
Abschnitt
"firewall" (gekürzt)
"interfaces"
Datei
"firewall" (ungekürzt)
-------Datei "firewall"----------
case "$1" in
start)
echo "Starte IP-Paketfilter"
# iptables-Modul
modprobe ip_tables
# Connection-Tracking-Module
modprobe ip_conntrack
# Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19
# verfuegbar
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# MY_REJECT-Chain
iptables -N MY_REJECT
# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG
--log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG
--log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with
icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG
--log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix
"REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix
"PORTSCAN DROP "
iptables -A MY_DROP -j DROP
# Alle verworfenen Pakete protokollieren
iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h
-j LOG --log-prefix "INPUT INVALID "
iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h
-j LOG --log-prefix "OUTPUT INVALID "
iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h
-j LOG --log-prefix "FORWARD INVALID "
# Korrupte Pakete zurueckweisen
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
# Stealth Scans etc. DROPpen
# Keine Flags gesetzt
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
# SYN und FIN gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
# SYN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
# FIN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
# FIN ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
# PSH ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
# URG ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
# Loopback-Netzwerk-Kommunikation zulassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS
--clamp-mss-to-pmtu
# Connection-Tracking aktivieren
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -i ! ra0 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ! ppp0 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# HTTP
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 3128 -j ACCEPT
iptables -A PREROUTING -t nat -s 192.168.92.0/16 -p tcp --dport 80
-j REDIRECT --to-ports 3128
# HTTPS
iptables -A POSTROUTING -t nat -s 192.168.92.0/16 -m state --state
NEW -p tcp --dport 443 -j MASQUERADE
# SMTP
iptables -A POSTROUTING -t nat -s 192.168.92.0/16 -m state --state
NEW -p tcp --dport 25 -j MASQUERADE
# SMTPS
iptables -A POSTROUTING -t nat -s 192.168.92.0/16 -m state --state
NEW -p tcp --dport 465 -j MASQUERADE
# IMAPS
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 993 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.92.0/16 -m state --state
NEW -p tcp --dport 993 -j MASQUERADE
# DNS
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 53 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 53 -j ACCEPT
# SMB/CIFS
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 445 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 445 -j ACCEPT
# SSH
iptables -A INPUT -s 192.168.92.0/16 -m state --state
NEW,ESTABLISHED,RELATED -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -d 192.168.92.0/16 -m state --state
NEW,ESTABLISHED,RELATED -p tcp --dport 22 -j ACCEPT
# DHCP
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 67 -j ACCEPT
iptables -A OUTPUT -d 192.168.92.0/16 -m state --state NEW -p udp
--dport 67 -j ACCEPT
# NTP
iptables -A INPUT -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 123 -j ACCEPT
# ICMP Echo-Request (ping) zulassen und beantworten
iptables -A INPUT -m state --state NEW -p icmp --icmp-type
echo-request -j ACCEPT
# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
iptables -A FORWARD -j MY_REJECT
# Forwarding/Routing
echo "Aktiviere IP-Routing"
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
# SYN-Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
# Stop Source-Routing
for i in /proc/sys/net/ipv4/conf/*; do echo 0 >
$i/accept_source_route 2> /dev/null; done
# Stop Redirecting
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects
2> /dev/null; done
# Log Martians
for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2>
/dev/null; done
# BOOTP-Relaying ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2>
/dev/null; done
# Proxy-ARP ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2>
/dev/null; done
# Ungültige ICMP-Antworten ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2>
/dev/null
# ICMP Echo-Broadcasts ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
# Max. 500/Sekunde (5/Jiffie) senden
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
# Speicherallozierung und -timing für IP-De/-Fragmentierung
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time
# TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
# Maximal 3 Antworten auf ein TCP-SYN
echo 3 > /proc/sys/net/ipv4/tcp_retries1
# TCP-Pakete maximal 15x wiederholen
echo 15 > /proc/sys/net/ipv4/tcp_retries2
;;
stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward
# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;
status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;
*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;
esac
-------Datei "interfaces"--------
# The primary network interface
allow-hotplug eth2
iface eth2 inet static
address 192.168.92.11
netmask 255.255.255.0
network 192.168.92.0
broadcast 192.168.92.255
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
dns-search doham.de
auto eth2
allow-hotplug eth2:0
iface eth2:0 inet static
address 192.168.68.11
netmask 255.255.255.0
network 192.168.68.0
broadcast 192.168.68.255
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
dns-search doham.de
auto eth2:0
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth2 up # line maintained by pppoeconf
provider dsl-provider
------------------------------------------------------------------------
_______________________________________________
Lug-dd maillist - Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd
#!/bin/bash
# ---------------------------------------------------------------------
# Linux-iptables-Firewallskript, Copyright (c) 2007 under the GPL
# Autogenerated by iptables Generator v1.22 (c) 2002-2007 by Harald Bertram
# Please visit http://harry.homelinux.org for new versions of
# the iptables Generator (c).
#
# This Script was generated by request from:
# rc5.dres...@gmx.net on: 2007-10-25 22:16.50 MET.
#
# If you have questions about the iptables Generator or about
# your Firewall-Skript feel free to take a look at out website or
# send me an E-Mail to webmas...@harry.homelinux.org.
#
# My special thanks are going to Lutz Heinrich (trinitywork at hotmail dot com)
# who made lots of Beta-Testing and gave me lots of well qualified
# Feedback that made me able to improve the iptables Generator.
# --------------------------------------------------------------------
case "$1" in
start)
echo "Starte IP-Paketfilter"
# iptables-Modul
modprobe ip_tables
# Connection-Tracking-Module
modprobe ip_conntrack
# Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# MY_REJECT-Chain
iptables -N MY_REJECT
# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix
"REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix
"REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix
"DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT
OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN
DROP "
iptables -A MY_DROP -j DROP
# Alle verworfenen Pakete protokollieren
iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG
--log-prefix "INPUT INVALID "
iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG
--log-prefix "OUTPUT INVALID "
iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG
--log-prefix "FORWARD INVALID "
# Korrupte Pakete zurueckweisen
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
# Stealth Scans etc. DROPpen
# Keine Flags gesetzt
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
# SYN und FIN gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
# SYN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
# FIN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
# FIN ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
# PSH ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
# URG ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
# Loopback-Netzwerk-Kommunikation zulassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS
--clamp-mss-to-pmtu
# Connection-Tracking aktivieren
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ! ppp0 -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Protokolle freigeben
# HTTP
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p tcp
--dport 3128 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.68.0/24 -m state --state NEW -p tcp
--dport 3128 -j ACCEPT
# HTTPS
iptables -A POSTROUTING -t nat -s 192.168.92.0/24 -m state --state NEW -p
tcp --dport 443 -j MASQUERADE
iptables -A POSTROUTING -t nat -s 192.168.68.0/24 -m state --state NEW -p
tcp --dport 443 -j MASQUERADE
# SMTP
iptables -A POSTROUTING -t nat -s 192.168.92.0/24 -m state --state NEW -p
tcp --dport 25 -j MASQUERADE
iptables -A POSTROUTING -t nat -s 192.168.68.0/24 -m state --state NEW -p
tcp --dport 25 -j MASQUERADE
# SMTPS
iptables -A POSTROUTING -t nat -s 192.168.92.0/24 -m state --state NEW -p
tcp --dport 465 -j MASQUERADE
iptables -A POSTROUTING -t nat -s 192.168.68.0/24 -m state --state NEW -p
tcp --dport 465 -j MASQUERADE
# POP3
iptables -A POSTROUTING -t nat -s 192.168.68.0/24 -m state --state NEW -p
tcp --dport 110 -j MASQUERADE
# POP3S
iptables -A POSTROUTING -t nat -s 192.168.68.0/24 -m state --state NEW -p
tcp --dport 995 -j MASQUERADE
# IMAPS
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p tcp
--dport 993 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.92.0/24 -m state --state NEW -p
tcp --dport 993 -j MASQUERADE
# DNS
iptables -A INPUT -i eth2 -s 192.168.92.0/16 -m state --state NEW -p tcp
--dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/16 -m state --state NEW -p udp
--dport 53 -j ACCEPT
# SMB/CIFS
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p tcp
--dport 137 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p tcp
--dport 138 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p tcp
--dport 139 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p tcp
--dport 445 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p udp
--dport 137 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p udp
--dport 138 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p udp
--dport 139 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p udp
--dport 445 -j ACCEPT
# SSH
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state
NEW,ESTABLISHED,RELATED -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth2 -d 192.168.92.0/24 -m state --state
NEW,ESTABLISHED,RELATED -p tcp --dport 22 -j ACCEPT
# DHCP
iptables -A INPUT -i eth2 -m state --state NEW -p udp --dport 67 -j ACCEPT
iptables -A OUTPUT -o eth2 -m state --state NEW -p udp --dport 67 -j ACCEPT
# NTP
iptables -A INPUT -i eth2 -s 192.168.92.0/24 -m state --state NEW -p udp
--dport 123 -j ACCEPT
# ICMP Echo-Request (ping) zulassen und beantworten
iptables -A INPUT -i eth2 -m state --state NEW -p icmp --icmp-type
echo-request -j ACCEPT
# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
iptables -A FORWARD -j MY_REJECT
# Forwarding/Routing
echo "Aktiviere IP-Routing"
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
# SYN-Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
# Stop Source-Routing
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2>
/dev/null; done
# Stop Redirecting
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2>
/dev/null; done
# Reverse-Path-Filter
# Auskommentiert, da IPSEC mit RP_Filter nicht funktioniert!
# for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2>
/dev/null; done
# Log Martians
for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2>
/dev/null; done
# BOOTP-Relaying ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2>
/dev/null; done
# Proxy-ARP ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null;
done
# Ungültige ICMP-Antworten ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null
# ICMP Echo-Broadcasts ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
# Max. 500/Sekunde (5/Jiffie) senden
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
# Speicherallozierung und -timing für IP-De/-Fragmentierung
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time
# TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
# Maximal 3 Antworten auf ein TCP-SYN
echo 3 > /proc/sys/net/ipv4/tcp_retries1
# TCP-Pakete maximal 15x wiederholen
echo 15 > /proc/sys/net/ipv4/tcp_retries2
;;
stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward
# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;
status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;
*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;
esac
_______________________________________________
Lug-dd maillist - Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd