mpd + PPPoE Server + Internet Gateway

LeoLinux

Well-Known Member
Hi,


ich habe es endlich geschafft einen soweit funktionierenden PPPoE Server aufzusetzen. Leider haben die Clients die sich danach auf den mpd verbinden KEIN Internet. Es ist den Clients zwar möglich den PPPoE server zu Pingen, und auch sonstige auf dem Server laufende Dienste (wie z.B. ssh, ftp, ssh) zu verwenden, aber eben keine Internet weiterleitung ...
Mein Plan war eigentlich diesen PPPoE Server als Internet Gateway für die PPPoE Clients zu verwenden.

Was fehlt mir noch zu meinem Glück ;) ?


LG,

Leander
 
Hallo,

wahrscheinlich fehlen hierbei zwei Arbeitsschritte:

1. Aktivieren von Routing
gateway_enable="YES" --> /etc/rc.conf

2. NAT aktivieren
Hier gibt es mehrere Möglichkeiten NAT unter FreeBSD zu machen. MPD selbst kann NAT machen, natd oder PF. Die Variante mit PF ist in dem untenstehenden Wiki-Artikel erklärt.


Hier ist eine komplette Anleitung:
http://wiki.bsdforen.de/howto/anschluss_an_das_internet_mit_pppoe_mpd_und_firewall_pf

Irgendwie scheint die nicht so einfach zu finden sein.
 
Da du keine Angabe machst, wieso du überhaupt einen pppoe server brauchst gehe ich einfach mal davon aus, daß das seine Richtigkeit hat (Zuganskennungen? Abrechnung?).

Wie auch immer, ich frage mich wieso du dir das so umständlich mit mpd hinbastelst. Benutz doch einfach die Bordmittel. Die sind wenigstens vernünftig dokumentiert. Was du brauchst ist nur pppoed(8) und ppp(8) würde ich meinen. Letzterer beherrscht auch network address translation. Selbst ohne Ahnung reichen die beiden Manpages aus, um das aufzusetzen, was du geschildert hast.

NAT per Firewall würde ich eher auf einem Router oder auf den jeweiligen Clients machen, nicht auf nem pppoe server.


Gruß
 
Ich benütze den mpd als PPPoE Server, weil ich meinen PPPoE Clients damit das Internet zur Verfügung stellen möchte - und mpd ist in der Hinsicht, was meine bisherigen Recherchen und Erkenntnisse angehen einfach das beste für meine Bedürfnisse.


Der mpd sowohl als auch die anderen hier erwähnten PPPoE Server beherrschen NAT, dies kann aber leider nur in Clientrichtung verwendet werden. ... so laut gestriger Aussage einer der mpd Entwickler.

By: Alexander Motin (amotinProject Admin) - 2008-04-06 13:55

Mpd implements NAT only for upstream (client side) interface. As soon as ng_nat
node connected below interface level it is impossible to use it in opposite direction.
To share your internet connection to your PPPoE clients you sould configure NAT
on your uplink using natd, ipnat, ipfwnat or whatever else.

Ich muss, wie ich festellen muss, also natd (was für mich wohl am interessantesten sein wird) dazu verwenden müssen um meinen Clients Internet austeilen zu können, leider habe ich nur keine Ahnung über die FreeBSD natd Software, deshalb erstmal danke für das HowTo, aber das kannte ich bereits ... ist aber für mich leider nicht deckend.
Ich werde mich deshalb wohl erstma noch mit meiner Freundin "Google" besprechen müssen ;) - wäre aber dennoch um Hilfreiche Links, How2s, Tipps aus eigener Erfahrung, oder sonstigen Hilfreichen Hinweisen sehr dankbar.
Oder kann mich jemand bessere, belastungsfähige & stabile NATd Software für FreeBSD empfehlen mit der ich das im Null,nix hinbekommen sollte ;) ?

Grüße,

Leander


P.S.
Da du keine Angabe machst, wieso du überhaupt einen pppoe server brauchst gehe ich einfach mal davon aus, daß das seine Richtigkeit hat (Zuganskennungen? Abrechnung?).
^^ .mp, was du damit meinst musst du mir jetzt aber nochmal genauer erklären?! Ich verstehe nicht ganz wozu du meinst, dass ich einen mpd _PPPoE_Server_ verwende ;)?!
... ich denke du hast mich etwas missverstanden ... ich verwende mienen PPPoE Server als _Server_ und nicht wie du vermutlich zuerst angenommen hast als PPPoE Client.



Btw ... hier noch meine configs ..., wenn sie mir schon nicht mehr weiterhelfen, dann vielleicht jemande anderem ;)

Code:
[root@wisp ~]# cat /etc/rc.conf 
# stuff
#saver="daemon"
keymap="german.iso"


