pppd ohne dsld -> keine Rückpakete

Takhpah

Neuer User
Mitglied seit
13 Jan 2009
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hallo Gruppe,

nachdem der dsld und der usermand einem Projekt von mir im Weg sind und alle Replace-Kernels auf meiner FB 7170 nicht booten sondern permarebooten, habe ich ein wenig gehackt.

Alle Module, die ich für ppp(oe) und iptables brauche konnte ich mir bauen, statt modprobe nimmt man halt insmod her und achtet selbst auf die Abhängigkeiten; ist ein Gefummel, aber tut. Den pppd habe ich mir händisch gepatscht(sic!), damit der sein device nicht unter /dev/ppp sucht, sondern unter /var/tmp/dev/ppp (dort konnte ich den devnode anlegen).

Also habe ich jetzt (nachdem der dsld von avm vermittels dsld -s abgeschlatet ist), ppp zum laufen bekommen:

Code:
Plugin rp-pppoe.so loaded.
RP-PPPoE plugin version 3.3 compiled against pppd 2.4.4
using channel 5
Using interface ppp0
Connect: ppp0 <--> nas0
[...]
local  IP address 79.195.49.140
remote IP address 217.0.118.127
primary   DNS address 217.237.149.142

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
217.0.118.127   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 lan
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 lan
0.0.0.0         217.0.118.127   0.0.0.0         UG    0      0        0 ppp0

Interessanterweise passiert jetzt folgendes: ich hab natürlich die POSTROUTING -> MASQUERADE-Regel im iptables. Trotzdem werden die Pakete nicht wirklich geroutet.

Wenn ich UDP und ICMP ausdrücklich erlaube, kann ich auf Namen pingen. Sämtliches Forwarding, oder gar TCP-Connections funktionieren nicht.

Hier meine Frage: hat jemand eine Idee, was ich vergessen habe einzustellen?

Hier meine modules-Liste (unbereinigt)
Code:
# lsmod
Module                  Size  Used by    Tainted: P
ipt_REJECT              4384  0
ipt_REDIRECT            1536  0
ipt_mac                 1504  0
ipt_iprange             1600  0
ipt_multiport           2176  0
ipt_state               1312  2
iptable_mangle          2016  0
ipt_physdev             1808  0
ipt_MASQUERADE          2496  1
iptable_nat            21584  3 ipt_REDIRECT,ipt_MASQUERADE
ip_conntrack           41488  3 ipt_state,ipt_MASQUERADE,iptable_nat
iptable_filter          2112  1
ip_tables              21088  11 ipt_REJECT,ipt_REDIRECT,ipt_mac,ipt_iprange,ipt_multiport,ipt_state,iptable_mangle,ipt_physdev,ipt_MASQUERADE,iptable_nat,iptable_filter
ppp_deflate             5440  0
pppoe                  11680  2
pppox                   2576  1 pppoe
ppp_generic            28992  7 ppp_deflate,pppoe,pppox
slhc                    7040  1 ppp_generic

Was ich auch ineressant finde: die Pakete finden anscheinend nicht mal zu meiner Box zurück:

(Man vergleiche die Werte für RX (received) mit TX (transferred)...)
Code:
nas0      Link encap:Ethernet  HWaddr 00:1F:3F:C0:81:52
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:415 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4635 errors:120 dropped:0 overruns:120 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25941 (25.3 KiB)  TX bytes:438912 (428.6 KiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:79.195.49.140  P-t-P:217.0.118.127  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1786 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1553 (1.5 KiB)  TX bytes:114559 (111.8 KiB)

Grund des ganzen Spielens hier ist, dass ich iptables brauche um via der Chain QUEUE bestimmte Pakete ins Userland zu pumpen, dort zu bewerten und erst dann weiterlaufen zu lassen (oder sie zu droppen). Trotz aller Hacks ist es mir bisher nicht gelungen, bei aktiviertem dsld (von avm) ALLE Rückpakete zu sehen, die ich brauche. Der dsld übernimmt (anscheinend) einen Teil des Routings. Ergo: Will ich das Routing selbst in die Hand nehmen.

Kann mir bitte jemand noch irgendeinen Tipp geben, was ich vergessen haben könnte?


Vielen Dank


Takhaph
 
Moin,

habe im Moment das ganze nicht mehr laufen und auch nicht soooo viel Zeit dafür, allerdings hatte das bei mir mit diesen iptables-Regeln geklappt. Wie machst du den Zugang? Über DSL oder Ethernet?

Jörg
 
Hi,

danke für die Schnelle Antwort.

Meine iptables-Regeln sind:
Code:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lan -j ACCEPT
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i lan -j ACCEPT
iptables -A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP

Das sind im Prinzip Regeln, die denen nahe kommen, die im anderen Thread beschrieben sind. Ich teste die aber morgen noch mal.

Wie machst du den Zugang?

Die Box baut über ihr internes Modem eine PPPoE-Verbindung auf, für die Box und dahinter liegende Rechner gilt (ich will also schon, dass das Ding routet) (Wenn ich's mit einem externen Modem an LAN1 hinbekomme, dass es geht, mei, sei's drum; hatte aber bisher exakt den selben Erfolg).

War das eine Antwort, die zu Deiner Frage passt?


Danke

Takhpah a.k.a. Stephan
 
... ja, die Antwort passt ;-). Ich fragte, weil ich (da ich den dsld entfernt hatte) erst mit br2684 und br2684ctl das DSL-Modem brücken musste, um dann per ppp eine Verbindung aufbauen zu können. Das scheint ja aber bei dir nicht nötig gewesen zu sein.


Jörg
 
Ooops, da habe ich mich dann doch unverständlich ausgedrückt.

Ja, ich benutze br2684ctl um ein Bridgeinterface zu erstellen (nas0) über das dann der pppd arbeitet (und darauf sein ppp0 aufbaut).

Allerdings muss ich zugeben, dass mir das ganze bridging-Thema arg verwirrt.

Also kurz zusammengefasst:

ich habe:
- usermand und dsld ausgeschaltet
- mit br2684ctl eine atm-bridge gebaut
- darüber mit pppd eine PPPoE-Verbindung zum DSLAM hinbekommen
- Pakete über das ppp0-Interface wegschicken können
- kein MASQUERADING geschaft (vermutlich)
- keine Antworten für TCP gehört

Ich will diese PPP-Verbindung nutzen, damit
- die Box selbst ins Netz kann darüber
- hinter der Box liegende Rechner damit ins Netz NATen

Zusätzlich
- via ip_queue (-j QUEUE) (das Modul ist fest in den Kernel eingebaut, das benutzen dsld und usermand um damit den Jugendschutz (also: die Surfzeitbegrenzung) zu realisieren) Pakte aus dem Stream zu lesen, ggf modifizieren, zurückschreiben/akzeptieren/verwerfen

Hoffe, jetzt ist es klarer ;)


Viele Grüße

Takhpah a.k.a. Stephan
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.