Linux DSL Router
Hallo,
ich möchte nach dem DSL-Modem einen Server mit 2 NICs laufen lassen der aufbau sieht so aus
dslmodem - - - Server - - - Netzwerk
dsl - verbindung // 192.168.1.1
Die 1. Netzwerkkarte hat die IP 192.168.1.1 und verbindet über einen Switch das netzwerkt
Die 2. Netzwerkkarte ist am DSL-Modem angeschlossen und IP bekommt sie über DHCP
der Provider ist T-Online
DSL Verbindung habe ich den Server kann mann auch anpingen nur kommt man nicht ins internet das heisst doch das ich eine falsche route habe?
Meine Routing Tabelle sieht folgendermaßen aus
(was mich hier wundert ist das nirgends die schnittstelle für dsl auftaucht (eth1oder ist das die dsl0?) und nirgends die ip vom Netzwerk also 192.168.1.1)
ich bin noch eine ziemlicher Linux anfänger am besten wäre für mich eine Erklärung mit Yast oder schritt für schritt (für dumme) in der Konsole
schon mal vielen Dank
mfg hamster1337
ich möchte nach dem DSL-Modem einen Server mit 2 NICs laufen lassen der aufbau sieht so aus
dslmodem - - - Server - - - Netzwerk
dsl - verbindung // 192.168.1.1
Die 1. Netzwerkkarte hat die IP 192.168.1.1 und verbindet über einen Switch das netzwerkt
Die 2. Netzwerkkarte ist am DSL-Modem angeschlossen und IP bekommt sie über DHCP
der Provider ist T-Online
DSL Verbindung habe ich den Server kann mann auch anpingen nur kommt man nicht ins internet das heisst doch das ich eine falsche route habe?
Meine Routing Tabelle sieht folgendermaßen aus
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
217.0.116.87 * 255.255.255.255 UH 0 0 0 dsl0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 217.0.116.87 0.0.0.0 UG 0 0 0 dsl0
ich bin noch eine ziemlicher Linux anfänger am besten wäre für mich eine Erklärung mit Yast oder schritt für schritt (für dumme) in der Konsole
schon mal vielen Dank
mfg hamster1337
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 28540
Url: https://administrator.de/forum/linux-dsl-router-28540.html
Ausgedruckt am: 24.12.2024 um 16:12 Uhr
10 Kommentare
Neuester Kommentar
Kurze Nachfrage:
Wer kommt nicht ins Internet?
Wenn Du Router schreibst, kommt Dein Server nicht ins Internet oder ein Rechner an der 2. NIC? Wenn Rechner hinter Router, dann wirds noch etwas aufwendiger (NAT, Forwarding etc.)
Versuchst Du mit DNS Namen oder mit IP Adresse irgendjemand im Internet zu erreichen? Wenn DNS, dann versuche mal einen Ping auf eine IP-Adresse (eventuell tut die Namensauflösung nicht), z.B. 217.119.51.146 (das ist der Webserver meiner Firma).
DSL0 ist das Interface für DSL und das als Standardgateway zu nehmen ist schon richtig. Daher ist Deine Route so erstmal korrekt.
Wer kommt nicht ins Internet?
Wenn Du Router schreibst, kommt Dein Server nicht ins Internet oder ein Rechner an der 2. NIC? Wenn Rechner hinter Router, dann wirds noch etwas aufwendiger (NAT, Forwarding etc.)
Versuchst Du mit DNS Namen oder mit IP Adresse irgendjemand im Internet zu erreichen? Wenn DNS, dann versuche mal einen Ping auf eine IP-Adresse (eventuell tut die Namensauflösung nicht), z.B. 217.119.51.146 (das ist der Webserver meiner Firma).
DSL0 ist das Interface für DSL und das als Standardgateway zu nehmen ist schon richtig. Daher ist Deine Route so erstmal korrekt.
Ich habe daheim auch eine solche Lösung arbeiten, sitze aber gerade im Geschäft
Für die Routing-Funktionen kommen noch 2 Sachen hinzu:
1. Es muß IP-Forwarding eingeschaltet werden
2. Es muß NAT (Network Address Translation) aktiviert werden.
Ich habe Debian, sollte aber mit SuSE genauso arbeiten.
Für 1:
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynadd (das braucht man unter Umständen nicht)
Für 2 (Hier ein Skript von meinem Server):
#!/bin/tcsh
set IPTABLES = /usr/sbin/iptables
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -F
$IPTABLES -t nat -A POSTROUTING -o dsl0 -j MASQUERADE
Dann sitzt Dein Rechner allerdings völlig offen im Netz, man sollte die Firewall schon sicherer konfigurieren, aber für einen kurzen Test sollte es reichen.
Für die Routing-Funktionen kommen noch 2 Sachen hinzu:
1. Es muß IP-Forwarding eingeschaltet werden
2. Es muß NAT (Network Address Translation) aktiviert werden.
Ich habe Debian, sollte aber mit SuSE genauso arbeiten.
Für 1:
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynadd (das braucht man unter Umständen nicht)
Für 2 (Hier ein Skript von meinem Server):
#!/bin/tcsh
- Löschen der FireWall-Regeln
- ACHTUNG: Die FireWall ist danach offen!
set IPTABLES = /usr/sbin/iptables
- Alles akzeptieren
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
- Eventuell vorhandene Regeln löschen
$IPTABLES -t nat -F
- NAT aktivieren
$IPTABLES -t nat -A POSTROUTING -o dsl0 -j MASQUERADE
Dann sitzt Dein Rechner allerdings völlig offen im Netz, man sollte die Firewall schon sicherer konfigurieren, aber für einen kurzen Test sollte es reichen.
Sorry hamster1337, war ich mal wieder ein bischen zu schnell.
Also, 1. alleine reicht auch nicht, NAT muß aktiviert sein.
Das Skript einfach in eine Textdatei schreiben (kopieren), diese mittels chmod 755 Name_der_Datei ausführbar machen und dann in der Konsole aufrufen.
Oder die Befehle einzeln in der Konsole aufrufen:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -A POSTROUTING -o dsl0 -j MASQUERADE
Außerdem muß der Kernel es unterstützen, sollte aber bei einem SuSE Kernel mitdrin sein.
Also, 1. alleine reicht auch nicht, NAT muß aktiviert sein.
Das Skript einfach in eine Textdatei schreiben (kopieren), diese mittels chmod 755 Name_der_Datei ausführbar machen und dann in der Konsole aufrufen.
Oder die Befehle einzeln in der Konsole aufrufen:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -A POSTROUTING -o dsl0 -j MASQUERADE
Außerdem muß der Kernel es unterstützen, sollte aber bei einem SuSE Kernel mitdrin sein.
Hier auch mein komplettes Firewall-Skript (na gut, an manchen Stellen redundant, aber es tut):
Man muß natürlich noch die Auswahl bei Internem Netz und Interfaces an seine Konfiguration anpassen!
#!/bin/tcsh
set IPTABLES = /usr/sbin/iptables
set p_vnc = 5901 # VNC-Port
set p_ssh = 1000:1023 # common ssh source ports
set p_squid = 3128 # Squid-Port
set INT = eth0 # Interface ins interne Netz
set IF = ( $EXT $INT )
set INTERN = 10.0.0.0/255.255.255.0 # Internes Netz, muß an das tatsächlich verwendete IP Netz angepasst werden
echo "0" > /proc/sys/net/ipv4/ip_forward # Forwarding erstmal abschalten
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 "5" > /proc/sys/net/ipv4/icmp_destunreach_rate
echo "5" > /proc/sys/net/ipv4/icmp_echoreply_rate
echo "5" > /proc/sys/net/ipv4/icmp_paramprob_rate
echo "10" > /proc/sys/net/ipv4/icmp_timeexceed_rate
foreach if ($IF)
echo "1" > /proc/sys/net/ipv4/conf/$if/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/$if/bootp_relay
echo "1" > /proc/sys/net/ipv4/conf/$if/log_martians
end
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F # Löschen aller Regeln (Tabelle filter)
$IPTABLES -t nat -F # Löschen aller Regeln (Tabelle nat)
$IPTABLES -X # Löschen aller benutzerdefinierten Chains (filter)
$IPTABLES -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -o lo -s 10.0.0.1 -d 10.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 10.0.0.1 -d 10.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --dport $p_vnc -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $INT -d $INTERN -p TCP --sport $p_vnc -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -N log_drop
$IPTABLES -A log_drop -p ICMP -j LOG --log-prefix "DROP-ICMP "
$IPTABLES -A log_drop -p UDP -j LOG --log-prefix "DROP-UDP "
$IPTABLES -A log_drop -p TCP -j LOG --log-prefix "DROP-TCP "
$IPTABLES -A log_drop -j DROP
$IPTABLES -t nat -A POSTROUTING -o $EXT -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INT -o $EXT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "INVALID INPUT "
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state INVALID -j LOG --log-prefix "INVALID FORWARD "
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -p ICMP --icmp-type echo-request -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p UDP --dport domain -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport domain -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p UDP --dport smtp -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport smtp -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport pop3 -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p UDP --dport pop3s -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport pop3s -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --dport $p_squid -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --dport http -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --dport https -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP -m multiport --sport 23,89,107,992 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP -m multiport --dport 23,89,107,992 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP -m multiport --sport 23,89,107,992 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p TCP -m multiport --sport 11,79,177,901,2049,7001 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP -m multiport --dport 11,79,177,901,2049,7001 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP -m multiport --sport 11,79,177,901,2049,7001 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport 137:139 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP --dport 137:139 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP --sport 137:139 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport 6000:6063 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP --dport 6000:6063 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP --sport 6000:6063 -j DROP
$IPTABLES -A FORWARD -o $EXT -i $INT -p ICMP --icmp-type echo-request -j ACCEPT
$IPTABLES -A FORWARD -i $EXT -p TCP --dport auth --syn -j LOG --log-prefix "IDENT "
$IPTABLES -A FORWARD -i $EXT -p TCP --dport auth --syn -j REJECT
$IPTABLES -A FORWARD -i $INT -o $EXT -m state --state NEW,INVALID -j ACCEPT
$IPTABLES -A INPUT -i $EXT -m state --state NEW -p TCP --dport domain -j DROP
$IPTABLES -A OUTPUT -j log_drop
$IPTABLES -A FORWARD -j log_drop
Man muß natürlich noch die Auswahl bei Internem Netz und Interfaces an seine Konfiguration anpassen!
#!/bin/tcsh
- Firewall-Skript für Server.home
- =============================================================================
- Teil I: Variablen
- =============================================================================
set IPTABLES = /usr/sbin/iptables
- Ports
set p_vnc = 5901 # VNC-Port
set p_ssh = 1000:1023 # common ssh source ports
set p_squid = 3128 # Squid-Port
- Interfaces
set INT = eth0 # Interface ins interne Netz
set IF = ( $EXT $INT )
set INTERN = 10.0.0.0/255.255.255.0 # Internes Netz, muß an das tatsächlich verwendete IP Netz angepasst werden
- =============================================================================
- Teil II: Grundkonfiguration: absichern
- =============================================================================
- dynamische Kernelparameter setzen
echo "0" > /proc/sys/net/ipv4/ip_forward # Forwarding erstmal abschalten
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 "5" > /proc/sys/net/ipv4/icmp_destunreach_rate
echo "5" > /proc/sys/net/ipv4/icmp_echoreply_rate
echo "5" > /proc/sys/net/ipv4/icmp_paramprob_rate
echo "10" > /proc/sys/net/ipv4/icmp_timeexceed_rate
foreach if ($IF)
echo "1" > /proc/sys/net/ipv4/conf/$if/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/$if/bootp_relay
echo "1" > /proc/sys/net/ipv4/conf/$if/log_martians
end
- Conntrack-Module für FTP laden
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
- Default Policy und Regeln löschen
- Default Policy: Alles wird gedroppt
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F # Löschen aller Regeln (Tabelle filter)
$IPTABLES -t nat -F # Löschen aller Regeln (Tabelle nat)
$IPTABLES -X # Löschen aller benutzerdefinierten Chains (filter)
- Die maximale Segmentgröße auf die maximale transfer unit abstimmen
- Lokale Prozesse dürfen über das Loopback-Device lo kommunizieren
$IPTABLES -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -o lo -s 10.0.0.1 -d 10.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 10.0.0.1 -d 10.0.0.1 -j ACCEPT
- VNC für die Wartung erlauben, sofern die Anfrage aus dem internen Netz
- und über die Ethernet-Karte des internen Netzes kommt
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --dport $p_vnc -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $INT -d $INTERN -p TCP --sport $p_vnc -m state --state ESTABLISHED,RELATED -j ACCEPT
- =============================================================================
- Userdefinierte Regelketten
- =============================================================================
- DROP & LOG Kette
$IPTABLES -N log_drop
$IPTABLES -A log_drop -p ICMP -j LOG --log-prefix "DROP-ICMP "
$IPTABLES -A log_drop -p UDP -j LOG --log-prefix "DROP-UDP "
$IPTABLES -A log_drop -p TCP -j LOG --log-prefix "DROP-TCP "
$IPTABLES -A log_drop -j DROP
- =============================================================================
- Teil IV: Masquerading und bestehende Verbindungen
- =============================================================================
- Masquerading
$IPTABLES -t nat -A POSTROUTING -o $EXT -j MASQUERADE
- IP-Forwarding kann wieder eingeschaltet werden da Firewall läuft
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
- Erlauben ausgehender Pakete bestehender Verbindungen
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INT -o $EXT -m state --state ESTABLISHED,RELATED -j ACCEPT
- Erlauben eingehender Pakete zu bestehenden Verbindungen
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state ESTABLISHED,RELATED -j ACCEPT
- Droppen von eingehenden invaliden Paketen
$IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "INVALID INPUT "
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state INVALID -j LOG --log-prefix "INVALID FORWARD "
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state INVALID -j DROP
- =============================================================================
- Teil V: Filterregeln für lokale Dienste (also Dienste, die auf Server laufen)
- =============================================================================
- ICMP (Ausgehender Ping) erlauben
$IPTABLES -A OUTPUT -p ICMP --icmp-type echo-request -j ACCEPT
- DNS-Abfragen von Server an andere Nameserver erlauben
$IPTABLES -A OUTPUT -m state --state NEW -p UDP --dport domain -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport domain -j ACCEPT
- SMTP ausgehend erlauben
$IPTABLES -A OUTPUT -m state --state NEW -p UDP --dport smtp -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport smtp -j ACCEPT
- POP3 ausgehend erlauben, damit Fetchmail die Mails holen kann
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport pop3 -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p UDP --dport pop3s -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -p TCP --dport pop3s -j ACCEPT
- Squid (WWW-Proxy)
- Anfragen aus dem internen Netz an Squid erlauben
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --dport $p_squid -j ACCEPT
- Anfragen von Squid an externe Web-Server erlauben (http und https)
$IPTABLES -A OUTPUT -o $EXT -p TCP --dport http -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --dport https -j ACCEPT
- Komplettes Sperren bestimmter Ports von der Firewall ins externe Netz (auch wegen Broadcasts)
- Telnet (Port 23)
- Telnet Gateway (Port 89)
- Remote Telnet (Port 107)
- Telnet over SSL (Port 992)
$IPTABLES -A OUTPUT -o $EXT -p TCP -m multiport --sport 23,89,107,992 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP -m multiport --dport 23,89,107,992 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP -m multiport --sport 23,89,107,992 -j DROP
- Sysstat (Port 11)
- Finger (Port 79)
- X11 Display Manager Control Protocol (Port 177)
- SWAT (Port 901)
- NFS (Port 2049)
- X11 Font Server (Port 7001)
$IPTABLES -A OUTPUT -o $EXT -p TCP -m multiport --sport 11,79,177,901,2049,7001 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP -m multiport --dport 11,79,177,901,2049,7001 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP -m multiport --sport 11,79,177,901,2049,7001 -j DROP
- NetBIOS (Windows) Ports (Ports 137 - 139)
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport 137:139 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP --dport 137:139 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP --sport 137:139 -j DROP
- X11 Windows Displays (Ports 6000-6063)
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport 6000:6063 -j DROP
$IPTABLES -A INPUT -i $EXT -p UDP --dport 6000:6063 -j DROP
$IPTABLES -A OUTPUT -o $EXT -p UDP --sport 6000:6063 -j DROP
- Mal alles erlauben, was vom Server ins interne Netz geht und von dort kommt
- $IPTABLES -A INPUT -i $INT -s $INTERN -j LOG --log-prefix "INTERN-INPUT "
- $IPTABLES -A OUTPUT -o $INT -s $INTERN -j LOG --log-prefix "INTERN-OUTPUT "
- =============================================================================
- Teil VI: Filterregeln für Forwarding
- =============================================================================
- ICMP (Ping darf aus dem internen Netz nach draußen)
$IPTABLES -A FORWARD -o $EXT -i $INT -p ICMP --icmp-type echo-request -j ACCEPT
- identd wird rejected
$IPTABLES -A FORWARD -i $EXT -p TCP --dport auth --syn -j LOG --log-prefix "IDENT "
$IPTABLES -A FORWARD -i $EXT -p TCP --dport auth --syn -j REJECT
- Ansonsten darf aus dem internen Netz mal alles raus, wird aber protokolliert
- $IPTABLES -A FORWARD -i $INT -o $EXT -m state --state NEW -j LOG --log-prefix "Verbindungsaufbau Netz"
$IPTABLES -A FORWARD -i $INT -o $EXT -m state --state NEW,INVALID -j ACCEPT
- Alles was noch übrig ist sperren und loggen
- ACHTUNG:
- Da Morpheus zig Anfragen auf den DNS-Service bekommt, werden diese Pakete nicht mehr protokolliert, sondern einfach nur gedroppt
$IPTABLES -A INPUT -i $EXT -m state --state NEW -p TCP --dport domain -j DROP
- Jetzt den Rest sperren und loggen
$IPTABLES -A OUTPUT -j log_drop
$IPTABLES -A FORWARD -j log_drop
Soweit ich weiß hat YaST doch ein "Security" Modul in welchem die Firewall eingestellt werden kann. Die Firewall fragt dann schon ob Masquerading benötigt wird. War soweit ich mich erinnere ziemlich selbsterklärend.
Die hier vorgestellten Skripte sind toll, aber sollten bei SuSE nicht nötig sein.
Gruss, Oliver
Die hier vorgestellten Skripte sind toll, aber sollten bei SuSE nicht nötig sein.
Gruss, Oliver
Nein, er merkt sich den Zustand nicht, daß Skript muß beim Booten ausgeführt werden, aber erst, nachdem die DSL Verbindung steht (vorher gibts das Interface DSL0 nicht).
Die "Dienste" die Linux automatisch startet sind links auf ausführbare Dateien unter /etc/init.d/rc.RUNLEVEL. RUNLEVEL= 0 bis 6, s, h
Soweit ich das von SuSE noch im Kopf habe, ist Standard-Runlevel 3 bei Konsole und 5 bei graphischem Login.
D.h. in das Verzeichnis /etc/init.d/rc.3 bzw. rc.5 muß ein symbolischer Link rein, der auf die Batch-Datei des Firewall-Skripts zeigt und der SxxNameDesDienstes lautet. xx kann von 00 bis 99 gehen und gibt an, wann, im Verhältnis zu anderen Diensten, das Skript gestartet wird. 00 ganz am Anfang, 99 am Schluß.
Es muß auf alle Fälle nach network gestartet werden, ich weiß gerade nicht, wann DSL gestartet wird. Ansonsten einfach S99FirewallSkript machen.
symbolische Links gehen mit ln -s Quelldatei Zieldatei
Die "Dienste" die Linux automatisch startet sind links auf ausführbare Dateien unter /etc/init.d/rc.RUNLEVEL. RUNLEVEL= 0 bis 6, s, h
Soweit ich das von SuSE noch im Kopf habe, ist Standard-Runlevel 3 bei Konsole und 5 bei graphischem Login.
D.h. in das Verzeichnis /etc/init.d/rc.3 bzw. rc.5 muß ein symbolischer Link rein, der auf die Batch-Datei des Firewall-Skripts zeigt und der SxxNameDesDienstes lautet. xx kann von 00 bis 99 gehen und gibt an, wann, im Verhältnis zu anderen Diensten, das Skript gestartet wird. 00 ganz am Anfang, 99 am Schluß.
Es muß auf alle Fälle nach network gestartet werden, ich weiß gerade nicht, wann DSL gestartet wird. Ansonsten einfach S99FirewallSkript machen.
symbolische Links gehen mit ln -s Quelldatei Zieldatei