FreeBSD als Behelfsrouter

beelzebub

CUPS-Geplagter
Ich habe mir gerade auf meinen anderen Rechner Debian Etch installiert. Leider kann Debian in der Grundkonstellation nichts mit Atheros Karten anfangen.

Deswegen soll mein FreeBSD-System aushelfen, welches mit einem Ethernet Kabel an die Debianmaschine verbunden ist. (um apt-get auszuführen, kernel-headers und sonstiges zu laden)

FreeBSD hat eine Verbindung zum WLAN-Kästchen, welche ins Internet führt, Schnittstelle ath0 (atheros WLAN) IP 192.168.2.10, und eine Verbindung mit Debian Schnittstelle nve0(Ethernet)IP:10.0.0.2

Der Debianrechner hat nur eine Schnittstelle eth2 zu FreeBSD(IP: 10.0.0.1)

Der erste Versuch schlug fehl:
Die ping Verbindung von FreeBSD zu Debian und umgekehrt klappte vorerst, jedoch nach der Befehlsfolge auf FreeBSD:
# natd -interface ath0
# /sbin/ipfw -f flush
# /sbin/ipfw add divert natd all from any to any via ath0
# /sbin/ipfw add pass all from any to any

Klappte es nicht so recht.
Die nachfolgenden Module hatte ich einfach so nachgeladen, da es sich sowieso nur um einen vorrübergehenden Zustand handelte
7 1 0xc5a8a000 4000 ipdivert.ko
8 1 0xc6555000 d000 ipfw.ko

P.S: Bitte um nachsichtigkeit bei eventuellen grundlegenden Fehlern, diese Thematik ist gänzlich neu für mich.
 
Was hast du mit natd vor?
So wies aussieht hängt Freebsd wireless an einem WLAN-Router?
Ich nehm an, Du suchst eher routed(8)
 
NAT braucht man um mehrere IP´s hinter einer zu verbergen, Du willst aber
von einem Netz ins andere routen.
 
Ich habe inzwischen auf dem FreeBSD-Rechner folgendes gemacht:
# sysctl net.inet.ip.forwarding=1

auf debian habe ich folgendes gemacht:
# route add -net 192.168.2.0/24 gw 10.0.0.2 dev eth2
funktioniert aber noch nicht.
ping 192.168.2.1 -> 100% Verlust
 
Mann,

mach doch einfach mal was mann dir sagt. :grumble:

marmorkuchen schrieb doch, dass du bei der Debian-Gurke die FreeBSD-Kiste als Default-Gateway eintragen sollst, diese weiß dann schon weiter.

Gruß c.
 
sry, wenn ich mich vorhin verschrieben hab. FreeBSD hat die IP 10.0.0.2

das hier?
# route add default gw 10.0.0.2
-> 5 Pakete 100% verlust, funktioniert auch nicht.
 
Also sieht Dein Netzt so aus:

Debian: 10.0.0.1
FreeBSD: 10.0.0.2
192.168.2.10 > Internet

Welche IP pingst Du denn an?

marmorkuchen
 
ping 192.168.2.1 Router ip
FreeBSD
localhost# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.2.1 UGS 0 1813 ath0
127.0.0.1 127.0.0.1 UH 0 4812 lo0
192.168.2 link#2 UC 0 0 ath0
192.168.2.1 00:01:e3:c7:fb:01 UHLW 2 355 ath0 827

Debian
# route
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 eth2
default 10.0.0.2 0.0.0.0 UG 0 0 0 eth2
 
Berichtigt mich wenn ich falsch liege, aber ich bin der Meinung dass NAT hier angebracht ist, da der eigentliche Internetrouter nichts von einem 10.0.0er Netz weiß, und demzufolge auch nicht dorthin zurückrouten kann, bzw. Pakete mit einer Quell-IP != 192.168.0.0/24 verwerfen wird.

Gruss Maurice
 
Schon wieder eine Liebe unter den Menschen.. Ich weiß wozu Router und Routungtabellen da sind, aber man muss nicht immer alles unnötig verkomplizieren..
So wie ich beelzebub verstanden habe, hat er einen "Hardware"-Router mit WLan und einen Debianrechner der über WLan noch nicht kann, und daher temporär über den FreeBSD-Rechner ins Netz soll (wahrscheinlich um die Treiber der WLan-Karte zu besorgen). Der imho einfachste Weg ist doch da auf dem BSD-Rechner fix Routing mit NAT zu aktivieren, als (wahrscheinlich vergeblich) auf dem Fertigrouter ne Möglichkeit zu suchen die Routingtabelle zu ändern.
Eine Bridge würde auch gehen, aber ich denke immer noch dass Routing mit NAT die einfachste Variante darstellt. Leider hab ich noch nie ipfw angefasst, und kann dazu nix sagen, mit pf sähe es so aus:
/etc/pf.conf:
Code:
lan_if=xxx
wlan_if=xxx
nat on $wlan_if from $lan_if:network to any -> ($wlan_if)
pass quick on lo0 all
pass quick on $lan_if all
pass quick on $wlan_if all
Code:
freebsd# kldload pf
freebsd# sysctl net.inet.ip.forwarding=1
freebsd# pfctl -Fa -e -f /etc/pf.conf
Auf dem Debian-Rechner dann den FreeBSD-Rechner als default-gw eintragen, als Nameserver den eigentlichen Router und es sollte alles laufen.

