Router -Firewall Problem

Andreas-iz

Active Member
Hi zusammen
Habe die firewall so installiert wie gunix beschrieben hat.
Jetzt habe ich das Problem das ich nicht ins internet komme.
Er wählt sich nicht ein.
Irgendwo muss noch ein fehler sein aber wo?
Intern funktioniert alles ping, telnet und ssh.

Hat jemand einen rat ? Bin newbie in sachen FreeBSD

Im vorraus Danke für die Hilfe

Gruss Andreas
:D
 
Servus.

Ja wie, wo sind den die config files? Bitte poste diese mal, ebenso wie die logs. Ohne dies ist es die Suche nach der Nadel im Heuhaufen...
 
Hi
was brauchst du den genau um den fehler zu finden: rc.conf; ppp.conf, firewall-script; und vielleicht noch?
wo finde ich den den logfile?

oder welche log brauchst du?

Von der firewall habe ich schon gesucht aber nicht gefunden.

Danke im vorraus

Gruss Andreas
 
Servus.

Du schreibst das Du nicht ins Internet kommst, was soll das heissen? Hast Du ein Modem, ISDN oder DSL? Klappt die Einwahl? Oder kommt gar keine Verbindung zustande?
Schau mal unter /var/log/messages nach, was dort steht. Bei ppp ebenso unter /var/log/ppp.
Bitte posten den Inhalt hier, bzw. die letzten 20 Zeilen.

Ebenso poste Deine /etc/ppp/ppp.conf (aber bitte davor username und passwort ändern).

Dein Firewallscript auch posten, ebenso wie die rc.conf.

Das sollte für den Anfang einer Fehlersuche erstmal ausreichen und dann werden wir das Kind schon schaukeln.
 
Hi und Guten Morgen
Habe eine DSL anschluss.

Als anhang, hoffe das klappt, habe ich alle sachen eingefügt und hoffe das es uns ein stück weiter bringt.

Gruss Andreas
 

Anhänge

  • forum.txt
    12,8 KB · Aufrufe: 719
Moin.

Ich schau mir das mal an, weiss aber nicht wann ich heute dazu kommen werde, irgendwann muss ich ja mal was arbeiten, die Server brauchen auch ihre Streicheleinheiten....

Melde mich aber so schnell als möglich
 
Hi
Jo super, würde mich freuen wenn wir das in griff bekommen.
Ich denke das es nur ein kleiner denk fehler ist (natd ), ppp o. rc.conf, oder nicht die richtige netzwerk karte angegeben habe.

Gruß und Danke im vorraus

Andreas
 
Servus.

options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_PPPOE
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPDIVERT

Das sieht ja schonmal gut aus, und Dein Kernel wurde ja auch gebaut.

redirect_port udp 192.168.0.1:22 22

Setze auch noch ein:
redirect_prt tcp 192.168.0.1:22 22

Deine /etc/rc.conf:
defaultrouter="192.168.0.100"

Was soll das? Der Server dient doch als Gateway, so hast Du es angegeben in Deiner rc.conf, warum soll er nun eine defaultroute haben mit der IP 192.168.0.100?
Das heisst ja, alle Pakete werden dann über 192.168.0.100 geroutet, warum wieso weshalb? Raus damit. Dann geht das auch.
Ich denke daran könnte das Problem gelegen haben...

Du gibst auf anderen BSD Kisten, die hinter diesem Server sitzen, als defaultrouter die IP des Servers ein, was bei Dir 192.168.0.90 ist. Der Server an sich braucht keine defaultroute, er ist ein router. Und alles das was nach draussen soll, geht dann über tun0 (rl0) raus.


Deine /etc/rc.conf:
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic -config /etc/natd.conf"

natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic -f /etc/natd.conf"

Was Dein Firewall-Script angeht, so setze als rule hinter
$fwcmd add divert natd all from any to any via tun0
mal
$fwcmd add allow ip from any to any

Oder setze in der /etc/rc.conf den firewall type auf OPEN:

firewall_type="OPEN"

Dann geht zwar erstmal alles durch, aber es ist ein Punkt weniger der Probleme verursacht, funktioniert dann die verbindung nach draussen, dann nimm die rules wieder rein, und schaue wo dort das Problem liegt.


default:
set device PPPoE:rl0
set MTU 1492
set MRU 1492
set dial
set crtscts off
set speed sync
accept lqr
disable iface-alias
disable deflate
disable pred1
disable vjcomp
disable acfcomp
disable protocomp
enable dns
set log Phase LCP IPCP CCP Warning Error Alert
set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0
add default HISADDR
set loginset authname xxx@t-online.de
set authkey xyz

