kompakte Doku für iptabels
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- feltel
- Webmaster
- Beiträge: 10373
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Schau mal in Deiner Kernelkonfiguration, ob CONFIG_IP_NF_MATCH_STATE als Modul kompiliert ist.
Code: Alles auswählen
grep CONFIG_IP_NF_MATCH_STATE /boot/config-2.4.<DEINEKERNELVERION>
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- feltel
- Webmaster
- Beiträge: 10373
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Hmmm, hab ehrlichgesagt keine Ahnung, wo genau das bei make menuconfig steht. Mach die Änderungen doch direkt in der Datei /usr/src/linux/.config
Das ist ne ganz normale Textdatei, wo z.B.
drinsteht. Um eine Option als Modul zu kompilieren machst Du vorne den Gartenzaun weg und ersetzt das "is not set" durch "=m". Prüfe dabei gleich mal, ob alle in http://iptables-tutorial.haringstad.com ... html#AEN70 genannten Optionen auch gesetzt sind.
Dann kannst Du mit den üblichen Tools nen neuen Kernel kompilieren.
Wenn Du make-kpkg verwendest mach aber vorher noch ein "make-kpkg clean".
Das ist ne ganz normale Textdatei, wo z.B.
Code: Alles auswählen
#CONFIG_IP_NF_CONNTRACK is not set
CONFIG_IP_NF_FTP=m
Dann kannst Du mit den üblichen Tools nen neuen Kernel kompilieren.
Wenn Du make-kpkg verwendest mach aber vorher noch ein "make-kpkg clean".
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- feltel
- Webmaster
- Beiträge: 10373
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Ja, das wird schon funktionieren. Wenn nicht, dann wirst Du eine entsprechende Ausgabe bekommen, wenn Du versuchst, damit nen Kernel zu kompilieren.eigene achse hat geschrieben:also dei textdatei habe ich editiert. aber leider war da kein eintrag. ich habe halt jetzt einfach mal die zeile so eingefügt.
bringt das denn überhaupt was wenn ich das so gemacht habe?
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
- eigeneachse
- Beiträge: 752
- Registriert: 28.01.2002 17:12:52
- Wohnort: München
-
Kontaktdaten:
mmh ... habs probiert, geht erstmal nicht.glatzor hat geschrieben:Hier ist mal mein Skript von daheim. Ich habe einen Bind- und einen Squid-Server auf meinem Router laufen:#!/bin/sh
# ***************************
# ***************************
# * *
# * 1. SETZEN VON VARIABLEN *
# * *
# ***************************
# ***************************
# 1.1. Netzwerkvariablen
# Schnittstelle zum lokalen Netzwerk
IFACE_INT=eth0
# Internetschnittstelle
IFACE_EXT=ppp0
# Loopback device
IFACE_LO=lo
# Interner Netzwerkbereich
NET_INT=10.1.1.0/24
# 1.2. PIDs
# Auslesen des PIDs von Bind
BIND=`cat /var/run/named.pid`
function StopFirewall() {
# **********************************
# **********************************
# * *
# * 2. HERUNTERFAHREN DER FIREWALL *
# * *
# **********************************
# **********************************
# Ausschalten des Routing
echo "0" > /proc/sys/net/ipv4/ip_forward
# Default-Policies: Alles rein und raus, kein Forwarding mehr
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Löschen aller Regeln
iptables -F
iptables -t nat -F
# Löschen aller zusätzlichen Ketten
iptables -X
iptables -t nat -X
}
function StartFirewall() {
# ***************************
# ***************************
# * *
# * 3. Starten der Firewall *
# * *
# ***************************
# ***************************
# 3.1 Allgemeines
# Default-Policies setzen - alles fliegt raus
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Einschalten von ip-Forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
# Wegen moeglicher Netzwerkprobleme zwecks MTU
iptables -I FORWARD -p TCP --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
# 3.1.1. Eigene Kette zum gleichzeitigen Protokollieren und Rausschmeissen
# Eigene Kette erstellen
iptables -N RAUS
# Protokollieren
iptables -A RAUS -j LOG -m limit --limit 5/minute \
--log-prefix "Boses Packet: "
# Raussschmeissen
iptables -A RAUS -j DROP
# 3.2. Regeln fuer eingehende Pakete
# 3.2.1. Vom internen Netzwerk
# Alles erlauben
iptables -A INPUT -i $IFACE_INT -s $NET_INT -j ACCEPT
# 3.2.2. Vom Loopback
# Alles erlauben
iptables -A INPUT -i $IFACE_LO -j ACCEPT
# 3.2.3. Vom Internet
# Soll nicht sein
iptables -A INPUT -p TCP ! --syn -m state --state NEW -j RAUS
# Darf auch nicht sein
iptables -A INPUT -i $IFACE_EXT -s 10.0.0.0/8 -j RAUS
iptables -A INPUT -i $IFACE_EXT -s 172.16.0.0/12 -j RAUS
iptables -A INPUT -i $IFACE_EXT -s 192.168.0.0/24 -j RAUS
# Erlauben von bereits initialisierten TCP-Verbindungen
iptables -A INPUT -i $IFACE_EXT -p TCP -m state \
--state ESTABLISHED,RELATED -j ACCEPT
# Erlauben von bereits initialisierten UDP-Verbindungen von Zeitservern
iptables -A INPUT -i $IFACE_EXT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 123 -j ACCEPT
# Erlauben von bereits initialisierten Verbindungen von DNS
iptables -A INPUT -i $IFACE_EXT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 53 -j ACCEPT
# Verbindungen zum Identserver erlauben
iptables -A INPUT -i $IFACE_EXT -p TCP --dport 113 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p UDP --dport 113 -j ACCEPT
# Erlauben der notwendigsten ICMP-Pakete
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 0 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 3 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 5 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 11 -j ACCEPT
# 3.3. Regeln fuers Forwarding
# 3.3.1. Lokal -> Internet
# Erlauben von Telnet, SSH, FTP, SMTP, POP3, SHTML Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p TCP -m multiport \
--dport 20,21,22,25,80,110,443 -j ACCEPT
# Erlauben von Highport-Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p TCP \
--dport 1024:65000 -j ACCEPT
# ICQ-Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p UDP \
--dport 4000 -j ACCEPT
# 3.3.2. Internet -> Lokales
# Nur UDP-Verkehr über bereits bestehende ICQ-Verbindungen erlauben
iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 4000 -j ACCEPT
# Nur TCP-Verkehr über bereits bestehende Verbindungen erlauben
iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p TCP -m state \
--state ESTABLISHED,RELATED -j ACCEPT
# 3.4. Regeln für ausgehende Pakete
# 3.4.1. Ins lokale Netzwerk
# Alles erlauben
iptables -A OUTPUT -o $IFACE_INT -j ACCEPT
# 3.4.2. Ans Loopback
# Alles erlauben
iptables -A OUTPUT -o $IFACE_LO -j ACCEPT
# 3.4.3. Ins Internet
# DNS den Verkehr ins Internet erlauben - falls den einer läuft
if [ $BIND != "" ]; then
iptables -A OUTPUT -o $IFACE_EXT -p UDP -m owner \
--pid-owner=$BIND --dport 53 -j ACCEPT
fi
# Squid-Proxy den TCP-Verkehr ins Internet erlauben
iptables -A OUTPUT -o $IFACE_EXT -p TCP -m owner --uid-owner=13 -j ACCEPT
# Dem Ident-Server Verkehr ins Internet erlauben
iptables -A OUTPUT -o $IFACE_EXT -p UDP --sport 113 -j ACCEPT
iptables -A OUTPUT -o $IFACE_EXT -p TCP --sport 113 -j ACCEPT
# Verkehr zu einem Zeitserver erlauben
iptables -A OUTPUT -o $IFACE_EXT -p UDP --dport 123 -j ACCEPT
# ICMP-Verkehr ins Internet erlauben
iptables -A OUTPUT -o $IFACE_EXT -p ICMP -j ACCEPT
# 3.5. Routing
# Masquerading
iptables -A POSTROUTING -o $IFACE_EXT -t nat -j MASQUERADE
# Direkte Verbindungen für ICQ zu mir umleiten
iptables -t nat -A PREROUTING -i $IFACE_EXT -p TCP \
--dport 6000:6010 -j DNAT --to 10.1.1.20
# 3.6. Mitprotokollieren
iptables -A OUTPUT -j LOG --log-prefix "Nicht raus: "
iptables -A FORWARD -j LOG --log-prefix "Nicht durch: "
iptables -A INPUT -j LOG --log-prefix "Nicht rein: "
}
# **********************
# **********************
# * *
# * START-STOP-SKRIPT *
# * *
# **********************
# **********************
case "$1" in
start)
echo -n "Starting firewall: iptables"
StartFirewall
;;
stop)
echo "Stopping firewall: iptables"
StopFirewall
echo "."
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/firewall {start|stop|restart" \
"|force-reload}"
exit 1
;;
esac
ist das startscript extra zu behandeln ? wenn ja wie ?
oder reicht es, das ganze script in /etc/init.d/ zu packen und alles ist gut ??
die startup-scripts unter debian machen mich kirre.
alles unter init.d wird doch beim start ausgeführt oder ?
wozu sind dann die rcX.d-verzeichnisse da ? um scripte beim shutdown auszuführen ?
schau mal hier nach:
http://www.openoffice.de/linux/Debian/init.html
da ist alles schön erklärt. ansonsten solltest du im forum einige threads zu den initscripten finden
http://www.openoffice.de/linux/Debian/init.html
da ist alles schön erklärt. ansonsten solltest du im forum einige threads zu den initscripten finden
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Ich will hier ja nicht den Forum Nazi markieren, aber war es echt nötig glatzors Skript nochmal komplett zu quoten?
Antwort: Nein.
Danke, Patrick
Antwort: Nein.
Danke, Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de