.titleBar { margin-bottom: 5px!important; }

pppd ohne dsld -> keine Rückpakete

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von Takhpah, 4 Feb. 2009.

  1. Takhpah

    Takhpah Neuer User

    Registriert seit:
    13 Jan. 2009
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Coder.
    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
     
  2. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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
     
  3. Takhpah

    Takhpah Neuer User

    Registriert seit:
    13 Jan. 2009
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Coder.
    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.

    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
     
  4. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,919
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    ... 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
     
  5. Takhpah

    Takhpah Neuer User

    Registriert seit:
    13 Jan. 2009
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Coder.
    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