Hallo Joerg,
On Fri, Feb 13, 2004 at 08:50:11AM +0100, Joerg Thuemmler wrote:
Daniel Lord schrieb am Thu, 12 Feb 2004 19:47:28 +0100: DSL und Router will nicht
--
"Zwei Dinge halte ich für unendlich: die menschliche Dummheit und das
Universum.
Bei Letzterem bin ich mir aber noch nicht sicher." -- Albert Einstein
hmm, hoffe, daß die Signatur nicht allzu sehr zutrifft...
Ist wie (fast) immer eine Zufallssignatur und irgendwie hab ich das
dumme Gefühl, dass an der Aussage was dran sein könnte. :\ Aber das
gehört nicht in diese Liste :) Und hat auch sicher nichts mit Linux
zu tun *g*
Client (alte DLD-4 Version, da Testrechner. Routing lief aber tadellos über
ISDN-Router, Kernel 2.0.36 IP 192.168.0.4=pc586)
gibts sowas immer noch :)
[ Clientausgaben OK ]
/etc/resolv.conf
search lan.vfg
nameserver 192.168.0.2 (hier hatte ich auch schon einen "echten" t-online-DNS
drinstehen ... selbes Ergebnis)
läuft auf dem Router (Athlon) ein bind (DNS Server)? Wenn nicht dann
gehört hier der T-Offline DNS Server rein.
z.B. nameserver 194.25.2.129
nameserver 194.25.2.130
nameserver 194.25.2.131
oder schau mal auf http://www.fli4l.de/german/dns.htm ob du was
passenderes findest.
Router: (Athlon 2,2 GHz, Suse 8.1 Pro, Orig.Kernel 192.168.0.2=pcedv)
[ Routerausgabe OK ]
# special IPv6 addresses
::1 localhost ipv6-localhost ipv6-loopback
fe00::0 ipv6-localnet
ff00::0 ipv6-mcastprefix
ff02::1 ipv6-allnodes
ff02::2 ipv6-allrouters
ff02::3 ipv6-allhosts
Wenn du kein IPv6 benutzt (wovon ich mal ausgehe) dann kannst du
diese Einträge aus /etc/hosts löschen. (hat nichts mit deinem
eigentlichen Problem zu tun)
Dein Problem liegt nun also definitiv am Routing / Masquerading auf
dem Router.
dort also mal ein SuSEfirewall2 stop ausführen.
danach mal das folgende Skript starten
#!/bin/bash
IPT=/sbin/$IPT
PCPOOL="eth0"
OUTSIDE="eth1"
# Flush all
$IPT -F INPUT
$IPT -F FORWARD
$IPT -F OUTPUT
$IPT -F PREROUTING
$IPT -F POSTROUTING
$IPT -X
$IPT -Z # zero all counters
# Set Policie
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# Masquerading
$IPT -t nat -A POSTROUTING -o ${OUTSIDE} -j MASQUERADE
# Keep State
$IPT -A FORWARD -m state --state NEW -i ${PCPOOL} -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state NEW,INVALID -i ${OUTSIDE} -j DROP
# PPPOE MTU
$IPT -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Evil SMB NETBIOS etc.
$IPT -t nat -A PREROUTING -p TCP -i ${PCPOOL} --dport 135:139 -j DROP
$IPT -t nat -A PREROUTING -p UDP -i ${PCPOOL} --dport 137:139 -j DROP
$IPT -t nat -A PREROUTING -p TCP -i ${PCPOOL} --dport 445 -j DROP
$IPT -t nat -A PREROUTING -p UDP -i ${PCPOOL} --dport 445 -j DROP
# Ident
$IPT -A INPUT -p TCP --dport 113 -i ${OUTSIDE} -j REJECT --reject-with tcp-reset
# DNS
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# ICMP
$IPT -A OUTPUT -p icmp -j ACCEPT
$IPT -A INPUT -p icmp -j ACCEPT
# Tusted Net !evtl. zu unsicher!
$IPT -A INPUT -i ${PCPOOL} -j ACCEPT
$IPT -A OUTPUT -o ${PCPOOL} -j ACCEPT
# Tweaks
$IPT -A PREROUTING -t mangle -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
$IPT -A PREROUTING -t mangle -p tcp --sport ftp -j TOS --set-tos Minimize-Delay
$IPT -A PREROUTING -t mangle -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput
# List all
$IPT -L -n -v
# dyn IP
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
# Evil ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Forward
echo "1" > /proc/sys/net/ipv4/ip_forward
Überlange Zeilen d.h. vorsicht wenn der MUA die Zeilen umbricht.
Ich übernehme allerdings keine Garantie für das Skript und schon gar
nicht für eine Firma :) (funktionieren sollte es aber trotzdem :)
Der Router sollte nach dem Ausführen dieses Skriptes ziemlich
transparent sein (von innen nach aussen) D.h. auf dem Client muss
nur noch die /etc/resolv.conf geändert werden.
Da es sich bei dem Projekt um eine Firma handelt noch ein zwei Sätze
zum Thema Sicherheit. Obige Firewall ist _nicht_ sicher aber sie
funktioniert und hält einiges vom internen Netzwerk ab. IMHO sollte
für eine Firma aber eine Konfiguration ganz ohne Masquerading
gewählt werden. Tripwire, scanlogd, grsecurity, SELinux und Co.
sollte man sich zumindest mal anschauen und evtl. aufsetzen.
Greetings Daniel
--
Wenn Leute dir sagen: "Kümmere dich nicht soviel um dich selbst.",
dann sieh dir die Leute an die dir das sagen.
An ihnen kannst du erkennen, wie das ist, wenn einer sich nicht
genug um sich selbst gekümmert hat. - Erich Fried