Beiträge von hoppel118

    Hm..., gerade mal auf einer anderen Linux Maschine ein Bisschen herumprobiert... Wenn ich mir ein Startscript mit folgendem Befehl bauen würde:


    echo "sleep 10; ip -6 route add 0::/0 dev ppp0" >> /etc/ppp/ip-up


    würde das Script anschließend wie folgt aussehen:



    Ist das sinnvoll bzw. kann das so funktionieren? Will das jetzt nicht einfach so ausprobieren... :winking_face:


    Gruß Hoppel

    Danke dir für die Infos.

    Dann gibt es evt. eine Möglichkeit "/etc/ppp/if-up" sollte ein Script liegen bei dem man ggf

    Jo, unter /etc/ppp gibt es folgende drei Scripte:





    Relevant ist dann wahrscheinlich nur das letzte Script.


    Weitere Fragen an dich:

    • Kann man diesen Befehl sleep 10; ip -6 route add 0::/0 dev ppp0 in diesem Script ergänzen? Wenn ja, wie müsste das Script aussehen? Wahrscheinlich ist das schwierig, da "echo" für so etwas vrsl. nicht geeignet ist
    • Kann ich ein weiteres Script daneben "/etc/ppp/" packen und irgendwie eine Abhängigkeit zwischen den beiden Scripten herstellen, so dass mein eigenes Script immer dann ausgeführt wird, wenn "/etc/ppp/ip-up" ausgeführt wurde?


    Wie siehst du das?


    Danke dir und Gruß Hoppel

    aber wieso wird dann über wieistmeineip und auch https://ipv6-test.com eine ipv6 angezeigt? wie gesagt, es geht ja... nur halt nach dem neustart benötigt es wieder ein ip -6 route add 0::/0 dev ppp0.


    die frage ist nur wieso?

    Weil es fast zeitgleich zu diesem Beitrag hier gepostet wurde… Hast du folgendes im Ubiquiti Forum gepostet?


    https://community.ui.com/quest…18-46b7-9e60-79c837298270


    Ich werde mich da mal dran hängen.


    Gruß Hoppel

    Du meinst, dass dieses Problem evtl. alle haben, die eine PPPoE Verbindung zum Provider aufbauen?


    Ich habe übrigens auch einen FTTH-Anschluss. Das ONT geht direkt per Gigabit Ethernet (200/50) in die UDMP auf den WAN1-Ethernet Anschluss.


    Ist hier jemand mit einer PPPoE-Verbindung, bei dem es ohne das manuelle Setzen der Route funktioniert?


    Gruß Hoppel

    So, ich habe die beiden Scripte nun in einem konsolidiert. So gefällt es mir schon ganz gut und tut grundsätzlich, was es soll.

    1. Um 4 Uhr morgens wird die PPPoE-Verbindung getrennt und neu aufgebaut (Zwangstrennung). Anschließend wird dann die IPv6 Route hinzugefügt.
    2. Nach einem Neustart wird die IPv6 Route hinzugefügt.
    Code
    !/bin/sh
    echo "0 4 * * * killall -HUP pppd" > /etc/cron.d/pppoe_reconnect
    /etc/init.d/crond reload /etc/cron.d/pppoe_reconnect
    echo "0 4 * * * sleep 10; ip -6 route add 0::/0 dev ppp0" > /etc/cron.d/ipv6_route_add
    /etc/init.d/crond reload /etc/cron.d/ipv6_route_add
    sleep 10
    ip -6 route add 0::/0 dev ppp0


    Irgendwie ist das Ganze aber trotzdem nur ein Workaround, da die Route eigentlich bei jedem WAN-Abbruch gesetzt werden muss. Wenn ich den PPPoE Reconnect testweise erzwinge, wird die IPv6 Route natürlich erst um 4 Uhr morgens neu gesetzt.


    Hat da vielleicht noch jemand eine Idee, wie man das optimieren könnte?


    Das Setzen der Route müsste Bestandteil (der letzte Schritt) des PPPoE-Verbindungsaufbaus sein.


    Ich verstehe ehrlich gesagt nicht, warum columbo1979 und ich diese Route manuell hinzufügen müssen und andere hier nicht. Hat da jemand eine Idee zu?

    Darf ich fragen, wie du diesen Befehl herausgefunden hast?


    Danke und Gruß Hoppel

    Mir fällt gerade ein, dass ich über die Datei "/mnt/data/on_boot.d/10-restart-pppoe.sh" gehen muss, damit die Befehle Neustarts und Firmware-Updates überstehen.


    Ich habe gerade versucht folgendes auszuführen:

    Bash
    #!/bin/sh
    @reload sleep 120 && ip -6 route add 0::/0 dev ppp0
    echo "1 4 * * * ip -6 route add 0::/0 dev ppp0" > /etc/cron.d/ipv6_route_add
    /etc/init.d/crond reload /etc/cron.d/ipv6_route_add


    Ich gehe davon aus, dass dieses Script folgendes macht:

    1. Nach einem Neustart der UDMP 120 Sekunden warten, dann ipv6 Route hinzufügen
    2. Cron-Job nach "/etc/cron.d/ipv6_route_add" schreiben
    3. crond reloaden, damit Schritt 2 wirksam wird

    Verstehe ich das so richtig?


    Noch eine Frage zu deinem Script: In der Zeile "@reload sleep 120 && ip -6 sleep route add 0::/0 dev ppp0" taucht zwei Mal sleep auf. Da das zweite sleep für mich nicht korrekt aussieht, habe ich das jetzt erstmal entfernt. Der Befehl kann auf der Konsole auch so nicht ausgeführt werden. Copy & Paste Fehler?


    Code
    # ip -6 sleep route add 0::/0 dev ppp0
    Object "sleep" is unknown, try "ip help".



    Mit "@reload" kann die UDMP anscheinend nichts anfangen:

    Code
    # /mnt/data/on_boot.d/20-ipv6_route_add.sh
    /mnt/data/on_boot.d/20-ipv6_route_add.sh: line 2: @reload: not found


    Müsste es nicht trotzdem funktionieren, wenn ich das @reload einfach weg lasse?


    Habt ihr dazu Ideen?


    Bin leider kein Scripter... :winking_face:


    Gruß Hoppel

    Was genau hat den nicht überlebt ?


    Heute morgen funktionierte IPv6 nicht mehr. Als ich den Befehl ip -6 route add 0::/0 dev ppp0 dann nochmal über die Konsole ausgeführt habe, ging es sofort wieder. Ich gehe also davon aus, dass das PPPoE Reconnect Script dazu führt, dass die Route verloren geht. :winking_face:



    Ich hatte mich da heute morgen auch schon ein wenig belesen. @reload und sleep hatte ich schon gefunden. Mir war aber noch nicht klar, wie ich das in einem Script verheiratet bekomme. Also einfach hintereinander weg. Danke dir, ich probiere das heute Abend mal aus und melde mich dann wieder.


    Gruß Hoppel

    Das Script zum Hinzufügen der Route hat den PPPoE Reconnect nicht überlebt.


    Ich brauche also eine Kombination aus beidem. Einmal muss der Befehl direkt beim Start der UDMP ausgeführt werden und zusätzlich nachts, wenn der PPPoE Reconnect ausgeführt wird.


    Kann man das in einem Script umsetzen oder brauche ich beide? Kann man zumindest das crontab Script irgendwie mit dem PPPoE crontab Script kombinieren?

    Danke euch für die Infos.


    gierig Nö, die IP ist verfälscht... :winking_face: Firewallregeln für ICMPv6 habe ich in beide Richtungen erstellt.


    Wie dem auch sei. Habe hier vorhin im Forum einen Thread von einem Leidensgenossen gefunden. Er hat gute Vorarbeit geleistet. Es läuft nun auch bei mir. Der noch nicht finale Workaround ist hier beschrieben:


    RE: öffentliche IPv6-Adresse auslesen


    Ich setze diesen Thread hier auf gelöst und mache in dem anderen weiter.


    Danke nochmal und Gruß Hoppel

    ip -6 route add 0::/0 dev ppp0


    Hi, super Finding! Habe mir heute auch gedacht mich mal an das Thema IPv6 zu machen und komme nicht weiter. Bei mir ist alles, also wirklich alles, genauso wie bei dir. Der Befehl führt bei mir auch dazu, dass diese Testseiten sofort eine IPv6 Adresse anzeigen und alle Tests erfolgreich sind.


    Du könntest diese Zeile mit einem Script nach dem Reboot automatisch ausführen lassen. Hier im Forum wurde in einem anderen Zusammenhang so auch ein anderes Problem "gefixt". Ich bin mir allerdings nicht mehr sicher, worum es ging. Ich meine es war etwas im Zusammenhang mit dem Controller-Backup und dem Kopieren dieser Backup-Datei auf einen "externen" Datenträger - ein NAS - meine ich.


    Gefunden: Cronjob auf UDM-Pro könnte Dir auch helfen.

    Ah super, da brauche ich trotzdem nochmal Unterstützung beim Shell Script.


    Ich habe damit kürzlich auf meiner UDMP einen PPPoE-reconect (alle 24h Zwangstrennung) konfiguriert.


    Die Lösung habe ich hier gefunden.


    https://www.reddit.com/r/Ubiqu…content=comments_view_all


    -----------------------


    1- SSH into the UDM and install UDM Utilities boot script.

    2- Create a new file in the base OS (not unifi shell) called 10-restart-pppoe.sh in the folder /mnt/data/on_boot.d/, and add the following contents to it:

    Bash
    #!/bin/sh
    echo "0 6 * * * killall -HUP pppd" > /etc/cron.d/restart_pppoe
    /etc/init.d/crond reload /etc/cron.d/restart_pppoe

    3- Give executable permissions and run the script once

    Code
    chmod +x /mnt/data/on_boot.d/10-restart-pppoe.sh
    /mnt/data/on_boot.d/10-restart-pppoe.sh

    4- Now the cron job will run everyday at the predefined time from the cron file (in this example, I used 6 am everyday). You can change the "0 6 * * *" to whatever time you want.

    5- The cron file will be installed when you restart the UDM thanks to the boot script. If you want to test out whether it works on boot, just check that the cron file /etc/cron.d/restart_pppoe is created when you restart the UDM.


    ---------------------


    Es funktioniert exakt genau so, wie es dort beschrieben wurde.


    Wie geht man nun sinnvoll vor?

    1. Das vorhandene Shell Script (restart-pppoe) um diesen "ip -6 route add 0::/0 dev ppp0" Befehl erweitern.
    2. Ein zusätzliches Shell Script für diesen Befehl erstellen.

    Muss dieses Shell Script zum Hinzufügen dieser Route dann auch täglich nach der Zwangstrennung ausgeführt werden oder reicht es aus, diese einmalig beim Start der UDMP hinzuzufügen?


    ----------------------


    EDIT: Habe mir entsprechend der zuvor beschriebenen Vorgehensweise erstmal ein weiteres Shell Script angelegt. Das funktioniert so weit. Bei mir wird der PPPoE restart immer um 4:00 ausgeführt, die Route wird dann um 4:01 hinzugefügt.


    Bash
    #!/bin/sh
    echo "1 4 * * * ip -6 route add 0::/0 dev ppp0" > /etc/cron.d/ipv6_route_add 
    /etc/init.d/crond reload /etc/cron.d/ipv6_route_add


    Schade, dass das nicht über das WebUI konfiguriert werden kann bzw. einfach so funktioniert.


    Die folgende Frage bleibt: Reicht es die Route einmalig nach dem Start der UDMP hinzuzufügen oder besser nach jedem PPPoE restart?


    --------------------------


    EDIT2: So wie ich es jetzt gebaut habe, ist es noch nicht optimal. Wenn ich die UDMP im Laufe des Tages mal neustarte, wird die ip route erst um 4:01 Uhr (evtl. Folgetag) hinzugefügt. Ideal wäre, wenn ich die Route wirklich nur einmal nach jedem Neustart der UDMP hinzufügen müsste und nicht nach jedem PPPoE reconnect. Wie seht ihr das? Dann muss der Befehl also direkt ausgeführt werden statt mit crontab. Das sollte auch nicht das Problem sein. Aber für heute reicht’s. :winking_face:


    --------------------------


    EDIT3: Es juckt in den Fingern... :winking_face: Schnell noch das Script umgebaut und die UDMP neugestartet. IPv6 funktionierte nun direkt. Das Script liegt an folgender Stelle: "/mnt/data/on_boot.d/20-ipv6_route_add.sh" und sieht nun wie folgt aus:


    Bash
    #!/bin/sh
    ip -6 route add 0::/0 dev ppp0


    In ca. einer Stunde startet mein PPPoE Reconnect. Mal sehen, ob IPv6 morgen früh noch funktioniert. Ich gehe aber davon aus, dass das so ist, da dieser "ip -6 route add 0::/0 dev ppp0" Befehl sehr generisch aussieht.


    Ich melde mich morgen nochmal.


    Viele Grüße Hoppel

    gierig Danke dir erstmal für deine Antworten.


    Die fe80 ist eine link locale die kommt nicht von deinem Provider die vergibt sich das Interface quasi selbst und ist nur local zu gebrauchen.

    Damit hast du erstmal kein externe ipv6 Adresse am interface


    Aha!


    Ah das hatte ich Übersehen. Wenn dein Provider dir nur darüber die ip Informationen gibt, geht es momentan nicht mit UniFi. Die unterstützen aktuell nur Prefix Delegation.


    Das wäre schade.



    Mein Provider unterstützt offiziell ausschließlich Fritzboxen. Für eigens beschaffte Firtzboxen bietet er eine Anleitung zur Einrichtung an. Schau mal bitte unter folgendem Link auf Seite 11. Dort beschreibt mein ISP die Einrichtung von IPv6 auf einer Fritzbox:


    https://www.stadtwerke-neumuen…Dual_Stack_-_7590-1.7.pdf


    Kann man das irgendwie mit der UDMP hinbekommen?


    Ich habe gerade nochmal meine PPPoE-Session gekillt und neu aufgebaut:


    Unter /var/log/messages wird dann folgendes geloggt: https://pastebin.com/LX4GB440 (Da ich hier in einem Post nur 10000 Zeichen posten darf, habe ich das Log zu pastebin ausgelagert.)


    Siehst du hier, was hier schief geht?


    Über ifconfig sehe ich bei ppp0 weiterhin keine IPv6 IP:


    Code
    ppp0      Link encap:Point-to-Point Protocol  
              inet addr:x.x.x.x  P-t-P:y.y.y.y  Mask:255.255.255.255
              inet6 addr: fe80::185:12:88:130/10 Scope:Link
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
              RX packets:9465 errors:0 dropped:0 overruns:0 frame:0
              TX packets:9880 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:3 
              RX bytes:3361508 (3.2 MiB)  TX bytes:2572999 (2.4 MiB)


    Bei allen anderen Interfaces auch nicht, mal abgesehen von den fe80 Adressen. Bei br0 sehe ich zusätzlich eine 2b04 Adresse:

    Code
    br0       Link encap:Ethernet  HWaddr 76:AC:B9:13:EF:68  
              inet addr:10.10.10.1  Bcast:0.0.0.0  Mask:255.255.255.0
              inet6 addr: fe80::108f:5ff:fe03:8d13/64 Scope:Link
              inet6 addr: 2b04:7846:b335:100::1/64 Scope:Global
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:39539606 errors:0 dropped:263 overruns:0 frame:0
              TX packets:56130214 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:8737033509 (8.1 GiB)  TX bytes:37148278770 (34.5 GiB)

    Das ist mein Default LAN, wo ich auch IPv6 über den Controller eingerichtet habe. 2b04 taucht auch im Log oben auf.


    OK, bei dieser 2b04 Adresse an br0 handelt es sich tatsächlich um die UDMP Gateway IPv6 Adresse. Diese kann ich von meinem MacBook aus anpingen.

    Code
    ~ % ping6 2b04:7846:b335:100::1   
    PING6(56=40+8+8 bytes) 2b04:7846:b335:100:f89c:1816:59bb:72c0 --> 2b04:7846:b335:100::1
    16 bytes from 2b04:7846:b335:100::1, icmp_seq=0 hlim=64 time=13.321 ms
    16 bytes from 2b04:7846:b335:100::1, icmp_seq=1 hlim=64 time=4.140 ms
    16 bytes from 2b04:7846:b335:100::1, icmp_seq=2 hlim=64 time=5.416 ms
    16 bytes from 2b04:7846:b335:100::1, icmp_seq=3 hlim=64 time=15.301 ms


    OK, das funktioniert schonmal.


    Oben kann ich dem Logfile in der letzten Zeile folgendes entnehmen:


    Code
    Jun 29 18:35:37 udm-pro-base user.info ubios-udapi-server: ubios-udapi-server: Adding PD prefix to ppp0: 2b04:7846:b335:100::/56


    Auch diese Adresse kann ich anpingen:


    Code
    ~ % ping6 2b04:7846:b335:100::
    PING6(56=40+8+8 bytes) 2b04:7846:b335:100:f89c:1816:59bb:72c0 --> 2b04:7846:b335:100::
    16 bytes from 2b04:7846:b335:100:f29f:c2ff:fe33:e755, icmp_seq=0 hlim=64 time=285.768 ms
    16 bytes from 2b04:7846:b335:100:f29f:c2ff:fe33:e755, icmp_seq=1 hlim=64 time=13.048 ms
    16 bytes from 2b04:7846:b335:100:f29f:c2ff:fe33:e755, icmp_seq=2 hlim=64 time=5.824 ms
    16 bytes from 2b04:7846:b335:100:f29f:c2ff:fe33:e755, icmp_seq=3 hlim=64 time=15.740 ms


    Ist das die IPv6 Adresse, die ich von meinem Provider zugeteilt bekommen habe?


    Beim IPv6 Test sehe ich wie gesagt weiterhin "not supported":



    Die Google IPv6 Nameserver kann ich nicht anpingen. Na immerhin habe ich es dank dir nun zumindest ein Bisschen verstanden.


    Meine interne Kommunikation per IPv6 funktioniert soweit. Mir fehlen die richtigen Einstellungen für die UDMP, insofern das denn überhaupt mit meinem Provider machbar ist.


    Wäre cool, wenn wir das irgendwie zum Laufen bekommen. :winking_face:



    Danke und viele Grüße Hoppel

    Hallo Leute,


    mein erster Beitrag hier. Ich hoffe, ihr könnt mir helfen.


    Meine Unifi Umgebung sieht grob wie folgt aus:

    • UDM-Pro: v1.9.3
    • Network Application: v6.2.26
    • USW-Pro24-PoE: v5.64.5
    • 3x UAP-AC-Pro: v5.43.37
    • 1x U6-Pro: v5.67.0

    Meine Netzwerk-Konfiguration sieht grob wie folgt aus:

    • 4 Netze mit 4SSIDs (3 VLANs, Hauptnetzwerk ohne VLAN-Tag)
    • Anwendungszweck: IoT, Haushalt 1, Haushalt 2, Gäste)
    • Firewallregeln um die Kommunikation unter den Netzen tlws. zu unterbinden

    --> Ich bin mir noch nicht sicher, ob ich IPv6 wirklich in allen Netzen benötige.


    Aufgabenstellung:


    IPv4 läuft. Nun möchte ich gern IPv6 einrichten.


    Meine IPv6-Konfiguration:


    Mein Provider (Stadtwerke Neumünster) teilte mir mit, dass er ausschließlich Dual Stack Anschlüsse anbietet. Als ich ihn nach der Prefix Delegation Size fragte, teilte er mir mit, dass ich folgendes konfigurieren soll:

    • IPv6 Connection: DHCPv6
    • Prefix Delegation Size: 56

    So weit so gut. Wenn ich mich nun per ssh auf meiner UDMP einlogge und ifconfig eingebe, erhalte ich folgendes Ergebnis:


    Code
    ppp0      Link encap:Point-to-Point Protocol  
              inet addr:x.x.x.x  P-t-P:x.x.x.x  Mask:255.255.255.255
              inet6 addr: fe80::xxx:yy:zz:130/10 Scope:Link
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
              RX packets:6685421 errors:0 dropped:0 overruns:0 frame:0
              TX packets:4144197 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:3 
              RX bytes:4624854672 (4.3 GiB)  TX bytes:2324433673 (2.1 GiB)


    Die IP-Adressen habe ich mal unkenntlich gemacht. Das sieht meinem Verständnis schon ganz gut aus. Ich erhalte eine IPv6-Adresse am PPPoE Interface.


    Wenn ich nun in die Konfiguration der Netze gehe, halte ich mich an folgende Anleitung: https://help.ui.com/hc/en-us/a…nd-Static-IPv6-Addressing


    Ich konfiguriere die Netze also wie folgt:


    Code
    IPv6 Interface Type: Prefix Delegation
    IPv6 RA: Checked
    IPv6 RA Priority: High
    DHCPv6 Range > Start: ::2
    DHCPv6 Range > Stop: ::7d1
    DHCPv6/RDNSS DNS Control: Auto


    Wenn ich nun irgendeinen IPv6 Test durchführe, wird angezeigt, dass IPv6 nicht funktioniert (Not supported): https://ipv6-test.com/


    Wie analysiere ich nun am Besten, wo mein Fehler liegt? :smiling_face:


    Ich freue mich auf einen konstruktiven Austausch.



    Danke euch und Gruß Hoppel