In der /etc/rc.conf folgendes danach ändern:
ppp_profile="t-online" IN
ppp_profile="default" ändern

Was mich irritiert ist die message in /var/log/messages:

can't re-use a leaf (nonstandard_pppoe)!

Was für ein DSL "Modem" ist das?

Siehe hierzu:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pppoe.html


So, das ist es was ich auf die Schnelle sagen kann, evtl. lag es am Eintrag des defaultrouters, und nach rausnehmen funktioniert dann alles. Probiere es aus und berichte.
Achja, immer eins nach dem anderen rausnehmen und testen. Also zuerst mal in der /etc/rc.conf den defaultrouter rausnehmen.
Ich nehme an das in der /etc/resolv.conf zwei Nameserver eingetragen sind, oder?

Melde Dich wenn es nicht gehen sollte.
 
Hi

Werde ich nachher ausprobieren, schritt für schritt.


Du gibst auf anderen BSD Kisten, die hinter diesem Server sitzen, als defaultrouter die IP des Servers ein, was bei Dir 192.168.0.90 ist. Der Server an sich braucht keine defaultroute, er ist ein router. Und alles das was nach draussen soll, geht dann über tun0 (rl0) raus.

Die ip 192.168.0.90 kommt deshalb weil ich den rechner im netzwerk angeschlossen habe. Wenn er fertig konfiguriert ist bekommt er die ip 192.168.0.100. (Router) (10 Rechner im Netzwerk)

Um die verbindung im Internet aus zu probieren und ob die clients auch laufen (Netzwerk) muss ich die ip ändern (192.168.0.100) zum testen. (Gateway 192.168.0.100)

Schauen wir mal, werde posten ob es geht.

Gruß Andreas
 
Die ip 192.168.0.90 kommt deshalb weil ich den rechner im netzwerk angeschlossen habe. Wenn er fertig konfiguriert ist bekommt er die ip 192.168.0.100. (Router) (10 Rechner im Netzwerk)

Um zu testen ob der Server auch geht, musst Du trotzdem die defaultroute die Du diesem gegeben hast, rausnehmen. Das macht sonst keinen Sinn. Der Server ist ja mit rl0 (tun0) mit einem DSL Modem verbunden, das geht raus ins Netz. Daher musst Du zum testen nur den Clients, die über diesen Server raus sollen, als defaultroute die 192.168.0.90 geben.

Um die verbindung im Internet aus zu probieren und ob die clients auch laufen (Netzwerk) muss ich die ip ändern (192.168.0.100) zum testen. (Gateway 192.168.0.100)

?
Geb den clients doch die IP 192.168.0.200 und als defaultroute die 192.168.0.90. Dann gehen die Anfragen schon nach draussen, via tun0. Nicht vergessen den Clients auch die Nameserver zu nennen, sonst klappt das mit der Auflösung nicht.
 
Halöe

habe alles nach und nach abgearbeitet und ausprobiert. Geht nicht.
Keine internet verbindung.

Werde das system noch mal komplett neu machen morgen früh.
Dann mit deiner ppp.conf versuchen eine verbindung auf zu bauen.

mit meiner ppp.conf hatte ich bis jetzt keine probleme.

Dann stück für stück mich ran zu tasten.

Wenn das geht, werde ich den kernel machen mit der firewall usw.

Noch eine frage. um den port forwarden muss IPDIVERT installiert sein?
Oder kann ich das auch getrennt von einander ausprobieren?

Erst Nat und dann Firewall? oder umgedreht?

rc.conf
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="t-online" IN
ppp_nat="NO" <oder YES
ppp_profile="default"

ppp.conf vom posting

Gruß Andreas
 
Erst Nat und dann Firewall? oder umgedreht?
rc.conf
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="t-online" IN
ppp_nat="NO" <oder YES
ppp_profile="default"

Du kannst NAT auf zweierlei Art nutzen. Einmal das NAT von PPP (was viele empfehlen) oder NATD von ipfw. Wenn Du NATD nutzt brauchst Du kein ppp_nat.
 
Hi

Wie müsten den die einstellungen vom ppp NAT aus sehen für das port forwarden?
rc.conf und ppp.conf und was muss noch geändert werden?

NAtD muss ich ja mit in den kernel compilieren IPDIVERT richtig!

Bin jetzt soweit fertig, internet funktioniert, nun wollte ich den kernel machen, deswegen die frage was besser ist ppp Nat oder Natd mit in den kernel einbringen.

Gruß Andreas
 