Gruss Maurice
 
@moe: genau!
Aber es klappt noch nicht so richtig:
localhost# pfctl -Fa -e -f /home/cmb/pf.conf
No ALTQ support in kernel
ALTQ related functions disabled
rules cleared
nat cleared
0 tables deleted.
0 states cleared
source tracking entries cleared
pf: statistics cleared
pf: interface flags reset
/home/cmb/pf.conf:6: syntax error
pfctl: Syntax error in config file: pf rules not loaded

lan_if=nve0
wlan_if=ath0
nat on $wlan_if from $lan_if:network to any -> ($wlan_if)
pass quick on lo0 all
pass quick on $lan_if all
pass quick on $wlan_if all
 
Zuletzt bearbeitet:
Versuch mal bei den ersten beiden Zeilen die Interfacenamen in Anführungszeichen zu setzen, also lan_if="nve0".. Ansonsten seh ich spontan keinen Fehler, hab das aber auch nicht hier getestet obs wirklich klappt.
 
Der imho einfachste Weg ist doch da auf dem BSD-Rechner fix Routing mit NAT zu aktivieren

Was hat bitte nat mit routing zu tun, und warum soll er das aktiviern?

als (wahrscheinlich vergeblich) auf dem Fertigrouter ne Möglichkeit zu suchen die Routingtabelle zu ändern.

alle router die ich kenne machen das alleine (wär mir auch irgendwie zu umständlich die selbst zu pflegen.....)

Eine Bridge würde auch gehen

wohl kaum, ausser er nimmt den debianrechner ins selbe netz wie den router.
 
Was hat bitte nat mit routing zu tun, und warum soll er das aktiviern?

NAT hat mit Routing direkt nichts zu tun, warum hab ich oben bereits geschrieben.

alle router die ich kenne machen das alleine (wär mir auch irgendwie zu umständlich die selbst zu pflegen.....)
Ich kenne keinen SOHO-Router, der selbsttätig erkennt, dass es im von ihm verwalteten LAN auf einmal ein neues IP-Netz gibt.

wohl kaum, ausser er nimmt den debianrechner ins selbe netz wie den router.
Richtig, spricht auch nichts dagegen, ausser das Routing+NAT imho einfacher ist.

Ich kann gerne nochmal die Fragestellung des Threadstarters wiederholen, aber das hab ich schon getan.. Es geht hier nicht um Routing vs. Bridging oder den 100% perfekten Weg, sondern nur darum den Debianrechner über den FreeBSD-Rechner über den Router ins Internet zu bringen, und das auch nur solange bis der Debian-Rechner alleine ins Netz kann.
Man kann das perfekt machen, oder nur so dass es geht. Bei einer temporären Sache reicht mir persönlich zweiteres. Auch wenns absurd ist NAT zwischen zwei LANs zu machen, scheints speziell in diesem Fall der schnellste Weg zum Erfolg sein. Oder halt Bridging, viel komplizierter dürfte das eigentlich auch nicht sein.
 
Hallo,
sag mal beelzebub kommst Du denn von der FreeBSD-Kiste aus ins Internet und kannst Du die FreeBSD-Kiste direkt von der Debian-Kiste aus anpingen?

marmorkuchen
 
FreeBSD kommt ins Internet, weil dort ebenfalls eine Atheros-Karte eingebaut ist.
Leider schmeißen die Debian-Leute alles von ihren Distributionen raus, was proprietäre Inhalte hat(Atheros braucht soweit ich weiß ein nicht offengelegtes Modul).
Weil mein FreeBSD und mein Debian Rechner direkt nebeneinander stehen, habe ich die zwei auch mit Netzwerkkabel verbunden, soweit funktioniert alles. FreeBSD kann Debian anpingen und umgekehrt. Die Weiterleitung(oder sagen wir Durchreichung der Dateninhalte) funktioniert nicht.

Mein zweiter Fehler liegt wohl darin, dass ich die Debian Etch KDE-CD zum installieren benutzt habe, da liegt kein gcc bei, und auch keine Kernelquellen.

Bin schon soweit, dass ich mir einfach ein längeres Eth.-kabel kaufen würde, aber vor dem Computer kapitulieren will ich eigentlich auch nicht.
 
Zurück
Oben