Hallo,
…
Daher bin ich so ziemlich am Ende
mit meinem Latein. Hinzu kommt, dass ich nicht unbegrenzt Zeit
wegen meiner Arbeit habe.
…
Um mit den Win Rechnern ins INET zu kommen, habe ich Squid 2.4
aufgesetzt. Damit läuft Internet & Emule. Nun die Probleme:
-Squid fährt sich ca alle 2 Tage fest (wahrscheinlich Cache
Probl),
-EMAIL ging nicht mit Outlook -> gelöst mit fetchmail &
postfix
Meine persönlichen Erfahrungen mit Linux sind, dass, wenn man Linux „richtig“ einsetzen möchte, das auch eine serh Zeitaufwendige Angelegenheit wird, da immer irgendwas nicht funktioniert:wink: Wie Oliver schon richtig schreibt. Mit einem richtig aufgesetzten (S/D)NAT funtkioniert Internet, Outlook, FTP und E-Mule problemlos!
Du kannst das aufjenden Fall mit der Suse Firewall machen, nur ist das so eine Sache, da kommt man leider sehr schnell an seine Grenzen. Auch finde ich die SuseFW nur bedingt transparent. Man weiss immer nicht so genau, was da nun im Hintergrund abläuft. Allgemein bei dieser ganze YAST Geschichte, so hilfreich diese in vielen Fällen ist.
Als Alternative bietet sich iptables an (darauf basiert auhc die SuseFW). Allerdings ist das schon auch ein Thema, das nicht gerade zu empfehlen ist, wenn man das ganze in ein paar Minuten durchziehen möchte…
ERstelle dir mal folgendes Shell Skript :
#! /bin/sh
Unter SUSE 8.2 sind die unnötig, evtl. aber für 8.1 notwendig???
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ipt_state
modprobe iptable_filter
IP-Forwarding aktivieren (geht auch per YAST2)
echo „1“ > /proc/sys/net/ipv4/ip_forward
Clean-Init
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
Setzen der Default Policies.
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
Notwendig damit auf dem Linux Server z.B. X11 funktioniert und
eineige andere Programme. Loopback-Interface wird damit nicht
mehr geblockt.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Aktivieren des Soure NAT fürs interne Netzwerk. Damit werden
sämtliche ausgehenden Verbindungen des internen Netzwerkes mit
der öffentlichen IP-Adresse des Servers maskiert.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Unbedingt notwendig, wegen der PPP over Ethernet Problematik -->
TCP Paketgröße… 1450/1492
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS \
–clamp-mss-to-pmtu
Erlaube eingehenden Traffic der über das DSL Interface (ppp0)
reinkommt, sofern es dazu eine entsprechende (ausgehende) „gültige“
Verbindung gibt. Statefull FIltering/Connection Tracking.
Diese Regel gilt nur für den Linux-Server. Nicht fürs LAN
iptables -A INPUT -i ppp0 -p tcp -m state \
–state ESTABLISHED,RELATED -j ACCEPT
Nicht ideal, aber zum TEsten OK. Erlaube sämtliche Zugriffe aus dem
internen Netzwerk auf den Server! Sonst sollte man das auch
blocken bwz. SSH tunneln.
iptables -A INPUT -i eth0 -j ACCEPT
Apache/Webserver
iptables -A INPUT -i ppp0 -p tcp --dport 80 -m state \
–state NEW -j ACCEPT
Erlaube sämtlichen ausgehenden Traffic ins Internetder auf dem
Server auf eth0 „reinkommt“ und auf ppp0 „rausgeht“. Also nur
Traffic des _internen_ Netzes, nicht des Linux Servers selbst.
iptables -A FORWARD -i eth0 -o ppp0 -s -j ACCEPT
Statefull Filtering/ Connection Tracking. Erlaube eingehenden
Traffic vom DSL Anschluss (ppp0) an das interne Netzwerk (eth0)
nur dann, wenn er zu einer „gültigen“ verbindung gehört
Diese Regel betrifft den Server selbst _nicht_! sondern nur den
Traffic der für das interne Netzwerk bestimmt ist.
iptables -A FORWARD -i ppp0 -o eth0 -m state \
–state ESTABLISHED,RELATED -j ACCEPT
##EMULE###
DAmit läuft der Esel problemlos, auch wenn die ein oder
andere Verbindung von aussen geblockt wird. Die Ports basieren aber
auf der offiziellen E-Mule implementierung/Doku.
Du musst noch anpassen auf welchem Rechner im Netzwerk der Esel
läuft!! 192.168.0.3 durch die entsprechende IP-Adresse ersetzten!
Es kann immer nur ein Esel im Netzwerk laufen…
ppp0 ist wider das DSL Interface, eth0 das Interface an dem das
Lan angeschlossen ist.
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 \
-j DNAT --to 192.168.0.3
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 \
-j DNAT --to 192.168.0.3
iptables -A FORWARD -i ppp0 -o eth0 -p tcp --dport 4662 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -p udp --dport 4672 -j ACCEPT
Ein paar Anmerkungen.
Passives FTP (das muss man im entsprechenden FTP Programm einstellen, müsste damit funktionieren. Aktives FPT NICHT!. Dazu braucht man DNAT…)
Sämtliche Zeilen die mit \ enden sind (wie üblich) _eine_ Zeile !
Damit dieses Skript im Sinne einer Firewall einigermassen sicher ist, musst du unbedingt die Ethernetzwerkkarte deines Servers mit dem DSL-Modem direkt über ein EthernetNetzwerkkabel verbinden. DAs geht theoretisch auch über ein Hub oder Switch, dann sind aber die ganzen Firewallregeln komplett anders zu schreiben. Also unbedingt direkt verbinden.
Bevor du das Skript laufen läßt, schalte alle Suse Firewalls aus!! (SuseFIrewall2 und die PersonalFirewall, je nachdem)
Die Netzwerkinterface ppp0, eth0 und eth1 musst du natürlich anpassen, inkl der IP Adresse für Emule. ppp0 ist das DSL Interface, und eth0 ist hier das Interface an dem dein _eigenes privates_ LAN hängt!! an eth1 ist der anschluss zum DSL Modem!
Wenn du Glück hast, funktioniert das dann:wink:
Wenn nicht - und auch sonst! - um das ganze wieder los zu werden unbedingt folgends Skript ausführen:
#! /bin/sh
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -L
Viele Grüße
Thomas