Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
SuSE Linux 9 als Router

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Netzwerk
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
tschakakahn



Anmeldungsdatum: 07.11.2003
Beiträge: 4
Wohnort: Sasbach

BeitragVerfasst am: 07. Jan 2004 16:44   Titel: SuSE Linux 9 als Router

Wer kennt eine Asnleitung oder kann mir beschreiben wie ich über KDE SuSE Linux 9 als Router einrichte. Es geht um ein Netzerk mit schwitches 1000Gbs und einer DSL Internetverbindung mit fester IP.
_________________
TschkaKahn
___________________
Nichts ist umsonst
Nicht mal der Tod
Denn der kostet das Leben
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

Philippe Regenass
Gast





BeitragVerfasst am: 07. Jan 2004 17:51   Titel: Re: SuSE Linux 9 als Router

Hallo

Also wie man den Router unter Linux genau konfiguriert weiss ich nicht. Ich habe aber als Router folgendes Produkt im Einsatz: www.clarkconnect.com

Eventuell hilft dir das weiter.

Viele Grüsse

Philippe
 

arthur
Gast





BeitragVerfasst am: 08. Jan 2004 22:23   Titel: Re: SuSE Linux 9 als Router

hallo
kann aus meiner erfahrung - habe vor 1 jahr ersten kontakt mit linux - nur empfehlen beim router auf kde-einrichtung zu verzichten und selbst ein firewall skript zu schrieben. die nötige info zu iptables, squid. ftp, usw. findest du hier auf der seite oder im netz. mußte damals feststellen, dass die einarbeitung in susefirewall ohne grundkenntnis der materie für mich sehr frustrierend war.

vielleicht hilft dir mein skript oder du/andere finden fehler oder schwachstellen .....

#!/bin/tcsh

#VARIABLEN
#---------
set ipt = /usr/sbin/iptables
#
#ports
set p_low = 0:1023
set p_high = 1024:65535
set p_squid = 8080
set p_http = 80:81
echo "Ports => READY"
#
#hosts
set NS = (212.185.249.50 194.25.2.129)
set intern = 192.168.0.0/255.255.255.0
set gate = 192.168.0.1
set pop_web = 217.72.192.134
set smtp_web = 217.72.192.157
set skipper = 192.168.0.2
echo "Hosts => READY"
#
#interfaces
set int = eth0
set ext = ppp0
echo "Interfaces => READY"
#
#dynamische kernelparameter
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "Kernelparameter => OK"
#
#Kernelmodule
modprobe ip_conntrack
echo "Kernel Module => OK"
#
#DEFAULT POLICY
#--------------
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT DROP
echo "Default Policy => DROP"
$ipt -F
$ipt -t nat -F
$ipt -X
echo "Flush => OK"
#
#lokale prozesse
$ipt -A OUTPUT -o lo -j ACCEPT
$ipt -A INPUT -i lo -j ACCEPT
echo "Prozesse ueber lo => READY"
#
#telnet
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport telnet \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -o $int -d $intern -p TCP --dport $p_high --sport telnet \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "TELNET => RAEDY"
#
#ssh
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport ssh \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -o $int -d $intern -p TCP --dport $p_high --sport ssh \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "SSH => RAEDY"
#
#MASQUERADING
#------------
$ipt -t nat -A POSTROUTING -o $ext -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "Masquerading => READY"