Nabend.

Wie so oft, es entscheidet die Religionszugehörigkeit darüber was besser ist oder auch nicht.

Da Du als firewall IPFW einsetzen willst (so sah es bisher zumindest aus), kannst Du auch NATD gleich rennen lassen. Dazu braucht es auch des divert sockets.
Alles andere wie man NATD einsetzt hatte ich ja in den vorherigen postings schon geschrieben, kann das aber gerne nochmals machen.

Dein Kernel sollte für PPPoE

options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_PPPOE

dies haben, und für IPFW und NATD

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT

dies.
Hmm, wenn ich mich recht entsinne kann man vieles aber auch schon mit "kldload" als Module nachladen, musst Du mal ausprobieren, das kann ich nicht mit Sicherheit sagen.
Aber ACHTUNG bei IPFW.
Wenn Du obiges in den Kernel einbaust, und nach bau des Kernels neu startest, wirst Du von aussen nicht mehr auf den Rechner kommen, ebenso wird jeder Zugriff von diesem Rechner nach aussen geblockt. Warum? Nun, als einzige, wenn auch letzte rule, wird als Standard hierbei

65534 add deny ip from any to any

gesetzt.
Im Prinzip gut, denn Du kannst Deine Rules dann später in Deiner eignene ipfw rules Datei darüber bauen, und alles was diesen rules dann nicht entspricht, wird automatisch geblockt.
Daher, setze auch folgendes in die /etc/rc.conf ein:

firewall_type="OPEN"

Wenn Du entsprechende eigene rules geschrieben hast, die WIRKEN sollen, das natürlich wieder rausnehmen.

Der Eintrag, in die /etc/rc.conf, sieht dann folgendermassen aus, wenn Du rules geschrieben hast und die obige Zeile dann auch löschst:

firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
firewall_logging="YES"

Zweite Zeile entsprechend ändern, je nachdem wo Deine Datei liegt. Ich habe die firewall rules und natd.conf beide im gleichen Verzeichnis liegen.

Hier der Inhalt von /etc/firewall/fwrules:

ipfw add 10 divert natd all from any to any via tun0

# Blockiert den port 6000 (X)
ipfw add deny log tcp from any to any 6000 in recv tun0

ipfw add allow ip from any to any via lo0
ipfw add allow ip from any to any via xl0

# Erlaubt alle Verbindungen welche von hier initiiert wurden
ipfw add allow tcp from any to any out xmit tun0 setup

# Wenn die Verbindung einmal hergestellt wurde, erlaube dieser offen zu stehen
ipfw add allow tcp from any to any via tun0 established

ipfw add allow log tcp from any to any 80 setup
ipfw add allow log tcp from any to any 22 setup
ipfw add allow log tcp from any to any 25 setup
ipfw add allow log tcp from any to any 21 setup
ipfw add allow log tcp from any to any 1022 setup

# This sends a RESET to all ident packets.
ipfw add reset log tcp from any to any 113 in recv tun0

# Erlaubt ausgehende DNS queries NUR auf die beiden angegebenen Server
ipfw add allow udp from any to 195.20.224.234 53 out xmit tun0
ipfw add allow udp from any to 194.25.2.129 53 out xmit tun0
ipfw add allow udp from any to 217.5.99.105 53 out xmit tun0

ipfw add allow tcp from any to 195.20.224.234 53 out xmit tun0
ipfw add allow tcp from any to 194.25.2.129 53 out xmit tun0
ipfw add allow tcp from any to 217.5.99.105 53 out xmit tun0

# Erlaubt die Antwort der DNS Nachfragen ;)
ipfw add allow udp from 195.20.224.234 53 to any in recv tun0
ipfw add allow udp from 194.25.2.129 53 to any in recv tun0
ipfw add allow udp from 217.5.99.105 53 to any in recv tun0

ipfw add allow tcp from 217.5.99.105 53 to any in recv tun0
ipfw add allow tcp from 194.25.2.129 53 to any in recv tun0
ipfw add allow tcp from 217.5.99.105 53 to any in recv tun0

# Loggt ICMP Anfragen (echo und dest. unreachable) == script kiddies
ipfw add allow log icmp from any to any in recv tun0 icmptype 3
ipfw add allow log icmp from any to any in recv tun0 icmptype 8
# ICMP erlauben
ipfw add allow icmp from any to any

# Blockiert alle Anfragen auf ports unter 1000
ipfw add deny log tcp from any to any 0-1000 in recv tun0 setup
# 2049 == NFS
ipfw add deny log tcp from any to any 2049 in recv tun0 setup

