Routing
Routing
Hallo,
ich habe da ein kleines Problem mit meine Linux Rechner den ich als Router einsetzen möchte. In diesem ist ein ISDN Karte eingebaut, welche gut funktioniert. Versuche ich aber über mein Netzwerk von einem andern Rechner in Internet zu kommen, sehe ich das eine Verbindung aufgebaut wird, auch die dynamische IP Adresse zugewiesen wird, aber auf den Rechner kommt diese Meldung nicht an.
Ich benutze Suse 6.4
ich habe da ein kleines Problem mit meine Linux Rechner den ich als Router einsetzen möchte. In diesem ist ein ISDN Karte eingebaut, welche gut funktioniert. Versuche ich aber über mein Netzwerk von einem andern Rechner in Internet zu kommen, sehe ich das eine Verbindung aufgebaut wird, auch die dynamische IP Adresse zugewiesen wird, aber auf den Rechner kommt diese Meldung nicht an.
Ich benutze Suse 6.4
Re: Routing
ja ich habe es auf meinem router aktiviert in der firewall.rc.config. muß man es sonst noch irgendwo aktivieren
Re: Routing
Firewalling ist so ne sache....
Ich habe bei mir nur squid und masquerading laufen. Das geht prima.
Meine Versuche mit der firewall sind bisher alle kläglichst gescheitert.
Mal war der Linuxserver komplett verschwunden, mal ließ sich nichts
mehr pingen... Wenn irgendjemand eine funktionierende firewall.rc.config
für SuSE 7 und firewals 2.6 hat, würde ich ihm gern mal über die Schulter
schauen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">. Ach ja, Samba muß danach noch laufen, Squid hätte ich auch
gern noch drin, und es muß möglich sein, vom client aus ins i-net zu
telnetten <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Gruß,
Cypher
Ich habe bei mir nur squid und masquerading laufen. Das geht prima.
Meine Versuche mit der firewall sind bisher alle kläglichst gescheitert.
Mal war der Linuxserver komplett verschwunden, mal ließ sich nichts
mehr pingen... Wenn irgendjemand eine funktionierende firewall.rc.config
für SuSE 7 und firewals 2.6 hat, würde ich ihm gern mal über die Schulter
schauen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">. Ach ja, Samba muß danach noch laufen, Squid hätte ich auch
gern noch drin, und es muß möglich sein, vom client aus ins i-net zu
telnetten <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Gruß,
Cypher
Re: Routing
Hi,
wenn du auch IPForwarding und IPDynamik eingeschaltet hast und mit ifconfig dein ippp0 device überprüft hast ob die IP-Adresse seitens des provider zugewiesen wurde, deine /etc/route.conf folgende einträge enthält:
192.168.1.0 255.255.255.0 eth0
192.168.1.1 255.255.255.255 eth0
192.168.1.2 255.255.255.255 ippp0
default 192.168.1.2
müßte es funktionieren!
wobei die 192.168.1.1 die netzwerkarte zu deinem intranet darstellt
und 192.168.1.2 die AVM Fritzcard als zweite netwerkkarte definiert wird, ach so die 192.168.1.0 ist natürlich hier die netwerkadresse.
du kannst die daten übernehmen.
Viel Glück
wenn du auch IPForwarding und IPDynamik eingeschaltet hast und mit ifconfig dein ippp0 device überprüft hast ob die IP-Adresse seitens des provider zugewiesen wurde, deine /etc/route.conf folgende einträge enthält:
192.168.1.0 255.255.255.0 eth0
192.168.1.1 255.255.255.255 eth0
192.168.1.2 255.255.255.255 ippp0
default 192.168.1.2
müßte es funktionieren!
wobei die 192.168.1.1 die netzwerkarte zu deinem intranet darstellt
und 192.168.1.2 die AVM Fritzcard als zweite netwerkkarte definiert wird, ach so die 192.168.1.0 ist natürlich hier die netwerkadresse.
du kannst die daten übernehmen.
Viel Glück
MfG
Gerd
Gerd
Re: Routing
Moin Moin,
nein lieber Gerd so wird es warscheinlich nicht klappen.
In einer der letzten CT´ Ausgaben wurde das Thema recht gut behandelt, anbei war auch ein kleines FW Skript welches ich mir für meine Zwecke umfunktioniert habe.
Es sieht bei mir wie folgt aus :
#!/bin/sh
EXTIF=ippp0
ANY=0.0.0.0/0
LAN_01=192.168.110.0/24 # Netzwerk Segment 1.
LAN_02=192.168.111.0/24 # Netzwerk Segment 2.
PPP_01=192.168.115.2/32 # PPP Client tempoaer ueber ppp
# Module fuer das Masquering laden
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_raudio
# IP spoofing unterdruecken
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $i
done
fi
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi
for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $i
done
echo 1 > /proc/sys/net/ipv4/ip_forward
# alte Firewallregeln fluschen
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
# Grundregeln setzen
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P forward DENY
/sbin/ipchains -P output ACCEPT
# Keine ankommenden (neuen) Verbindungen von aussen zulassen
/sbin/ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
# Pakete von aussen zu priviligierten Port unterbinden
/sbin/ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
/sbin/ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
# Routing
/sbin/ipchains -A forward -s $LAN_01 -d $PPP_01 -j ACCEPT
/sbin/ipchains -A forward -s $PPP_01 -d $LAN_01 -j ACCEPT
# Masquering
/sbin/ipchains -A forward -s $LAN_01 -j MASQ
/sbin/ipchains -A forward -s $PPP_01 -j MASQ
Hierbei ist noch Anzumerken das der PPP Client nicht die Internetverbindung ist, sondern ein über Ser. angeschlossener Client ist. Auch kann es sein das dem einen oder anderen die Default Regel am Anfang stören, aber mal ehrlich Fort Nox wird wohl keiner von uns Absichern wollen, und für einen Privatanwender ist es besser das Skript übersichtlich zu halten. Alle Verbindungsanfragen mit Syn werden abgeblockt, ebenso alle Verbindungen an Ports unter 1024. Wer will kann es ja wie ich als Basis nehmen und dann weiter ausbauen.
Ach Ja, nicht vergessen die zu ladenenen Module zu übersetzten diese liegen dem Kernel bei.
Marek
nein lieber Gerd so wird es warscheinlich nicht klappen.
In einer der letzten CT´ Ausgaben wurde das Thema recht gut behandelt, anbei war auch ein kleines FW Skript welches ich mir für meine Zwecke umfunktioniert habe.
Es sieht bei mir wie folgt aus :
#!/bin/sh
EXTIF=ippp0
ANY=0.0.0.0/0
LAN_01=192.168.110.0/24 # Netzwerk Segment 1.
LAN_02=192.168.111.0/24 # Netzwerk Segment 2.
PPP_01=192.168.115.2/32 # PPP Client tempoaer ueber ppp
# Module fuer das Masquering laden
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_raudio
# IP spoofing unterdruecken
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $i
done
fi
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi
for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $i
done
echo 1 > /proc/sys/net/ipv4/ip_forward
# alte Firewallregeln fluschen
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
# Grundregeln setzen
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P forward DENY
/sbin/ipchains -P output ACCEPT
# Keine ankommenden (neuen) Verbindungen von aussen zulassen
/sbin/ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
# Pakete von aussen zu priviligierten Port unterbinden
/sbin/ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
/sbin/ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
# Routing
/sbin/ipchains -A forward -s $LAN_01 -d $PPP_01 -j ACCEPT
/sbin/ipchains -A forward -s $PPP_01 -d $LAN_01 -j ACCEPT
# Masquering
/sbin/ipchains -A forward -s $LAN_01 -j MASQ
/sbin/ipchains -A forward -s $PPP_01 -j MASQ
Hierbei ist noch Anzumerken das der PPP Client nicht die Internetverbindung ist, sondern ein über Ser. angeschlossener Client ist. Auch kann es sein das dem einen oder anderen die Default Regel am Anfang stören, aber mal ehrlich Fort Nox wird wohl keiner von uns Absichern wollen, und für einen Privatanwender ist es besser das Skript übersichtlich zu halten. Alle Verbindungsanfragen mit Syn werden abgeblockt, ebenso alle Verbindungen an Ports unter 1024. Wer will kann es ja wie ich als Basis nehmen und dann weiter ausbauen.
Ach Ja, nicht vergessen die zu ladenenen Module zu übersetzten diese liegen dem Kernel bei.
Marek
Re: Routing
Hallo,
zuerst einmal Danke für die Hilfe. Ich habe nun den Router laufen, aber ohen Firewall.
Hallo Marek,
dein Script sieht ganz logisch aus, nur wo muß ich diesen eintragen.
Klaus
zuerst einmal Danke für die Hilfe. Ich habe nun den Router laufen, aber ohen Firewall.
Hallo Marek,
dein Script sieht ganz logisch aus, nur wo muß ich diesen eintragen.
Klaus
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: Routing
@marek:
ganz so sicher ist dein script aber nicht. es erfuellt nur den zweck, sich paketfilter (nichts anderes ist eine firewall) nennen zu duerfen. aber sonst macht es rein gar nix. (zumal ueber die unprivilegierten ports jeder reinkommt; und gerade das sind die ports, wo trojaner sitzen ...)
lieber erst mal alles verbieten, und dann nur die dienste erlauben, die man moechte. das macht es wesentlich sicherer.
vor allem: wie loest das script das prob der dynip? hierfuer eine loesung:
<b>IPADDR=$(/sbin/ifconfig | /bin/grep P-t-P | /usr/bin/cut -c 21-35 | cut -f1 -d" ")</b>
diese kleine zuweisung kommt (im gegensatz zu einfacheren) auch mit ip's klar, deren oktette alle nur eine stelle haben (obwohl das ziemlich unwahrscheinlich zu kriegen ist, aber andere loesungen scheitern schon bei zwei zwei-stelligen oktetten)
nun muss das script nur noch in die <b>/etc/ppp/ip-up</b> eingetragen werden, dann arbeitet es auch perfekt mit dem auto-dial und mehrfachen verbindungsauf- und -abbau zusammen (im gegensatz zum alleinigen eintrag in <b>/etc/rc.d/rc.local</b> oder <b>/etc/rc.d/boot.local</b> (wie weiter unten beschrieben), wo es aber trotzdem noch stehen soll!!)
@klaus:
trage es in die <b>/etc/rc.d/rc.local</b> (<b>redhat</b>) oder <b>/etc/rc.d/boot.local</b> (<b>suse</b>) ein, oder fuege es in deine sysv-init-scripten ein, indem du in <b>/etc/rc.d/rc3.d</b> einen sym-link auf dein fw-script einbaust:
<b>ln -s /pfad/zum/script/fw-script /etc/rc.d/rc3.d/S99firewall</b>
@all:
wer ein gutes funktionierendes firewall-script haben will, kann mir eine mail schreiben.
greetinx,
cerberus
ganz so sicher ist dein script aber nicht. es erfuellt nur den zweck, sich paketfilter (nichts anderes ist eine firewall) nennen zu duerfen. aber sonst macht es rein gar nix. (zumal ueber die unprivilegierten ports jeder reinkommt; und gerade das sind die ports, wo trojaner sitzen ...)
lieber erst mal alles verbieten, und dann nur die dienste erlauben, die man moechte. das macht es wesentlich sicherer.
vor allem: wie loest das script das prob der dynip? hierfuer eine loesung:
<b>IPADDR=$(/sbin/ifconfig | /bin/grep P-t-P | /usr/bin/cut -c 21-35 | cut -f1 -d" ")</b>
diese kleine zuweisung kommt (im gegensatz zu einfacheren) auch mit ip's klar, deren oktette alle nur eine stelle haben (obwohl das ziemlich unwahrscheinlich zu kriegen ist, aber andere loesungen scheitern schon bei zwei zwei-stelligen oktetten)
nun muss das script nur noch in die <b>/etc/ppp/ip-up</b> eingetragen werden, dann arbeitet es auch perfekt mit dem auto-dial und mehrfachen verbindungsauf- und -abbau zusammen (im gegensatz zum alleinigen eintrag in <b>/etc/rc.d/rc.local</b> oder <b>/etc/rc.d/boot.local</b> (wie weiter unten beschrieben), wo es aber trotzdem noch stehen soll!!)
@klaus:
trage es in die <b>/etc/rc.d/rc.local</b> (<b>redhat</b>) oder <b>/etc/rc.d/boot.local</b> (<b>suse</b>) ein, oder fuege es in deine sysv-init-scripten ein, indem du in <b>/etc/rc.d/rc3.d</b> einen sym-link auf dein fw-script einbaust:
<b>ln -s /pfad/zum/script/fw-script /etc/rc.d/rc3.d/S99firewall</b>
@all:
wer ein gutes funktionierendes firewall-script haben will, kann mir eine mail schreiben.
greetinx,
cerberus
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Re: Routing
@cerberus
Zur Sicherheit des Skriptes habe ich einen entsprechenden Kommentar beigefügt, der Sinn des Skriptes ist ein Kompromiss zwischen Sicherheit und möglichst freier Internetnutzung. Wenn man wirklich einen sicheren Firewall haben möchte ist wesendlich mehr Arbeit und Problembewältigung nötig. Das setzten der Default Regeln auf "DENY" ist dabei nur der Anfang.
Ziel des Skriptes ist es innerhalb der 3 internen Netzte den Datenverkehr ungehindert fließen zu lassen. Von innen soll ein Zugriff auf das Internet möglich sein (masquering) und nicht masquering fähige Dienste sollen über ein Proxy modul laufen.
Ein Problem mit der dyn. IP vergabe tritt nicht auf, da der EXT (Internetport) anhand des Gerätes und nicht an seiner IP festgemacht wird. Dadurch kann es auch mit in die Startskipte (init.d; /etc/rc.d) aufgenommen werden (wie Du es ja schon richtig erkannt hattest), und muß nicht bei jedem Dail up neu ausgeführt werden !
Zu Sicherheit, keine Beschränkungen unter den Subnetzten, keine Zugriffe von aussen auf die prev. Ports unter 1024 da hier in der Regel alle wichtigen Dienste des Rechners liegen. Es können keine TCP Verbindungen von aussen zum Rechner aufgemacht werden, Verbindungen können nur vom Rechner ins Internet geöffnet werden. Kein Schutz vor UDP Paketen von aussen, und alle Port´s über 1024 können Verbindungen noch aussen aufbauen (über masquering auch die Rechner der 3. Netze). Dadurch besteht sicherlich immer noch die Gefahr von Trojanern und Homephonern eine Verbindung zum Master aufzunehmen, ein Sperren dieser Möglichkeit würde aber auch viele Funktionen und Möglichkeiten des Internet´s aussperren. Ein Zugriff aus dem Internet auf Rechner im inneren Netz ist nich möglich, dadurch fallen Trojaner wie BO aus der Gefahrenliste raus, da diese von aussen aktiviert werden.
Warum willst Du nur diejenigen die dir eine E-Mail schicken an deinen geistigen Erungenschaften teilhaben lassen. Poste und dokumentiere dein FW doch hier, oder noch besser mache daraus doch einen Workshop für Pro-Linux.
@klaus
Das Skript kann in das /etc/rc.d (/sbin/init.d) kopiert werden, ich würde dann in den Verzeichnissen ../rc2.d und ../rc3.d einen Link auf dieses Skript legen. Ggf. kannst Du das auch allen anderen Unterverzeichnissen ../rcX.d ab ../rc.2.d machen, sinnvoll wäre es aber nur für die Runlevel mit denen Du ins Internet gehst (in der Regel wohl 2 oder 3).
Prüfen ob die Regeln aktiv sind kannst Du mit der Anweisung
~ipchains -L
Unter <a href="http://freeshell.org/~djsf/masq-icq/" target="_blank"><!--auto-->http://freeshell.org/~djsf/masq-icq/</a><!--auto-->
oder <a href="http://djsf.narod.ru/masq-icq" target="_blank"><!--auto-->http://djsf.narod.ru/masq-icq</a><!--auto-->
Findest Du ein masquering Modul für ICQ, muß dann doch übersetzt und installiert werden.
um dieses zu aktivieren ist bei den Modulen noch die Zeile
/sbin/modprobe ip_masq_icq
zu ergänzen.
@all
Also noch einmal, das Skript ist ein Kompromiss zwischen Sicherheit, Funktionalität und Bedienbarkeit. Nicht jeder möchte seine Haus Bank ans Internet anschließen, sondern vielleich nur seiner Familie den gemeinsamen Internetzugang ermöglichen.
Zur Sicherheit des Skriptes habe ich einen entsprechenden Kommentar beigefügt, der Sinn des Skriptes ist ein Kompromiss zwischen Sicherheit und möglichst freier Internetnutzung. Wenn man wirklich einen sicheren Firewall haben möchte ist wesendlich mehr Arbeit und Problembewältigung nötig. Das setzten der Default Regeln auf "DENY" ist dabei nur der Anfang.
Ziel des Skriptes ist es innerhalb der 3 internen Netzte den Datenverkehr ungehindert fließen zu lassen. Von innen soll ein Zugriff auf das Internet möglich sein (masquering) und nicht masquering fähige Dienste sollen über ein Proxy modul laufen.
Ein Problem mit der dyn. IP vergabe tritt nicht auf, da der EXT (Internetport) anhand des Gerätes und nicht an seiner IP festgemacht wird. Dadurch kann es auch mit in die Startskipte (init.d; /etc/rc.d) aufgenommen werden (wie Du es ja schon richtig erkannt hattest), und muß nicht bei jedem Dail up neu ausgeführt werden !
Zu Sicherheit, keine Beschränkungen unter den Subnetzten, keine Zugriffe von aussen auf die prev. Ports unter 1024 da hier in der Regel alle wichtigen Dienste des Rechners liegen. Es können keine TCP Verbindungen von aussen zum Rechner aufgemacht werden, Verbindungen können nur vom Rechner ins Internet geöffnet werden. Kein Schutz vor UDP Paketen von aussen, und alle Port´s über 1024 können Verbindungen noch aussen aufbauen (über masquering auch die Rechner der 3. Netze). Dadurch besteht sicherlich immer noch die Gefahr von Trojanern und Homephonern eine Verbindung zum Master aufzunehmen, ein Sperren dieser Möglichkeit würde aber auch viele Funktionen und Möglichkeiten des Internet´s aussperren. Ein Zugriff aus dem Internet auf Rechner im inneren Netz ist nich möglich, dadurch fallen Trojaner wie BO aus der Gefahrenliste raus, da diese von aussen aktiviert werden.
Warum willst Du nur diejenigen die dir eine E-Mail schicken an deinen geistigen Erungenschaften teilhaben lassen. Poste und dokumentiere dein FW doch hier, oder noch besser mache daraus doch einen Workshop für Pro-Linux.
@klaus
Das Skript kann in das /etc/rc.d (/sbin/init.d) kopiert werden, ich würde dann in den Verzeichnissen ../rc2.d und ../rc3.d einen Link auf dieses Skript legen. Ggf. kannst Du das auch allen anderen Unterverzeichnissen ../rcX.d ab ../rc.2.d machen, sinnvoll wäre es aber nur für die Runlevel mit denen Du ins Internet gehst (in der Regel wohl 2 oder 3).
Prüfen ob die Regeln aktiv sind kannst Du mit der Anweisung
~ipchains -L
Unter <a href="http://freeshell.org/~djsf/masq-icq/" target="_blank"><!--auto-->http://freeshell.org/~djsf/masq-icq/</a><!--auto-->
oder <a href="http://djsf.narod.ru/masq-icq" target="_blank"><!--auto-->http://djsf.narod.ru/masq-icq</a><!--auto-->
Findest Du ein masquering Modul für ICQ, muß dann doch übersetzt und installiert werden.
um dieses zu aktivieren ist bei den Modulen noch die Zeile
/sbin/modprobe ip_masq_icq
zu ergänzen.
@all
Also noch einmal, das Skript ist ein Kompromiss zwischen Sicherheit, Funktionalität und Bedienbarkeit. Nicht jeder möchte seine Haus Bank ans Internet anschließen, sondern vielleich nur seiner Familie den gemeinsamen Internetzugang ermöglichen.
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: Routing
warum nicht? hier also mein firewall-script. es laesst alle wichtigen dienste zu, und verhindert attacken von aussen.
was nicht geht, ist icq-filetransfer, -chat, etc. wenn das icq_masq-modul das leistet (auch fuer icq 2000er, ich meine gelesen zu haben es geht nur fuer die 99er), bitte ich um entsprechenden hinweis <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> thx.
hier also das script:
<b>
#!/bin/sh
# ----------------------------------------------------------------------------
# Copyright (C) 1999, 2000 Gerhard Feiner
echo "Starting firewalling... " >/dev/tty
# ----------------------------------------------------------------------------
# Einige Einstellungen fuer leichtere Administration
# PASST DIESE AN EURE BEDUERFNISSE UND ISP'S AN !!!!
EXTERNAL_INTERFACE="ippp0" # Interface fuer's Internet
LOOPBACK_INTERFACE="lo" # Loopback
LOCAL_INTERFACE_1="eth0" # internes LAN Interface
# ----------------------------------------------------------------------------
# Hier wird die dynamische IP festgestellt:
IPADDR=$(/sbin/ifconfig | /bin/grep P-t-P | /usr/bin/cut -c 21-35 | cut -f1 -d" ")
LOCALNET_1="192.168.1.0/24" # meine lokalen Netze, wer weniger
LOCALNET_2="192.168.2.0/24" # oder nur eines hat kann die rest-
LOCALNET_3="192.168.3.0/24" # lichen beiden Definitionen weglassen
ANYWHERE="any/0" # jede IP-Adresse
# ----------------------------------------------------------------------------
# Den Nameserver muesst ihr anpassen !!!!
NAMESERVER_1="62.96.3.6" # Nameserver den ich benutze
NEWS_LOKI="news.lokigames.com" # News-Server
NEWS_VMWARE="news.vmware.com" # dito
NEWS_MS="news.microsoft.com" # dito
SMTP_SERVER="smtp.puretec.de" # SMTP-Server
POP_SERVER="pop.puretec.de" # POP3-Server
LOOPBACK="127.0.0.0/8" # Loopback-Addressen
CLASS_A="10.0.0.0/8" # class A private
CLASS_B="172.16.0.0/12" # class B private
CLASS_C="192.168.0.0/16" # class C private
BROADCAST_SRC="0.0.0.0" # Broadcast Quell-Addresse
BROADCAST_DEST="255.255.255.255" # Broadcast Ziel-Addresse
PRIVPORTS="0:1023" # well known, privilegierte Ports
UNPRIVPORTS="1024:65535" # unprivilegierte Ports
# ----------------------------------------------------------------------------
NFS_PORT="2049" # (TCP/UDP) NFS
SOCKS_PORT="1080" # (TCP) Socks
# X Windows Port-Allocation beginnt bei 6000 und steigt bis 6063
# fuer jeden weiteren laufenden Server.
XWINDOW_PORTS="6000:6063" # (TCP) X windows
# Der SSH client startet bei 1023 und arbeitet sich runter bis 513 fuer
# jede zusaetzliche, gleichzeitige Connection von einem priv. Port.
# Clients koennen auch zur Nutzung unpriv. Ports konfiguriert werden.
SSH_LOCAL_PORTS="1022:65535" # Port-Bereich fuer lokale Clients
SSH_REMOTE_PORTS="513:65535" # Port-Bereich fuer remote Clients
# traceroute benutzt normalerweise -S 32769:65535 -D 33434:33523
TRACEROUTE_SRC_PORTS="32769:65535"
TRACEROUTE_DEST_PORTS="33434:33523"
# ----------------------------------------------------------------------------
# Default Policy ist DENY
# Es werde explizit gewuenschte IN- und OUTBOUND Connections zugelassen.
# Alle existierenden Paketfilter-REgeln entfernen
ipchains -F
# Default-Policy auf DENY setzen
ipchains -P input DENY
ipchains -P output REJECT
ipchains -P forward REJECT
# Masquerading-Timeout 10h fuer TCP-Connections
ipchains -M -S 144000 28800 28800
# ----------------------------------------------------------------------------
# IP-Forwarding aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
# TCP SYN Cookie Protection aktivieren
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Immer defragging Protection aktivieren
echo 1 > /proc/sys/net/ipv4/ip_always_defrag
# Broadcast Echo Protection aktivieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bad Error Message Protection aktivieren
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# IP-Spoofing Protection aktivieren
# Quell-Address-Pruefung einschalten
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
# ICMP Redirect Acceptance deaktivieren
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo 0 > $f
done
# Source-Routed Pakete deaktivieren
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done
# Logge gespoofte Pakete, Source Routed Pakete, Redirect Pakete
for f in /proc/sys/net/ipv4/conf/*/log_martians; do
echo 1 > $f
done
# Masquerading Module fuer spezielle Dienste.
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio ports=554,7070,7071,6970,6971
/sbin/modprobe ip_masq_irc
# ----------------------------------------------------------------------------
# LOOPBACK
# Loopback ungehindert zulassen.
ipchains -A input -i $LOOPBACK_INTERFACE -j ACCEPT
ipchains -A output -i $LOOPBACK_INTERFACE -j ACCEPT
# ----------------------------------------------------------------------------
# Interne Netzwerke ungehindert zulassen.
# Alle internen Rechner haben ungehinderten Zugang zum Firewall-Rechner.
ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_1 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_1 -j ACCEPT
ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_2 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_2 -j ACCEPT
ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_3 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_3 -j ACCEPT
# ----------------------------------------------------------------------------
# Maskiere internen Traffic.
# Aller interner Traffic ist nach aussen maskiert.
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_1 -d $ANYWHERE -j MASQ
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_2 -d $ANYWHERE -j MASQ
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_3 -d $ANYWHERE -j MASQ
# ----------------------------------------------------------------------------
# SPOOFING & BAD ADDRESSES
# Verweigere gespoofete Pakete.
# Ignoriere illegale Quell-Adressen.
# Schutz vor dem Senden an illegale Adressen.
# Alle externen Pakete, die behaupten vom externen IF zu kommen ablehnen.
ipchains -A input -i $EXTERNAL_INTERFACE -s $IPADDR -j DENY -l
# ----------------------------------------------------------------------------
# Erlaube selektiven Traffic fuer spezielle Dienste
# ICQ (habe dafuer kein Masq-Modul, darum lasse ich nur bestimmte Ports zu
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -s $ANYWHERE $UNPRIVPORTS -d $IPADDR 13003:13033 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR 13003:13033 -d $ANYWHERE $UNPRIVPORTS -j ACCEPT
#-----------------------------------------------------------------------------
# Roger Wilco Settings (Kommunikations-Programm fuer Sprachuebertragung)
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 3782 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 3783 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 3782 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 3783 -j ACCEPT
# ----------------------------------------------------------------------------
# Unreal Tournament Settings (muss ich net erklaeren <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7777 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7778 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7779 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 27900 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7744 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7733 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7745 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7734 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7777 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7778 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7779 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 27900 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7744 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7733 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7745 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7734 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 74 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 73 -j ACCEPT
# ----------------------------------------------------------------------------
# TCP UNPRIVILEGIERTE PORTS
# NFS: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $NFS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $NFS_PORT -j REJECT -l
# Xwindows: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $XWINDOW_PORTS -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $XWINDOW_PORTS -j REJECT -l
# SOCKS: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $SOCKS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $SOCKS_PORT -j REJECT -l
# ----------------------------------------------------------------------------
# UDP UNPRIVILEGIERTE PORTS
# NFS: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $NFS_PORT -j DENY -l
# UDP INBOUND TRACEROUTE
# aus dem lokalen Netz zulassen
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $LOCALNET_1 $TRACEROUTE_SRC_PORTS \
-d $IPADDR $TRACEROUTE_DEST_PORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $LOCALNET_2 $TRACEROUTE_SRC_PORTS \
-d $IPADDR $TRACEROUTE_DEST_PORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $LOCALNET_3 $TRACEROUTE_SRC_PORTS \
-d $IPADDR $TRACEROUTE_DEST_PORTS -j ACCEPT
# von aussen verbieten
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $TRACEROUTE_SRC_PORTS \
--destination-port $TRACEROUTE_DEST_PORTS -j DENY -l
# ----------------------------------------------------------------------------
# von innen initiierte Connections auch wieder reinlassen <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-d $IPADDR -j ACCEPT
# ------------------------------------------------------------------
# DNS client (53)
# ---------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
-d $NAMESERVER_1 53 -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $NAMESERVER_1 53 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NAMESERVER_1 53 -j ACCEPT
# ------------------------------------------------------------------
# HTTP client (80)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 80 -j ACCEPT
# HTTP client (81)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 81 -j ACCEPT
# HTTP client (82)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 82 -j ACCEPT
# ------------------------------------------------------------------
# HTTPS client (443)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 443 -j ACCEPT
# ------------------------------------------------------------------
# NNTP NEWS client (119)
# ----------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_SERVER 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_LOKI 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_VMWARE 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_MS 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 119 -j ACCEPT
# ------------------------------------------------------------------
# POP client (110)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $POP_SERVER 110 -j ACCEPT
# ------------------------------------------------------------------
# SMTP client (25)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $SMTP_SERVER 25 -j ACCEPT
# ------------------------------------------------------------------
# SSH client (22)
# ---------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $SSH_LOCAL_PORTS \
--destination-port 22 -j ACCEPT
# ------------------------------------------------------------------
# TELNET client (23)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 23 -j ACCEPT
# ------------------------------------------------------------------
# AUTH server (113)
# -----------------
# REJECT statt DENY den internen Auth-Port. (NET-3-HOWTO)
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 113 -j REJECT -l
# AUTH client (113)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 113 -j ACCEPT
# ------------------------------------------------------------------
# WHOIS client (43)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 43 -j ACCEPT
# ------------------------------------------------------------------
# FINGER client (79)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 79 -j ACCEPT
# ------------------------------------------------------------------
# FTP client (21)
# ---------------
# outgoing request
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 21 -j ACCEPT
# PORT mode data channel
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port 20 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR $UNPRIVPORTS \
--destination-port 20 -j ACCEPT
# ------------------------------------------------------------------
# IRC client (6667)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 6667 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port $UNPRIVPORTS -j ACCEPT
# ------------------------------------------------------------------
# RealAudio / QuickTime client
# ----------------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 554 -j ACCEPT
# TCP ist sicherer: 7070:7071
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 7070:7071 -j ACCEPT
# UDP ist das bevorzugte Protokoll: 6970:6999
# Fuer LAN Maschinen braucht UDP das RealAudio Masquerading-Module und
# die 'ipmasqadm'-Software.
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $UNPRIVPORTS \
-d $IPADDR 6970:6999 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR 6970:6999 \
--destination-port $UNPRIVPORTS -j ACCEPT
# ------------------------------------------------------------------
# ICQ client (4000) nochmal ICQ fuer die Logins
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 2000:4000 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 4000 -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port 4000 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT
# ----------------------------------------------------------------------------
# UDP wird nur auf ausgewaehlten Ports akzeptiert
# ---------------------------------
# -----------------------
# NTP-SERVER (zeit-server)
# -----------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 123 -j ACCEPT -l
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $UNPRIVPORTS \
-d $IPADDR 123 -j ACCEPT -l
# ------------------------------------------------------------------
# OUTBOUND TRACEROUTE
# -------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $TRACEROUTE_SRC_PORTS \
--destination-port $TRACEROUTE_DEST_PORTS -j ACCEPT
# ----------------------------------------------------------------------------
# ICMP
# Die folgenden Regeln verhindern DoS-Angriffe, die meist auf
# ICMP-Bomben aufbauen
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type echo-reply \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type destination-unreachable \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type source-quench \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type time-exceeded \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type parameter-problem \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s 192.168.1.0/24 echo-request \
-d $IPADDR -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR echo-reply \
-d 192.168.1.0/24 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR fragmentation-needed -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR source-quench -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR echo-request -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR parameter-problem -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR time-exceeded \
-d 192.168.1.0/24 -j ACCEPT
# ----------------------------------------------------------------------------
# Aktiviere Logging fuer ausgewaehlte DENYed Pakete:
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $PRIVPORTS -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $UNPRIVPORTS -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type 5 -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type 13:255 -j DENY -l
# ----------------------------------------------------------------------------
echo "done" >/dev/tty
exit 0
</b>
so, das war's. verbesserungsvorschlaege sind natuerlich willkommen <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
was nicht geht, ist icq-filetransfer, -chat, etc. wenn das icq_masq-modul das leistet (auch fuer icq 2000er, ich meine gelesen zu haben es geht nur fuer die 99er), bitte ich um entsprechenden hinweis <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> thx.
hier also das script:
<b>
#!/bin/sh
# ----------------------------------------------------------------------------
# Copyright (C) 1999, 2000 Gerhard Feiner
echo "Starting firewalling... " >/dev/tty
# ----------------------------------------------------------------------------
# Einige Einstellungen fuer leichtere Administration
# PASST DIESE AN EURE BEDUERFNISSE UND ISP'S AN !!!!
EXTERNAL_INTERFACE="ippp0" # Interface fuer's Internet
LOOPBACK_INTERFACE="lo" # Loopback
LOCAL_INTERFACE_1="eth0" # internes LAN Interface
# ----------------------------------------------------------------------------
# Hier wird die dynamische IP festgestellt:
IPADDR=$(/sbin/ifconfig | /bin/grep P-t-P | /usr/bin/cut -c 21-35 | cut -f1 -d" ")
LOCALNET_1="192.168.1.0/24" # meine lokalen Netze, wer weniger
LOCALNET_2="192.168.2.0/24" # oder nur eines hat kann die rest-
LOCALNET_3="192.168.3.0/24" # lichen beiden Definitionen weglassen
ANYWHERE="any/0" # jede IP-Adresse
# ----------------------------------------------------------------------------
# Den Nameserver muesst ihr anpassen !!!!
NAMESERVER_1="62.96.3.6" # Nameserver den ich benutze
NEWS_LOKI="news.lokigames.com" # News-Server
NEWS_VMWARE="news.vmware.com" # dito
NEWS_MS="news.microsoft.com" # dito
SMTP_SERVER="smtp.puretec.de" # SMTP-Server
POP_SERVER="pop.puretec.de" # POP3-Server
LOOPBACK="127.0.0.0/8" # Loopback-Addressen
CLASS_A="10.0.0.0/8" # class A private
CLASS_B="172.16.0.0/12" # class B private
CLASS_C="192.168.0.0/16" # class C private
BROADCAST_SRC="0.0.0.0" # Broadcast Quell-Addresse
BROADCAST_DEST="255.255.255.255" # Broadcast Ziel-Addresse
PRIVPORTS="0:1023" # well known, privilegierte Ports
UNPRIVPORTS="1024:65535" # unprivilegierte Ports
# ----------------------------------------------------------------------------
NFS_PORT="2049" # (TCP/UDP) NFS
SOCKS_PORT="1080" # (TCP) Socks
# X Windows Port-Allocation beginnt bei 6000 und steigt bis 6063
# fuer jeden weiteren laufenden Server.
XWINDOW_PORTS="6000:6063" # (TCP) X windows
# Der SSH client startet bei 1023 und arbeitet sich runter bis 513 fuer
# jede zusaetzliche, gleichzeitige Connection von einem priv. Port.
# Clients koennen auch zur Nutzung unpriv. Ports konfiguriert werden.
SSH_LOCAL_PORTS="1022:65535" # Port-Bereich fuer lokale Clients
SSH_REMOTE_PORTS="513:65535" # Port-Bereich fuer remote Clients
# traceroute benutzt normalerweise -S 32769:65535 -D 33434:33523
TRACEROUTE_SRC_PORTS="32769:65535"
TRACEROUTE_DEST_PORTS="33434:33523"
# ----------------------------------------------------------------------------
# Default Policy ist DENY
# Es werde explizit gewuenschte IN- und OUTBOUND Connections zugelassen.
# Alle existierenden Paketfilter-REgeln entfernen
ipchains -F
# Default-Policy auf DENY setzen
ipchains -P input DENY
ipchains -P output REJECT
ipchains -P forward REJECT
# Masquerading-Timeout 10h fuer TCP-Connections
ipchains -M -S 144000 28800 28800
# ----------------------------------------------------------------------------
# IP-Forwarding aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
# TCP SYN Cookie Protection aktivieren
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Immer defragging Protection aktivieren
echo 1 > /proc/sys/net/ipv4/ip_always_defrag
# Broadcast Echo Protection aktivieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bad Error Message Protection aktivieren
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# IP-Spoofing Protection aktivieren
# Quell-Address-Pruefung einschalten
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
# ICMP Redirect Acceptance deaktivieren
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo 0 > $f
done
# Source-Routed Pakete deaktivieren
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done
# Logge gespoofte Pakete, Source Routed Pakete, Redirect Pakete
for f in /proc/sys/net/ipv4/conf/*/log_martians; do
echo 1 > $f
done
# Masquerading Module fuer spezielle Dienste.
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio ports=554,7070,7071,6970,6971
/sbin/modprobe ip_masq_irc
# ----------------------------------------------------------------------------
# LOOPBACK
# Loopback ungehindert zulassen.
ipchains -A input -i $LOOPBACK_INTERFACE -j ACCEPT
ipchains -A output -i $LOOPBACK_INTERFACE -j ACCEPT
# ----------------------------------------------------------------------------
# Interne Netzwerke ungehindert zulassen.
# Alle internen Rechner haben ungehinderten Zugang zum Firewall-Rechner.
ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_1 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_1 -j ACCEPT
ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_2 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_2 -j ACCEPT
ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_3 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_3 -j ACCEPT
# ----------------------------------------------------------------------------
# Maskiere internen Traffic.
# Aller interner Traffic ist nach aussen maskiert.
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_1 -d $ANYWHERE -j MASQ
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_2 -d $ANYWHERE -j MASQ
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_3 -d $ANYWHERE -j MASQ
# ----------------------------------------------------------------------------
# SPOOFING & BAD ADDRESSES
# Verweigere gespoofete Pakete.
# Ignoriere illegale Quell-Adressen.
# Schutz vor dem Senden an illegale Adressen.
# Alle externen Pakete, die behaupten vom externen IF zu kommen ablehnen.
ipchains -A input -i $EXTERNAL_INTERFACE -s $IPADDR -j DENY -l
# ----------------------------------------------------------------------------
# Erlaube selektiven Traffic fuer spezielle Dienste
# ICQ (habe dafuer kein Masq-Modul, darum lasse ich nur bestimmte Ports zu
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -s $ANYWHERE $UNPRIVPORTS -d $IPADDR 13003:13033 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR 13003:13033 -d $ANYWHERE $UNPRIVPORTS -j ACCEPT
#-----------------------------------------------------------------------------
# Roger Wilco Settings (Kommunikations-Programm fuer Sprachuebertragung)
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 3782 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 3783 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 3782 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 3783 -j ACCEPT
# ----------------------------------------------------------------------------
# Unreal Tournament Settings (muss ich net erklaeren <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7777 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7778 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7779 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 27900 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7744 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7733 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7745 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s $ANYWHERE 7734 -d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7777 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7778 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7779 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 27900 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7744 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7733 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7745 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 7734 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 74 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $UNPRIVPORTS -d $ANYWHERE 73 -j ACCEPT
# ----------------------------------------------------------------------------
# TCP UNPRIVILEGIERTE PORTS
# NFS: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $NFS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $NFS_PORT -j REJECT -l
# Xwindows: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $XWINDOW_PORTS -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $XWINDOW_PORTS -j REJECT -l
# SOCKS: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $SOCKS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $SOCKS_PORT -j REJECT -l
# ----------------------------------------------------------------------------
# UDP UNPRIVILEGIERTE PORTS
# NFS: Keine Connection von aussen erlauben und entspr. Versuche loggen
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $NFS_PORT -j DENY -l
# UDP INBOUND TRACEROUTE
# aus dem lokalen Netz zulassen
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $LOCALNET_1 $TRACEROUTE_SRC_PORTS \
-d $IPADDR $TRACEROUTE_DEST_PORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $LOCALNET_2 $TRACEROUTE_SRC_PORTS \
-d $IPADDR $TRACEROUTE_DEST_PORTS -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $LOCALNET_3 $TRACEROUTE_SRC_PORTS \
-d $IPADDR $TRACEROUTE_DEST_PORTS -j ACCEPT
# von aussen verbieten
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $TRACEROUTE_SRC_PORTS \
--destination-port $TRACEROUTE_DEST_PORTS -j DENY -l
# ----------------------------------------------------------------------------
# von innen initiierte Connections auch wieder reinlassen <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-d $IPADDR -j ACCEPT
# ------------------------------------------------------------------
# DNS client (53)
# ---------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
-d $NAMESERVER_1 53 -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $NAMESERVER_1 53 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NAMESERVER_1 53 -j ACCEPT
# ------------------------------------------------------------------
# HTTP client (80)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 80 -j ACCEPT
# HTTP client (81)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 81 -j ACCEPT
# HTTP client (82)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 82 -j ACCEPT
# ------------------------------------------------------------------
# HTTPS client (443)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 443 -j ACCEPT
# ------------------------------------------------------------------
# NNTP NEWS client (119)
# ----------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_SERVER 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_LOKI 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_VMWARE 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NEWS_MS 119 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 119 -j ACCEPT
# ------------------------------------------------------------------
# POP client (110)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $POP_SERVER 110 -j ACCEPT
# ------------------------------------------------------------------
# SMTP client (25)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $SMTP_SERVER 25 -j ACCEPT
# ------------------------------------------------------------------
# SSH client (22)
# ---------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $SSH_LOCAL_PORTS \
--destination-port 22 -j ACCEPT
# ------------------------------------------------------------------
# TELNET client (23)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 23 -j ACCEPT
# ------------------------------------------------------------------
# AUTH server (113)
# -----------------
# REJECT statt DENY den internen Auth-Port. (NET-3-HOWTO)
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 113 -j REJECT -l
# AUTH client (113)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 113 -j ACCEPT
# ------------------------------------------------------------------
# WHOIS client (43)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 43 -j ACCEPT
# ------------------------------------------------------------------
# FINGER client (79)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 79 -j ACCEPT
# ------------------------------------------------------------------
# FTP client (21)
# ---------------
# outgoing request
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 21 -j ACCEPT
# PORT mode data channel
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port 20 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR $UNPRIVPORTS \
--destination-port 20 -j ACCEPT
# ------------------------------------------------------------------
# IRC client (6667)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 6667 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port $UNPRIVPORTS -j ACCEPT
# ------------------------------------------------------------------
# RealAudio / QuickTime client
# ----------------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 554 -j ACCEPT
# TCP ist sicherer: 7070:7071
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 7070:7071 -j ACCEPT
# UDP ist das bevorzugte Protokoll: 6970:6999
# Fuer LAN Maschinen braucht UDP das RealAudio Masquerading-Module und
# die 'ipmasqadm'-Software.
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $UNPRIVPORTS \
-d $IPADDR 6970:6999 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR 6970:6999 \
--destination-port $UNPRIVPORTS -j ACCEPT
# ------------------------------------------------------------------
# ICQ client (4000) nochmal ICQ fuer die Logins
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 2000:4000 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 4000 -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port 4000 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT
# ----------------------------------------------------------------------------
# UDP wird nur auf ausgewaehlten Ports akzeptiert
# ---------------------------------
# -----------------------
# NTP-SERVER (zeit-server)
# -----------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 123 -j ACCEPT -l
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $UNPRIVPORTS \
-d $IPADDR 123 -j ACCEPT -l
# ------------------------------------------------------------------
# OUTBOUND TRACEROUTE
# -------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $TRACEROUTE_SRC_PORTS \
--destination-port $TRACEROUTE_DEST_PORTS -j ACCEPT
# ----------------------------------------------------------------------------
# ICMP
# Die folgenden Regeln verhindern DoS-Angriffe, die meist auf
# ICMP-Bomben aufbauen
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type echo-reply \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type destination-unreachable \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type source-quench \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type time-exceeded \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type parameter-problem \
-d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s 192.168.1.0/24 echo-request \
-d $IPADDR -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR echo-reply \
-d 192.168.1.0/24 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR fragmentation-needed -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR source-quench -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR echo-request -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR parameter-problem -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR time-exceeded \
-d 192.168.1.0/24 -j ACCEPT
# ----------------------------------------------------------------------------
# Aktiviere Logging fuer ausgewaehlte DENYed Pakete:
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $PRIVPORTS -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $UNPRIVPORTS -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type 5 -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type 13:255 -j DENY -l
# ----------------------------------------------------------------------------
echo "done" >/dev/tty
exit 0
</b>
so, das war's. verbesserungsvorschlaege sind natuerlich willkommen <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Re: Routing
moin moin, und frohes neues ....
@cerberus
Sauber, so in der Art stelle ich mir ein gut recherchieren FW vor. Hat dich sicherlich auch viel Mühe und Arbeit gekostet, aber einem einfachem User ist es nicht zuzumuten (und er will es meistens auch gar nicht) so ein Skript aufzusetzten oder zu warten. Alleine die Informationsbschaffung der Ports und der notwendigen Dienste kostet viel Mühe, Zeit und Ausdauer (Testen).
Also keine schlechte Leistung, Hut ab,
ich werde mir das Script in den nächsten Tagen einmal zu Gemüte führen.
Zum Thema ICQ, das Masq. Modul (0.56) läuft auch mit (oder für) ICQ2000b (Windows).
Eventuell würde ich den Befehl ipchains durch die direkte Angabe /sbin/ipchains ersetzten, sonst ist es möglich das Tool ipchains zu ersetzten. Man braucht dafür nur ein Programm ipchains in ein Verzeichs kopieren das im $PATH vor dem /sbin steht.
Marek Walther
@cerberus
Sauber, so in der Art stelle ich mir ein gut recherchieren FW vor. Hat dich sicherlich auch viel Mühe und Arbeit gekostet, aber einem einfachem User ist es nicht zuzumuten (und er will es meistens auch gar nicht) so ein Skript aufzusetzten oder zu warten. Alleine die Informationsbschaffung der Ports und der notwendigen Dienste kostet viel Mühe, Zeit und Ausdauer (Testen).
Also keine schlechte Leistung, Hut ab,
ich werde mir das Script in den nächsten Tagen einmal zu Gemüte führen.
Zum Thema ICQ, das Masq. Modul (0.56) läuft auch mit (oder für) ICQ2000b (Windows).
Eventuell würde ich den Befehl ipchains durch die direkte Angabe /sbin/ipchains ersetzten, sonst ist es möglich das Tool ipchains zu ersetzten. Man braucht dafür nur ein Programm ipchains in ein Verzeichs kopieren das im $PATH vor dem /sbin steht.
Marek Walther
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: Routing
hi marek <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
mit /sbin/ipchains hast du recht. das hab ich doch glatt uebersehen.
schon passiert <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
<i>im kommando-modus des vi (symb. durch den doppelpunkt)</i>:
<b>:1,$s/ipchains/\/sbin\/ipchains/g</b>
danke fuer den tipp
mit /sbin/ipchains hast du recht. das hab ich doch glatt uebersehen.
schon passiert <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
<i>im kommando-modus des vi (symb. durch den doppelpunkt)</i>:
<b>:1,$s/ipchains/\/sbin\/ipchains/g</b>
danke fuer den tipp
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: Routing
btw, marek:
hast du erfahrungen mit dem icq-masq-modul? ich hab's geschafft, filetransfers rauszuschicken, kann aber keine annehmen. hab der fw die (beim modul voreingestellten) ports 60200:61000 zugewiesen. aber geht net ... <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
hast du erfahrungen mit dem icq-masq-modul? ich hab's geschafft, filetransfers rauszuschicken, kann aber keine annehmen. hab der fw die (beim modul voreingestellten) ports 60200:61000 zugewiesen. aber geht net ... <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Re: Routing
Moin moin,
muß leider gestehen das ich bis jetzt eigendlich nur die messaging Dienste von ICQ nutze. Und haubsächlich ICQ unter Linux fahre, der ist auch nicht so aufgebläht wie das ICQ2000b für Windows. Dafür habe ich gelegendlich Probleme mit der Linuxversion, hauptsächlich mit der chatfunktion dort kann es vorkommen das ICQ sich beendet oder kein chat aufgebaut werden kann. Bin leider diese Woche etwas im Stress, und werde mir das ICQ Problem mal am Wochende anschauen.
Marek
muß leider gestehen das ich bis jetzt eigendlich nur die messaging Dienste von ICQ nutze. Und haubsächlich ICQ unter Linux fahre, der ist auch nicht so aufgebläht wie das ICQ2000b für Windows. Dafür habe ich gelegendlich Probleme mit der Linuxversion, hauptsächlich mit der chatfunktion dort kann es vorkommen das ICQ sich beendet oder kein chat aufgebaut werden kann. Bin leider diese Woche etwas im Stress, und werde mir das ICQ Problem mal am Wochende anschauen.
Marek
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: Routing
cool. danke. hab 2000a. finde die linux-clients net so gut, weil die nie die conversation in einem fenster anzeigen, sondern man hat immer eins fuer in und eins fuer out messages.
es sei denn, ich war wieder mal blind, und hab die einstellung noch net gefunden. aber mit grafischen oberflaechen hab ich's net so ... <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
es sei denn, ich war wieder mal blind, und hab die einstellung noch net gefunden. aber mit grafischen oberflaechen hab ich's net so ... <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">