尝试在 IPv6 路由器通告中包含新字段

尝试在 IPv6 路由器通告中包含新字段

我是这里的新手,正在做一个业余项目,并尝试使用 RADVD 更改 IPv6 路由器通告数据包的数据包格式。但我不知道该怎么做。

我的计划是建立一个无线网络,路由器定期发送改良放射治疗并允许主机识别改良放射治疗

我的Ubuntu 电脑充当路由器,并连接到无线调制解调器。主机笔记本电脑也使用 Wifi 连接到同一网络。我在路由器电脑上安装了 radvd,并编辑了 radvd.conf 文件以通告特定的网络 ID。

系统配置参数

net.ipv6.conf.all.forwarding = 1

radvd配置文件

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

rc.本地

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

当我启动 radvd 时,我能够在公共网络上获取路由器和主机,并且主机会使用公布的网络 ID 自动配置自身。

我现在想改变数据包格式类风湿关节炎并引入一些可以改变地址自动配置工作方式的字段。我认为我必须在 radvd.conf 文件中引入一些包含我需要的所有参数的字段。但我不确定。

PS:我的路由器没有连接到互联网。所以我不需要 IPv64 隧道。此外,我当前的系统是单个路由器和单个主机

附加信息:我想添加一组五个新的一位标志,这些标志在当前版本中不存在类风湿关节炎. 现在放射学会仅支持以下信息: http://manpages.ubuntu.com/manpages/utopic/man5/radvd.conf.5.html
我正在尝试为现有的 ICMPv6 创建更好、更高效的协议。我有纸上的协议,但我想实现它并测试我的设计是否有效。我还需要更改现有 ICMPv6 的邻居请求和邻居广告。有人能帮我吗?

答案1

从我猜想你具体的想法来看,你根本无法使用 radvd 来做你想做的事情。也就是说,你不能通过 radvd 配置语法来创建新的选项或字段并“插入它们”。比如说,如果你发明了一个新选项,那么

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

不起作用。radvd 遵循相关的 RFC(即RFC 4861及其更新)因此无法“了解”您的修改。

如果您想发送任意数据包,您必须修改 radvd 源或者您必须使用像 scapy 这样的数据包生成器。

相关内容