# Loggt netbux connections
ipfw add deny log tcp from any to any 12345 in recv tun0
ipfw add deny log tcp from any to any 20034 in recv tun0

Wenn Du diese rules übernimmst, dann tut das für Dich erstmal.

Ok, nochmals schnell wie man NATD zum rennen bekommt:

natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic -f /etc/firewall/natd.conf"

Letzte Zeile entsprechend ändern, je nachdem wo Deine natd.conf liegt.
Diese hat dann beispielsweise den folgenden Inhalt:

redirect_port tcp 192.168.0.203:80 80
redirect_port udp 192.168.0.203:80 80
redirect_port tcp 192.168.0.202:22 22
redirect_port udp 192.168.0.202:22 22
redirect_port tcp 192.168.0.203:21 21
redirect_port udp 192.168.0.203:21 21

Hier siehst Du das Anfragen an Port 80 (http) auf die IP 192.168.0.203 auf Port 80 weitergeleitet werden (eine IP einer Jail auf dem selben Rechner bei mir).
Ebenso verhält es sicht mit den anderen Einträgen.
Das wars dann auch schon.

ppp_nat funktioniert ähnlich, wobei Du in der /etc/rc.conf mittels "-nat" schon die zu maskierende Adresse und port mitgeben kannst. Alles weitere dazu siehe "man ppp". Da ich es nicht nutze müsste ich auch erst mal einen Blick reinwerfen, aber das kannst Du selbst machen, wenn es Probleme damit gibt kann ich dann ebenfalls mal reinsehen.

Ok, nun habe ich doch mehr geschrieben als ich wollte, hoffe das hilft Dir weiter.
 
nabend

Super von Dir für die info, dann werde ich mich jetzt mal ran machen und hoffen das es klappt.

Werde morgen berichten, was draus geworden ist.

Danke melde mich.

Gruß Andreas
 
HI

So , habe gestern abend mal den kernel compiliert, wie folgt

options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_PPPOE
options IPDIVERT

kernel fertig reboot



/etc/natd.conf
redirect_port tcp 192.168.0.1:22 22
redirect_port udp 192.168.0.1:22 22

/etc/rc.conf
/etc/ppp/ppp.conf

siehe anhang

Wollte das erstmal ohne firewall ausprobieren, um den fehler mal aus zu grenzen warum ich keine internet verbindung bekomme.
Nach dem reboot bekomme ich keine internetverbindung

wenn ich das richtig verstehe liegt der fehler bei mir doch in der rc o. ppp.conf oder.

Würde mich mich freuen über eine antwort

Gruß Andreas
 

Anhänge

  • 28.02 ppp u. rc..txt
    1,2 KB · Aufrufe: 529
Soll das heissen, OHNE Firewall geht die Verbindung, mit der firewall nicht?
Hmm, Du willst doch IPFW nutzen, und dazu auch NATD. Wo ist denn dann der dazugehöroge Eintrag im Deinem kernel?

Dein Eintrag:

options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_PPPOE
options IPDIVERT

Wobei die ersten 4 Zeilen ja nur für PPPoE da sind. Wo ist ipfw?

Das sollte dann noch mit rein:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100

Eben Deinen Anhang angesehen.
Hmm, warum machst Du es nicht so wie ich geschrieben habe? Um NATD zu nutzen brauchst Du auch IPFW. Also rein damit in den Kernel ein IPDIVERT alleine reicht wohl nicht aus.
 
Zuletzt bearbeitet:
halöle

Okay, werde ich, wenn ich zu hause bin, komplett so fertig machen.
Dann schauen wir mal.

Sorry, für die umstände die bis jetzt gemacht habe.

Gruß Andreas

Werde bericht erstatten nachher.
 
Nabend

Das möchte ich jetzt auch mal wiesen. Der ein sagt so der andere wieder so...

Ich werde das jetzt mit in den kernel ein binden, denke das es der sichere weg ist.
Gruß Andreas
 
hi

so langsam vergeht einem die lust nach dem Fehler zu suchen (14 Tage)

Hab alles gemacht wie beschrieben, KEINE verbindung ins Internet.:mad:

Weiß nicht mehr was ich hier falsch mache.
Hab mal wieder eine anhang mit geschickt, vielleicht sieht ja jemand den Fehler den hier mache.
Wenn du noch was anderes brauchst, schreib kurz ich poste.

Im vorraus Danke
Gruß Andreas
 

Anhänge

  • ppp,rc.fw.message.txt
    10,1 KB · Aufrufe: 519
Zurück
Oben