105 lines
2.5 KiB
Text
105 lines
2.5 KiB
Text
|
################################################################################
|
|||
|
# LINUX FIREWALL
|
|||
|
# Nico Schottelius <Nico@Schottelius.Org>
|
|||
|
# Dec 2001
|
|||
|
################################################################################
|
|||
|
|
|||
|
########## TEST #### #DEV_OUT="eth1"
|
|||
|
DEV_OUT="eth0"
|
|||
|
DEV_INT="eth1"
|
|||
|
NET_INT="192.168.1.0/255.255.255.0"
|
|||
|
|
|||
|
# Das NAT-Modul laden (dies zieht all die andern mit).
|
|||
|
modprobe iptable_nat
|
|||
|
|
|||
|
# erstmal aufraeumen:
|
|||
|
# benutzerdefinierte chains von filter loeschen
|
|||
|
iptables -X
|
|||
|
|
|||
|
# filter aufraeumen. loescht alle chains
|
|||
|
iptables -F
|
|||
|
|
|||
|
# auch in nat
|
|||
|
iptables -t nat -F
|
|||
|
|
|||
|
|
|||
|
##################
|
|||
|
#
|
|||
|
# NAT/Masquarading
|
|||
|
#
|
|||
|
|
|||
|
# In der NAT-Tabelle (-t nat) eine Regel fuer alle an ppp0 (-o ppp0)
|
|||
|
# ausgehenden Pakete hinter dem Routing (POSTROUTING), die maskiert
|
|||
|
# werden sollen, anhaengen (-A).
|
|||
|
iptables -t nat -A POSTROUTING -o $DEV_OUT -j MASQUERADE
|
|||
|
|
|||
|
# IP-Forwarding aktivieren
|
|||
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
|||
|
|
|||
|
# auch dynamische Adresse
|
|||
|
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
|
|||
|
|
|||
|
#################
|
|||
|
#
|
|||
|
# INPUT Pakete an diesen Rechner
|
|||
|
#
|
|||
|
|
|||
|
# von intranet alles erlauben
|
|||
|
iptables -A INPUT -s $NET_INT -j ACCEPT
|
|||
|
|
|||
|
# erlaube SSH von ueberall (auch inet)
|
|||
|
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
|
|||
|
|
|||
|
# civ
|
|||
|
iptables -A INPUT -p tcp --dport 5555 -j ACCEPT
|
|||
|
|
|||
|
# UDP Pakete aus lokalem Netz passieren lassen
|
|||
|
# iptables -A INPUT -p udp -s $NET_INT -j ACCEPT
|
|||
|
|
|||
|
# UDP-Pakete von Name-Servern durchlassen
|
|||
|
iptables -A INPUT -p udp --sport 53 -j ACCEPT
|
|||
|
|
|||
|
# ICMP-Pakete (z.B. Ping) aus lokalem Netz erlauben
|
|||
|
iptables -A INPUT -p icmp -s $NET_INT -j ACCEPT
|
|||
|
|
|||
|
# ICMP-Pakete (z.B. Ping) generell verbieten
|
|||
|
#iptables -A INPUT -p icmp -j DROP
|
|||
|
|
|||
|
# lokale arbeit zulassen (loopback)
|
|||
|
iptables -A INPUT -i lo -j ACCEPT
|
|||
|
|
|||
|
# sonst nur packete aus vorhandenen verbindungen
|
|||
|
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|||
|
|
|||
|
# Policy (Standardverhalten am Regelende): Paket verwerfen
|
|||
|
iptables -P INPUT DROP
|
|||
|
|
|||
|
###############
|
|||
|
#
|
|||
|
# FORWARD Geroutete Packete
|
|||
|
#
|
|||
|
|
|||
|
# Policy (Standardverhalten am Regelende): Paket verwerfen
|
|||
|
iptables -P FORWARD DROP
|
|||
|
|
|||
|
# Pakete aus lokalem Netz erlauben und routen
|
|||
|
iptables -A FORWARD -s $NET_INT -j ACCEPT
|
|||
|
|
|||
|
# man koennte es auch nur auf ftp beschraenken:
|
|||
|
##iptables -A FORWARD -o $DEV_OUT -p tcp --sport 1024:65535 --dport ftp -m state --state NEW -j ACCEPT
|
|||
|
|
|||
|
# zu routende Pakete nur durchlassen, wenn von innen oder zu einer
|
|||
|
# bestehenden Verbindung geh<65>rig
|
|||
|
#
|
|||
|
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|||
|
|
|||
|
|
|||
|
##################
|
|||
|
#
|
|||
|
# OUTPUI von uns (lokal)
|
|||
|
#
|
|||
|
|
|||
|
# Policy (Standardverhalten am Regelende): Paket durchlassen
|
|||
|
iptables -P OUTPUT ACCEPT
|
|||
|
|