Mahlzeit - erster Beitrag in den Foren also bitte nicht gleich einprügeln 
Innerhalb der letzten fünf Wochen hab ich mich als totaler Newbie mit FreeBSD rumgeschlagen, um mir und meiner Familie nen feinen Router-Rechner zusammen zu bauen.
Soweit klappt auch alles, da die Firewall momentan noch in einem Open-State läuft und nur "schädliche" Ports blockiert werden (sollten). Nu hab ich aber das Problem, dass sowohl Gamevoice, als auch z.B. eMule nicht laufen wollen, da die verwendeten Ports angeblich nicht verfügbar sind.
Nu war ich ja nicht blöd und hab dieses Forum durchsucht und so einige Threads mit ähnlicher Problematik gesucht und versucht aus den diffusen Antworten (die sich leider oft nicht über dem Niveau von "wo ist denn das Problem - ist doch easy" bewegten und unkonstruktiv waren) meine Problematik zu lösen, leider ohne Erfolg.
Da ich nun echt nicht mehr weiterweiss, hoffe ich nun hier in diesem Thread ein paar Antworten zu bekommen - daher nun mein konkretes Beispiel :
Am laufen habe ich FreeBSD 5.2 mit IPFW als Firewall, natd sorgt fürs Masquerading und named arbeitet mit dem Telekom-DNS zusammen als Caching-Nameserver.
Noch installiert werden soll in nächster Zeit ein Mountpoint als Image-Festplatte fürs Windows-Netzwerk (Samba lässt grüssen - da muss ich mich noch durch man's durchschlagen) und Traffic-Shaping-Rules in IPFW (habe Dummynet im Kernel mitgebaut) - aber die beiden Punkte hab ich noch nicht wirklich in Angriff genommen, da wollt ich erst die man-pages studieren, ob ich was daraus peile
)
Die IPFW-Ruledatei sieht momentan so aus (sie soll ein weitestgehend offenes Netz darstellen, in dem meine Family auch ohne Probs ins Netz kann und "schädliche" Ports über den "internet-adapter" blockiert werden. rl0 ist das Interface, welches direkt am DSL-Modem sitzt, sis0 ist über einen Switch mit dem LAN verbunden)
Diese Rules sind sozusagen "aus der Hüfte geschossen" entstanden und erlauben auch momentan alles was ich brauche - Web, FTP, ICQ, IRC, sogar BitToRent funzt, auch MP3-Streams kann ich anhören, zocken funzt einwandfrei. Nur können z.B. keine Leute sich mit meinem Rechner verbinden, wenn ich Gamevoice aufmache (udp-Port 9110) und der Esel meint immer, dass meine Ports unerreichbar wären. Ich dachte die add allow all from any to any-Rule würde auch das erlauben, aber das klappte nicht, weshalb ich extra die Rules mit den Ports hinzugefügt hab.
Nun hab ich hier in den Foren gelesen, dass ich diese Ports richtig auf meinen Rechner forwarden müsste, also hab ich mich an die natd.conf gesetzt und folgendes reingetippert :
Dies hatte allerdings nur zur Folge, dass sich nichts geändert hat ...
Ich weiss nicht mehr weiter, ich hoffe ihr könnt mir helfen !
Update :Ich habe testweise die NAT-Einträge auch mal in die ppp.conf eingetragen und siehe da - dies funktioniert einwandfrei - hat jemand dafür ne Erklärung warum natd - der ja eigentlich dafür gedacht ist, es nicht schafft, die Ports "richtig" zu forwarden, aber das eingebaute NAT im ppp-Treiber schon ? Der scheint ja ohnehin mit eingebauten Packetfilter-Möglichkeiten nicht gerade unmächtig zu sein ...