#Ausgehende Pakete bei bestehender Verbindung
$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $int -o $ext \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "Ausgehende Pakete einer bestehender Verbindung => READY"
#
#Rueckkanal: eingehende Pakete zu einer bestehenden Verbindung
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $ext -o $int \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "Eingehende Pakete einer bestehenden Verbindung => READY"
#
#FILTERREGEL FUER LOKALE DIENSTE
#-------------------------------
echo "Lokale Dienste..."
#icmp
$ipt -A OUTPUT -o $int -d $intern -p ICMP --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -i $int -s $intern -p ICMP --icmp echo-request \
-m state --state NEW -j ACCEPT
echo "Echo-Request intern => OK"
echo "Lokale Dienste => READY"
#
#SYN-Flood-Schutz
$ipt -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
$ipt -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
echo "SYN-Flood Protection => OK"
#
#Portscanner
$ipt -A FORWARD -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
$ipt -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
echo "Portscanner Protection => OK"
#
#Ping of deth
$ipt -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo "Ping Protection => OK"
#
#FILTERREGEL FORWARDING
#----------------------
echo "FORWARD..."
#icmp
$ipt -A FORWARD -i $int -s $intern \
-o $ext -p ICMP --icmp-type echo-request -j ACCEPT
echo "Echo-Request extern => OK"
#
#dns
foreach ns ($NS)
$ipt -A FORWARD -o $ext -m state --state NEW -p UDP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
$ipt -A FORWARD -o $ext -m state --state NEW -p TCP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
#echo ($NS)" => OK"
end
echo "DNS => OK"
#
#ftp
$ipt -A FORWARD -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport ftp \
-j ACCEPT
$ipt -A FORWARD -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport $p_high \
-j ACCEPT
echo "FTP => OK"
#
#smtp, pop3
echo "POP3 & SMTP..."
$ipt -A FORWARD -o $ext -m state --state NEW -s $intern -d $pop_web -j ACCEPT
$ipt -A FORWARD -o $ext -m state --state NEW -s $intern -d $smtp_web -j ACCEPT
echo "pop3 & smtp @web.de => OK"
echo "FORWARD => READY"
#
#FILTERREGELN FUER SQUID (OUTPUT- & INPUTCHAIN)
#----------------------------------------------
#dns fuer squid
echo "SQUID ..."
foreach ns ($NS)
$ipt -A OUTPUT -o $ext -m state --state NEW -p UDP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
$ipt -A OUTPUT -o $ext -m state --state NEW -p TCP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
end
echo "DNS fuer SQUID => OK"
#
#client
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport $p_squid \
-m state --state NEW -j ACCEPT
echo "Client ueber SQUID => OK"
#
#squid
$ipt -A OUTPUT -o $ext -p TCP --sport $p_high --dport 80:81 \
-m state --state NEW -j ACCEPT
echo "SQUID @HTTP => OK"
$ipt -A OUTPUT -o $ext -p TCP --sport $p_high --dport https \
-m state --state NEW,ESTABLISHED,RELATED \
-j ACCEPT
echo "SQUID @HTTPS => OK"
echo "SQUID => READY"
#
#FILTERREGELN FUER SAMBA
#-----------------------
echo "Samba ..."
$ipt -A INPUT -i $int -s $intern -p UDP --sport 137:139 --dport 137:139 \
-m state --state NEW -j ACCEPT
$ipt -A OUTPUT -o $int -s $intern -p UDP --sport 137:139 --dport 137:139 \
-m state --state NEW -j ACCEPT
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport 137:139 \
-m state --state NEW -j ACCEPT
echo "Samba => OK"
#
#FILTERREGELN FUER FTP UEBER OUTPUT
#---------------------------------
$ipt -A OUTPUT -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport ftp \
-j ACCEPT
$ipt -A OUTPUT -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport $p_high \
-j ACCEPT
echo "FTP UERBER OUTPUT => OK"
 

arthur
Gast





BeitragVerfasst am: 08. Jan 2004 22:23   Titel: Re: SuSE Linux 9 als Router

hallo
kann aus meiner erfahrung - habe vor 1 jahr ersten kontakt mit linux - nur empfehlen beim router auf kde-einrichtung zu verzichten und selbst ein firewall skript zu schrieben. die nötige info zu iptables, squid. ftp, usw. findest du hier auf der seite oder im netz. mußte damals feststellen, dass die einarbeitung in susefirewall ohne grundkenntnis der materie für mich sehr frustrierend war.

vielleicht hilft dir mein skript oder du/andere finden fehler oder schwachstellen .....

#!/bin/tcsh

#VARIABLEN
#---------
set ipt = /usr/sbin/iptables
#
#ports
set p_low = 0:1023
set p_high = 1024:65535
set p_squid = 8080
set p_http = 80:81
echo "Ports => READY"
#
#hosts
set NS = (212.185.249.50 194.25.2.129)
set intern = 192.168.0.0/255.255.255.0
set gate = 192.168.0.1
set pop_web = 217.72.192.134
set smtp_web = 217.72.192.157
set skipper = 192.168.0.2
echo "Hosts => READY"
#
#interfaces
set int = eth0
set ext = ppp0
echo "Interfaces => READY"
#
#dynamische kernelparameter
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "Kernelparameter => OK"
#
#Kernelmodule
modprobe ip_conntrack
echo "Kernel Module => OK"
#
#DEFAULT POLICY
#--------------
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT DROP
echo "Default Policy => DROP"
$ipt -F
$ipt -t nat -F
$ipt -X
echo "Flush => OK"
#
#lokale prozesse
$ipt -A OUTPUT -o lo -j ACCEPT
$ipt -A INPUT -i lo -j ACCEPT
echo "Prozesse ueber lo => READY"
#
#telnet
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport telnet \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -o $int -d $intern -p TCP --dport $p_high --sport telnet \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "TELNET => RAEDY"
#
#ssh
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport ssh \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -o $int -d $intern -p TCP --dport $p_high --sport ssh \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "SSH => RAEDY"
#
#MASQUERADING
#------------
$ipt -t nat -A POSTROUTING -o $ext -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "Masquerading => READY"

