在站点 B 使用站点 A 的 IP 前缀

在站点 B 使用站点 A 的 IP 前缀

我目前有两台虚拟机,安装了 CentOS 7。这些是配置(所有 IP 地址都不是真实的,只是为了方便阅读)

机器 A:

  • 拥有公共 IP 61.75.1.201/32
  • 通过 BIRD 守护进程宣布 IP 前缀 112.213.1.0/24
  • 具有私有 IP 10.0.0.1/31,并通过 GRE 隧道与机器 B 连接

机器B:

  • 拥有公共 IP 59.1.2.20/32
  • 具有私有 IP 10.0.0.2/31,并通过 GRE 隧道与机器 A 连接

所有配置都经过测试并且运行良好。

问题是:
我想在机器 B 中使用 112.213.1.0/24 IP 前缀。首先我尝试在机器 A 中添加静态路由(112.213.1.0/24 通过 10.0.0.2 dev tun0),但它看起来不起作用。

由于我是网络新手,我不知道如何解决这个问题。

有人能帮助我吗?

答案1

通常,将前缀路由到系统是不够的;系统必须发送数据包前缀以相同的方式通过隧道。机器 B 的默认网关很可能会拒绝这些数据包,认为它们是“欺骗性的”。

在机器 B 上创建新的路由表并添加策略规则以使用它:

ip -4 route add default dev tun0 table 112
ip -4 rule add pref 1000 from 112.213.1.0/24 lookup 112

相关内容