Openvpn:iroute 适用于所有理论上可访问的 [公共] IP

Openvpn:iroute 适用于所有理论上可访问的 [公共] IP

我正在测试通过 OpenVPN 创建仅公共 IPv4 空间的强制默认路由。OpenVPN 不支持

‘iroute 0.0.0.0 0.0.0.0’
开箱即用,因为它包含拒绝它的代码。但是,如果您删除该代码并让 iroute 0.0.0.0 工作,那么从逻辑上讲,连接会在一段时间后超时,因为 OpenVPN 会感到困惑。

我发现 iroute 的最小范围是 /4。因此,如果你想将所有 IPv4 空间划分为 /4 块,最终会得到 16 个块,范围从 0.0.0.0 到 255.255.255.255。但这包含所有可路由的不可路由的 IP......因此需要进一步限定列表。

由于设置不通用,我无法使用重定向网关。这就是为什么我正在寻找一个尽可能短的现有公共 IP 范围的子网列表。该列表必须排除保留的范围(以及我自己的服务器的公共 IP/32)。基本上,我希望有一个与以下列表相反的列表RFC 5735(第 6 页)

是否存在这样的列表以及/或者如何生成?

答案1

你为什么要使用iroute?我只需在 OpenVPN 服务器配置中“推送“route 0.0.0.0 0.0.0.0””即可,效果很好(好吧,我需要调整来自 DHCP 的默认路由,但这很简单)。

答案2

更新,我决定编写一个程序来解决反转 cidr 块列表的问题。您可以从这里获取它。https://github.com/plugwash/cidrinverse

在 rfc 5735 的块列表上运行该程序会给出 111 个 cidr 块的列表。我不会在这里粘贴完整列表,但如果您愿意,您可以轻松地自己重新运行该程序。


注意:自该文件发布以来,已经有一些额外的特殊注册,也有一些“特殊”范围在公共互联网上使用,例如 192.88.99.0/24)

但无论如何,假设我们想要找到 rfc 5735 不认为特殊的所有空间的 cidr 掩码列表。

rfc 5735 中的列表已经排序,因此我们可以轻松地浏览列表并写下中间的 IP 范围。

  • 1.0.0.0 至 9.255.255.255
  • 11.0.0.0 到 126.255.255.255
  • 128.0.0.0 至 169.253.255.255
  • 169.255.0.0 至 172.15.255.255
  • 172.32.0.0 至 191.255.255.255
  • 192.0.1.0 至 192.0.1.255
  • 192.0.3.0 至 192.88.98.255
  • 192.88.100.0 至 192.167.255.255
  • 192.169.0.0 至 198.17.255.255
  • 198.20.0.0 至 198.51.99.255
  • 198.51.101.0 至 203.0.112.255
  • 203.0.113.0 至 223.255.255.255

我们可以使用“netmask”命令行工具将这些范围中的每一个转换为 CIDR 掩码列表,如除 RFC1918 之外的所有内容的 CIDR 范围

netmask -c 1.0.0.0:9.255.255.255

我还没有处理完整的列表,但通过尝试几个范围,我猜测它大约有 60 个条目。

答案3

相关内容