#Ausgehende Pakete bei bestehender Verbindung
$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $int -o $ext \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "Ausgehende Pakete einer bestehender Verbindung => READY"
#
#Rueckkanal: eingehende Pakete zu einer bestehenden Verbindung
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $ext -o $int \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "Eingehende Pakete einer bestehenden Verbindung => READY"
#
#FILTERREGEL FUER LOKALE DIENSTE
#-------------------------------
echo "Lokale Dienste..."
#icmp
$ipt -A OUTPUT -o $int -d $intern -p ICMP --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -i $int -s $intern -p ICMP --icmp echo-request \
-m state --state NEW -j ACCEPT
echo "Echo-Request intern => OK"
echo "Lokale Dienste => READY"
#
#SYN-Flood-Schutz
$ipt -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
$ipt -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
echo "SYN-Flood Protection => OK"
#
#Portscanner
$ipt -A FORWARD -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
$ipt -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
echo "Portscanner Protection => OK"
#
#Ping of deth
$ipt -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo "Ping Protection => OK"
#
#FILTERREGEL FORWARDING
#----------------------
echo "FORWARD..."
#icmp
$ipt -A FORWARD -i $int -s $intern \
-o $ext -p ICMP --icmp-type echo-request -j ACCEPT
echo "Echo-Request extern => OK"
#
#dns
foreach ns ($NS)
$ipt -A FORWARD -o $ext -m state --state NEW -p UDP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
$ipt -A FORWARD -o $ext -m state --state NEW -p TCP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
#echo ($NS)" => OK"
end
echo "DNS => OK"
#
#ftp
$ipt -A FORWARD -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport ftp \
-j ACCEPT
$ipt -A FORWARD -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport $p_high \
-j ACCEPT
echo "FTP => OK"
#
#smtp, pop3
echo "POP3 & SMTP..."
$ipt -A FORWARD -o $ext -m state --state NEW -s $intern -d $pop_web -j ACCEPT
$ipt -A FORWARD -o $ext -m state --state NEW -s $intern -d $smtp_web -j ACCEPT
echo "pop3 & smtp @web.de => OK"
echo "FORWARD => READY"
#
#FILTERREGELN FUER SQUID (OUTPUT- & INPUTCHAIN)
#----------------------------------------------
#dns fuer squid
echo "SQUID ..."
foreach ns ($NS)
$ipt -A OUTPUT -o $ext -m state --state NEW -p UDP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
$ipt -A OUTPUT -o $ext -m state --state NEW -p TCP \
--sport $p_high -d $ns --dport domain \
-j ACCEPT
end
echo "DNS fuer SQUID => OK"
#
#client
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport $p_squid \
-m state --state NEW -j ACCEPT
echo "Client ueber SQUID => OK"
#
#squid
$ipt -A OUTPUT -o $ext -p TCP --sport $p_high --dport 80:81 \
-m state --state NEW -j ACCEPT
echo "SQUID @HTTP => OK"
$ipt -A OUTPUT -o $ext -p TCP --sport $p_high --dport https \
-m state --state NEW,ESTABLISHED,RELATED \
-j ACCEPT
echo "SQUID @HTTPS => OK"
echo "SQUID => READY"
#
#FILTERREGELN FUER SAMBA
#-----------------------
echo "Samba ..."
$ipt -A INPUT -i $int -s $intern -p UDP --sport 137:139 --dport 137:139 \
-m state --state NEW -j ACCEPT
$ipt -A OUTPUT -o $int -s $intern -p UDP --sport 137:139 --dport 137:139 \
-m state --state NEW -j ACCEPT
$ipt -A INPUT -i $int -s $intern -p TCP --sport $p_high --dport 137:139 \
-m state --state NEW -j ACCEPT
echo "Samba => OK"
#
#FILTERREGELN FUER FTP UEBER OUTPUT
#---------------------------------
$ipt -A OUTPUT -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport ftp \
-j ACCEPT
$ipt -A OUTPUT -o $ext -m state --state NEW \
-p TCP --sport $p_high --dport $p_high \
-j ACCEPT
echo "FTP UERBER OUTPUT => OK"
 

petameta
prolinux-forum-admin


Anmeldungsdatum: 14.02.2003
Beiträge: 1294

BeitragVerfasst am: 09. Jan 2004 10:28   Titel: Re: SuSE Linux 9 als Router

Du wirst ja sicher Masquerading benutzen - ich nehme mal an feste IP bedeutet nur eine feste IP für den Router.

In diesem Fall solltest Du Dir ein firewall-Skript schreiben. Folgende Sachen sind dabei für das routing nötig:

- Einschalten des forwarding:
echo "1" > /proc/sys/net/ipv4/ip_forward
- Aktivieren des Masquerading:
iptables -A INPUT -p icmp -i ppp0 --icmp-type echo-request -j DROP

Jetzt sollte es soweit schon funktionieren. Allerdings müssen die Pakete bei DSL fragmentiert werden, die MTU liegt bei nur 1492:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Macht man den letzten Schritt nicht, sind oft einige Internet-Seiten nicht erreichbar.

Außerdem rate ich Dir _unbedingt_, Dir Gedanken zu machen, wie die Firewall zu konfigurieren ist. Z. B. ist es Sinnvoll, das Ping nach außen hin abzuschalten:

iptables -A INPUT -p icmp -i ppp0 --icmp-type echo-request -j DROP

Auch das Blocken der Ports 1 bis 1023 für eingehende Verbindungen ist eine gute Idee:

iptables -A INPUT -i ppp0 -d 0.0.0.0/0 -p TCP --dport 1:1023 -j DROP
iptables -A INPUT -i ppp0 -d 0.0.0.0/0 -p UDP --dport 1:1023 -j DROP
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Netzwerk Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy