Versuch, neue Felder in IPv6-Router-Ankündigungen aufzunehmen

324
Hariharasudhan Vigneswaran

Ein Neuling hier und ich arbeiten an einem Hobbyprojekt und versuchen, das Paketformat eines IPv6-Router-Ankündigungspakets mithilfe von RADVD zu ändern . Aber ich weiß nicht, wie ich daran arbeiten soll.

Mein Plan ist es, ein drahtloses Netzwerk mit einem Router einzurichten, der regelmäßig geänderte RA sendet und einem Host die Identifizierung dieser geänderten RA ermöglicht .

Mein Ubuntu-PC fungiert als Router und ist mit einem drahtlosen Modem verbunden. Ein Host-Laptop ist auch über WLAN mit demselben Netzwerk verbunden. Ich habe radvd auf dem Router-PC installiert und die Datei radvd.conf bearbeitet, um eine bestimmte Netzwerk-ID anzukündigen.

sysctl.conf :

net.ipv6.conf.all.forwarding = 1 

radvd.conf :

interface eth1 { prefix 2001:db1:0:1::/64 { AdvOnLink on; AdvAutonomous on; }; }; 

rc.local :

ip a a 2001:db1:0:1::1 dev eth1 ip r a 2001:db1:0:1::/64 dev eth1 

Wenn ich radvd starte, kann ich sowohl den Router als auch den Host im gemeinsamen Netzwerk abrufen, und der Host konfiguriert sich automatisch mit der angegebenen Netzwerk-ID.

Ich möchte jetzt das Paketformat der RA ändern und ein paar weitere Felder einführen, die die Funktionsweise der automatischen Adresskonfiguration ändern können. Ich denke, dass ich noch einige Felder in die Datei radvd.conf mit allen Parametern einfügen muss, die ich brauche. Aber ich bin mir nicht sicher.

PS: Mein Router ist nicht mit dem Internet verbunden. Ich brauche also keinen IPv64-Tunnel. Mein aktuelles System ist auch ein einzelner Router und ein einzelner Host

Zusätzliche Informationen: Ich möchte einen Satz von fünf neuen Ein-Bit-Flags enthalten, die in der vorliegenden RA nicht vorhanden sind . Die vorliegenden RAs unterstützen nur die folgenden Informationen: http://manpages.ubuntu.com/manpages/utopic/man5/radvd.conf.5.html
Ich versuche, ein besseres und effizienteres Protokoll für das vorhandene ICMPv6 zu erstellen. Ich habe das Protokoll auf Papier, aber ich möchte dieses implementieren und die Funktionsweise meines Designs testen. Ich muss auch die Nachbaraufforderungen und Nachbaranzeigen des bestehenden ICMPv6 ändern. Kann mir jemand dabei helfen?

0
Ja, Sie müssen wahrscheinlich einige Konfigurationsoptionen in `radvd.conf` ändern. Wenn Sie uns jedoch nicht mitteilen, was Sie erreichen möchten, können wir Ihnen nicht helfen, zu wissen, was Sie ändern müssen. Bitte bearbeiten Sie Ihre Frage mit den zusätzlichen Details. heavyd vor 9 Jahren 2
Ich versuche, das ICMPv6-Protokoll effizienter zu machen. Ich möchte ein paar Einzelbit-Flags in die RAs einfügen und auch die Nachbaranzeigen und -anfragen ändern. Ich werde einige weitere Felder wie die Paket-ID (16 Bit) und einige Einzelbit-Flags im Nachbaranforderungspaket einführen. Hariharasudhan Vigneswaran vor 9 Jahren 0

1 Antwort auf die Frage

0
countermode

Von dem, was ich denke, Sie haben ganz konkret die Absicht, Sie können radvd einfach nicht für das nutzen, was Sie tun möchten. Das heißt, Sie können keine neuen Optionen oder Felder erstellen und über die Radvd-Konfigurationssyntax "einstecken". Sagen Sie, wenn Sie eine neue Option erfunden haben, dann

interface yada { prefix yada:yada:yada::/64 { myNewFancyOption on; ... } } 

funktioniert nicht radvd folgt den relevanten RFCs (dh RFC 4861 und seinen Updates) und "kennt" daher Ihre Änderungen nicht.

Wenn Sie willkürliche Pakete senden möchten, müssen Sie die Radvd-Quellen ändern oder einen Paketgenerator wie scapy verwenden.