df2daf524d
Signed-off-by: Nico Schottelius <nico@manager.schottelius.org>
104 lines
2.5 KiB
Text
104 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
|
||
|