# Netzwerk
hostname="wisp.leolinux"
ifconfig_rl0="inet 10.1.10.80  netmask 255.0.0.0"
ifconfig_ath0="inet 192.168.1.1 netmask 255.255.255.0 ssid wisp wepmode on weptxkey 1 wepkey 1:0x123456789abcd123456789abcd mode 11g mediaopt hostap" 

#defaultrouter="10.1.10.1"
gateway_enable="YES"

# NATd
natd_enable="YES"
natd_interface="rl0"
#natd_flags="-f /etc/natd.conf"

# IPFW - Firewall
#firewall_enable="YES"
#firewall_type="open"
#firewall_logging="YES"


# Daemons
sshd_enable="YES"
postgresql_enable="YES"
apache22_enable="YES"
radiusd_enable="YES"
mpd_enable="YES"
[root@wisp ~]#
^^ btw .. weiß jemand wie ich in der rc.conf auch gleich die Domain zum start mitgebe? Über die Shell müsste ich immer
Code:
root@wisp ~]# domainname wisp.LeoLinux
eingeben. ... aber das ist auch vorerstmal nicht so wichtig.


hier dann noch meine mpd.conf:

Code:
startup:
        set console self 127.0.0.1 5005
        set console user admin blub
        set console open

default:
        load PPPoE_server

PPPoE_server:

        create bundle template B1
        set ipcp ranges 11.1.11.1/32 80.50.80.10
        set ipcp dns 145.253.2.203 195.202.32.79
        set ipcp yes vjcomp
        set iface route default

        create link template L1 pppoe
        set link enable multilink
        set link action bundle B1
        set link disable chap pap eap
        set link enable chap
        load radius
        set pppoe service "*"
        set link keep-alive 60 60 

        create link template ath0 L1
        set pppoe iface ath0
        set link enable incoming

        create link template rl0 L1
        set pppoe iface rl0
        set link enable incoming

UND:

Code:
# IPFW - Firewall
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=5
options         IPFIREWALL_DEFAULT_TO_ACCEPT

# Dummynet driver
options         DUMMYNET

options         IPDIVERT

... sind in den Kernel fest reinkompiliert.



Bitte dennoch, trotz des langen Posts um Mut mir Tipps zukommen zu lassen ;) Danke ;)


Grüße,

Leander
 
Zuletzt bearbeitet:
^^ .mp, was du damit meinst musst du mir jetzt aber nochmal genauer erklären?! Ich verstehe nicht ganz wozu du meinst, dass ich einen mpd _PPPoE_Server_ verwende ;)?!
... ich denke du hast mich etwas missverstanden ... ich verwende mienen PPPoE Server als _Server_ und nicht wie du vermutlich zuerst angenommen hast als PPPoE Client.

Nö, mir ist schon klar, daß du nen Server betreiben willst. Deine Situationsbeschreibung klang nur so, als ob du ein privates Netzwerk mit Internet versorgen wölltest. Da wäre ein pppoe server normalerweise zuviel des Guten.

Dein Problem jedenfalls hat nur mit IP-Forwarding und NAT zu tun. Während mpd NAT nur als Client beherrscht könnte pppoed/pppd das auch als Server.

Wenn es auch so geht ist ja alles in Ordnung. Ich meinte nur, daß du das auch einfacher hättest haben können.


Gruß
 
Meinst du? Also ich bin offen für alles.

Folgendes sollte drin sein.
PPPoE deshalb weil ich als ISP fungieren möchte und die meisten DSL Router das schon drin haben ... also eher eine kompatibilitätsfrage ... ... könnte die Geschichte natürlich beispielsweiße auch über SSH Tunneling lösen ;) aber das fände ich dann wiederum zuviel des guten ...

aber Spaß beiseite...

was ich wirklich brauch ist ein PPPoE Server der auch ne Bandbreitenlimitierung für die einzelen User mitbringt. MPD macht das zwar nciht persönlich, aber er ist in der lage radius Attribute mit ipfw Regeln anzunehmen und weiterzu verarbeite ... was mir die ganze Konfiguration per User erleichtert, da ich alles nötige nur UND NUR in die RADIUS users conf schreiben muss - was mir wiederum den Vorteil bringt DialupAdmin verwenden zu können - ein RADIUS Webinterface um dann später die einzelnen User anzulegen.


Nächster wichtiger Punkt: Stabilität und Belastbarkeit ... und da habe ich bisher laut meines bisherigen Kenntnisstandes nichts besseres finden können.

Wenn du mir aus eigener Erfahrung besseres empfehlen kannst bin ich dafür gerne offen.


Aber dennoch mal wieder zurück zu NATd ... hast du damit Erfahrung? Kannst du mir Tipps geben?


Grüße,
Leander
 
Zurück
Oben