5 个不稳定版本

0.4.0 2023年6月18日
0.3.1 2023年6月16日
0.3.0 2023年6月16日
0.2.3 2022年7月27日
0.2.2 2021年8月10日

#2029 in 命令行工具

每月40次下载

MIT 协议

52KB
1K SLoC

邻居发现代理

此项目是使用 Rust 编写的 RFC 4861 第 7.2.8 节的实现。

它类似于另一个名为 ndppd 的项目,但它提供了一个名为 "rewrite" 的额外功能,这可能有助于人们构建 IPv6 兼容的覆盖网络。

用法

Usage:
  ./ndproxy [OPTIONS]

proxies your neighbor discovery messages.

Optional arguments:
  -h,--help             Show this help message and exit
  -c,--conf CONF        The location of your config file. Default:
                        ./ndproxy.toml

您可以在此处找到配置文件示例。

额外功能:重写前缀

假设您的网络有多个上游,并依赖于网络前缀转换 (RFC 6296)(或NETMAP)。

例如

        2001:db8:1::/64                  2001:db8:ffff::/64
              ↑                                  ↑        ↑
        ISP1, translated via NETMAP        ISP2, NPTv6   Other Users
              |-------- fec1:2:3:4::/64 ---------|
                              ↑
                      your local devices

为了使您的本地设备同时可供两个上游使用,而不干扰其他用户,您可能需要一个像这样的配置

[ndp]

[ndp.ISP1]
type = "forward"
proxied_prefix = "2001:db8:1::/64"
rewrite_method = "netmap"
local_prefix = "fec1:2:3:4::/64"
<redacted>

[ndp.ISP2]
type = "forward"
proxied_prefix = "2001:db8:ffff::/64"
rewrite_method = "npt"
local_prefix= "fec1:2:3:4::/64"
<redacted>

运行时,ndproxy 将监控来自两个上游的邻居请求。

当它捕获到有效的 NS 时,它将 NS 的目标地址转换为您的私有地址,并在本地执行邻居发现。

如果请求的邻居存在,ndproxy 将向相关接口发送代理的邻居通告。

依赖关系

~10–21MB
~270K SLoC