Innerhalb der letzten fünf Wochen hab ich mich als totaler Newbie mit FreeBSD rumgeschlagen, um mir und meiner Familie nen feinen Router-Rechner zusammen zu bauen.
Soweit klappt auch alles, da die Firewall momentan noch in einem Open-State läuft und nur "schädliche" Ports blockiert werden (sollten). Nu hab ich aber das Problem, dass sowohl Gamevoice, als auch z.B. eMule nicht laufen wollen, da die verwendeten Ports angeblich nicht verfügbar sind.
Nu war ich ja nicht blöd und hab dieses Forum durchsucht und so einige Threads mit ähnlicher Problematik gesucht und versucht aus den diffusen Antworten (die sich leider oft nicht über dem Niveau von "wo ist denn das Problem - ist doch easy" bewegten und unkonstruktiv waren) meine Problematik zu lösen, leider ohne Erfolg.
Da ich nun echt nicht mehr weiterweiss, hoffe ich nun hier in diesem Thread ein paar Antworten zu bekommen - daher nun mein konkretes Beispiel :
Am laufen habe ich FreeBSD 5.2 mit IPFW als Firewall, natd sorgt fürs Masquerading und named arbeitet mit dem Telekom-DNS zusammen als Caching-Nameserver.
Noch installiert werden soll in nächster Zeit ein Mountpoint als Image-Festplatte fürs Windows-Netzwerk (Samba lässt grüssen - da muss ich mich noch durch man's durchschlagen) und Traffic-Shaping-Rules in IPFW (habe Dummynet im Kernel mitgebaut) - aber die beiden Punkte hab ich noch nicht wirklich in Angriff genommen, da wollt ich erst die man-pages studieren, ob ich was daraus peile
) Die IPFW-Ruledatei sieht momentan so aus (sie soll ein weitestgehend offenes Netz darstellen, in dem meine Family auch ohne Probs ins Netz kann und "schädliche" Ports über den "internet-adapter" blockiert werden. rl0 ist das Interface, welches direkt am DSL-Modem sitzt, sis0 ist über einen Switch mit dem LAN verbunden)
Code:
#!/bin/sh
# Keine Ausgaben
fwcmd="/sbin/ipfw -q"
# Bisherige Rules saeubern
${fwcmd} -f flush
# Variablen setzen
natd_interface="rl0"
lan_interface="sis0"
closed_ports="22,135,139,445,2049,5000,6000,12345,20034"
# Localhost-Traffic erlauben und Internet fuer 192.168.0.1 erlauben
${fwcmd} add allow ip from any to any via lo0
${fwcmd} add divert natd all from any to any via ${natd_interface}
# Stateful-Firewall verwenden
${fwcmd} add check-state
${fwcmd} add allow ip from any to any via ${lan_interface} keep-state
# Anti-Spoofing Rules
${fwcmd} add deny log ip from 10.0.0.0/8 to any in via ${natd_interface}
${fwcmd} add deny log ip from 172.16.0.0/12 to any in via ${natd_interface}
${fwcmd} add deny log ip from 192.68.0.0/16 to any in via ${natd_interface}
# Fragmentierte Pakete ham wir auch nicht gern
${fwcmd} add deny all from any to any frag in via ${natd_interface}
# Und genauso Versuche auf die verdaechtigen Ports aus dem I-Net
${fwcmd} add deny all from any to any ${closed_ports} in via ${natd_interface}
# ICMP Types 3 und 8 mal mitprotokollieren
${fwcmd} add allow log icmp from any to any in recv ${natd_interface} icmptype 3
${fwcmd} add allow tcp from any to any 4661,4662 #in recv ${natd_interface}
${fwcmd} add allow udp from any to any 4672 #in recv ${natd_interface}
${fwcmd} add allow ip from any to any 9110 #in recv ${natd_interface}
# Alles erlauben
${fwcmd} add allow all from any to any
# Alles verbieten
#${fwcmd} add deny all from any to any
Nun hab ich hier in den Foren gelesen, dass ich diese Ports richtig auf meinen Rechner forwarden müsste, also hab ich mich an die natd.conf gesetzt und folgendes reingetippert :
Code:
dynamic yes
log no
log_denied no
log_ipfw_denied no
log_facility security
deny_incoming no
use_sockets yes
same_ports yes
unregistered_only yes
redirect_port tcp 192.168.0.1:4661-4665 4661-4665
redirect_port udp 192.168.0.1:4672 4672
redirect_port udp 192.168.0.1:9110 9110
Ich weiss nicht mehr weiter, ich hoffe ihr könnt mir helfen !
Update :Ich habe testweise die NAT-Einträge auch mal in die ppp.conf eingetragen und siehe da - dies funktioniert einwandfrei - hat jemand dafür ne Erklärung warum natd - der ja eigentlich dafür gedacht ist, es nicht schafft, die Ports "richtig" zu forwarden, aber das eingebaute NAT im ppp-Treiber schon ? Der scheint ja ohnehin mit eingebauten Packetfilter-Möglichkeiten nicht gerade unmächtig zu sein ...
Zuletzt bearbeitet:
ort port