IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Server/Internet/Netzwerk - IP-Tables Script



IP-Tables Script

Funktioniere Deinen Linux-Server zu einem Router um!


Autor: Jochen Jasch (einliterbier)
Datum: 30-04-2003, 23:42:05
Referenzen: googlegroups und Internet
Schwierigkeit: Fortgeschrittene
Ansichten: 4445x
Rating: 8.5 (2x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Hier ein fertiges Script - es beinhaltet noch ein paar Bugs, aber im Großen und Ganzen ist es für den Alltagslinuxuser genug.

Wichtig: Da ich die DNS-Adressen nicht berücksichtigt habe, müssen diese bei den einzelnen Clients noch eingetragen werden.

WARNUNG!!! - Dieses Script wird nicht als "sicher" bewertet, es soll lediglich als Grundlage verwendet werden.

Installation
  1. in das Verzeichnis /etc/init.d/ wechseln
  2. touch ipfw // eine datei mit beliebigen Namen erstellen
  3. update-rc.d ipfw start 99 2 3 4 5 . // integrieren der Datei (den Punkt am Ende nicht vergessen)
  4. chmod 0755 ipfw // die Rechte setzen
  5. Den Inhalt in "ipfw" kopieren
  6. Fertig!
Inhalt

##########################################################
# Super IP-Tables Script von Jochen Jasch ################
# http://www.jjasch.com ##################################
# master@jjasch.com ######################################
##########################################################
# Erstellt am 16.04.03 ###################################
# Verfeinert am 28.04.03 #################################
##########################################################


#/bin/sh

echo "Starting firewalling ..."

echo "........................"

##########################################################
# IP-Adresse bestimmen (nicht unbedingt notwendig) #######
##########################################################

IPADDR=$(/sbin/ifconfig |

/bin/grep P-t-P |

/usr/bin/cut -c 21-38 |

/bin/awk '{print $1}' ) # optain current IP address

###########################################################
# Variablen definieren ####################################
###########################################################

EXTERNAL_INTERFACE="eth0" # Internet connected interface

LOOPBACK_INTERFACE="lo" # or your local naming convention

LOCAL_INTERFACE_1="eth1" # internal LAN interface

LOCALNET_1="192.168.0.0/24" # whatever private range you have

ANYWHERE="0/0" # match any IP address

DHCP_SERVER="0/0"

NAMESERVER_1="195.34.133.10"

NAMESERVER_2="195.34.133.11"

echo "external interface $EXTERNAL_INTERFACE $IPADDR"

echo "local interface $LOCAL_INTERFACE_1 $LOCALNET_1"

SMTP_SERVER="0/0" # Your ISP mail gateway. Your relay.

IMAP_SERVER="0/0" # Your ISP mail gateway.

LOOPBACK="127.0.0.0/8" # reserved Loopback address range

PRIVPORTS="0-1023" # well known, privileged port range.

UNPRIVPORTS="1024-65535" # unprivileged port range.

#################################################################
# Alle Regeln aufheben ##########################################
#################################################################

iptables -F
iptables -F -t nat
iptables -F -t filter

#################################################################
# IP Forwarding aktivieren ######################################
#################################################################

echo 1> /proc/sys/net/ipv4/ip_forward


################################################################
# Unlimitierter Traffic am LOOPBACK ############################
################################################################

iptables -A INPUT -i $LOOPBACK_INTERFACE -j ACCEPT
iptables -A OUTPUT -o $LOOPBACK_INTERFACE -j ACCEPT
iptables -A INPUT -j ACCEPT -p all -s 192.168.1.0/24
iptables -A OUTPUT -j ACCEPT -p all -d 192.168.1.0/24
iptables -A INPUT -i $LOCAL_INTERFACE_1 -s $LOCALNET_1 -j ACCEPT
iptables -A OUTPUT -o $LOCAL_INTERFACE_1 -d $LOCALNET_1 -j ACCEPT
iptables -A POSTROUTING -t nat -o $EXTERNAL_INTERFACE -j MASQUERADE

iptables -A INPUT -j ACCEPT -p all -s 127.0.0.1/8
iptables -A OUTPUT -j ACCEPT -p all -d 127.0.0.1/8


###############################################################
# Traffic am Server ###########################################
###############################################################

iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 21 -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 21 -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 20 -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT
 
iptables -A INPUT -p tcp -s 0/0 --dport 113 -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 443 -j ACCEPT


##########################################################
# ganz brauchbar... (nicht notwendig)#####################
# zum "Gamen" zum Beispiel :-) ###########################
##########################################################

#iptables -A INPUT -p udp -s 0/0 --dport 2302:2400 -j ACCEPT
#iptables -A INPUT -p udp -s 0/0 --dport 2300 -j ACCEPT
#iptables -A INPUT -p udp -s 0/0 --dport 6073 -j ACCEPT

#iptables -A FORWARD -p udp -m state --state ESTABLISHED,RELATED \
#-j ACCEPT

#iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 2302:2400 \
#-j DNAT --to-destination 192.168.0.1:2302-2400

#iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 2300 -j DNAT \
#--to-destination 192.168.0.1:2300

#iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 6073 -j DNAT \
#--to-destination 192.168.0.1:6073

#iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 2605:2615 -j \
#DNAT --to-destination 192.168.0.1:2605-2615

echo "done"

exit 0


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1157
Comments: 0