kompakte Doku für iptabels

Gemeinsam ins Internet mit Firewall und Proxy.
k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 18.07.2002 16:32:12

ipt_stat wird bei mir aber schon geladen.

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 18.07.2002 19:23:58

bei mir aber nicht. bekomme mit dem kleinen skript immer noch die fehlermeldung. wie kann ich das ipt_stat modul denn laden?

gruß
Debian Sarge

Benutzeravatar
feltel
Webmaster
Beiträge: 10373
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 18.07.2002 19:32:24

eigene achse hat geschrieben:bei mir aber nicht. bekomme mit dem kleinen skript immer noch die fehlermeldung. wie kann ich das ipt_stat modul denn laden?
Sollte sich das Modul nicht per modconf laden lassen?

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 18.07.2002 19:34:56

das hatte ich auch gedacht.
hab schon in meinen kernel einstellungen geschaut. habs aber nicht gefunden.
und bei modconf habe ich es auch nicht gefunden. sollte doch in dem menue sein wo auch die iptable sachen drin sind oder??
hmpf verzweifel.
danke für die hilfe.

gruß
Debian Sarge

Benutzeravatar
feltel
Webmaster
Beiträge: 10373
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 18.07.2002 19:45:22

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>

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 18.07.2002 19:48:29

ne ist nicht gesetzt. wo muss ich dass denn einstellen in welchem menue von meiner konfig?
Debian Sarge

Benutzeravatar
feltel
Webmaster
Beiträge: 10373
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 18.07.2002 19:53:42

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.

Code: Alles auswählen

#CONFIG_IP_NF_CONNTRACK is not set
CONFIG_IP_NF_FTP=m
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".

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 18.07.2002 20:02:05

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?
Debian Sarge

Benutzeravatar
feltel
Webmaster
Beiträge: 10373
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 18.07.2002 20:04:29

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?
Ja, das wird schon funktionieren. Wenn nicht, dann wirst Du eine entsprechende Ausgabe bekommen, wenn Du versuchst, damit nen Kernel zu kompilieren. 8)

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 18.07.2002 20:06:21

ok dann starte ich einfach mal.
mal sehen ob das geht.
hauaha
Debian Sarge

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 19.07.2002 07:37:50

also leider geht es immer noch nicht.
ich werde mich am woende nochmal
genauer um das problem kümmern.
aber danke erstmal für euer allen hilfe.

gruß
Debian Sarge

Luxus
Beiträge: 52
Registriert: 11.07.2002 18:09:25

Beitrag von Luxus » 19.07.2002 08:22:13

das ist glaub ich unter ipfilter oder so..
du musst nach dem kompilieren das module mit modconf auch anmachen

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 19.07.2002 09:24:00

hab ich schon geschaut. es taucht aber nicht auf.
ich werde das nochmal in ruhe probieren.
gruß
Debian Sarge

Benutzeravatar
eigeneachse
Beiträge: 752
Registriert: 28.01.2002 17:12:52
Wohnort: München
Kontaktdaten:

Beitrag von eigeneachse » 22.07.2002 08:18:47

also ich wollte nur abschliessend sagen das ich es jetzt hinbekommen habe.
hab einfach vergessen den eintrag für ipt_stat zu setzen.
naja wieder was dazugelernt.

danke an alle für die hilfe.

gruß
Debian Sarge

trozmo
Beiträge: 288
Registriert: 05.01.2003 20:01:03
Kontaktdaten:

Beitrag von trozmo » 18.01.2003 14:56:19

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
mmh ... habs probiert, geht erstmal nicht.

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 ?

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 18.01.2003 16:15:05

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 :)
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 19.01.2003 20:34:29

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
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten