如何通过非默认接口转发流量?

如何通过非默认接口转发流量?

我有一个相当普通的家庭局域网,由互联网提供商提供的路由器提供 DHCP。路由器使用许多未修改的默认设置。家庭网络是 192.168.1.0/24,路由器本身在内部称为 192.168.1.1。

我需要配置几个类似的路由器来更改其默认设置。我的一台计算机(运行 FreeBSD)有一个备用以太网接口(bce0),我将其中一个额外的路由器连接到它。正如预期的那样,这个路由器使用 192.168.1.1。该机器现在有两个“已配置”接口:

  • bce1- 192.168.1.8,连接到“真实”路由器,将其连接到互联网和家庭局域网的其余部分
  • bce0-- 192.168.1.5,连接到第二个路由器,我需要更改它以使用不同的网络设置

如何在不中断机器与 LAN 和 Internet 的连接的情况下访问第二个路由器?只需尝试访问 192.168.1.1bce1即可到达我的普通路由器...

ipfw(8)以某种方式强制某些数据包出去bce0bce1?最好不要使用“fib”,因为添加一个需要重新启动……

答案1

你不能有主办方相同的IP 地址(如果您想要使用普通的路由,因为路由是基于目标地址的决定。数据包不能同时双向传输。


如果你真的想让自己陷入巨大的困境,你可以尝试伪造各种各样的东西来逃避规则,但这将是一件非常痛苦的事情。

例如,您可以为要配置的设备创建一个虚假的 IP 地址 (192.168.1.99),并使用该设备的 MAC 设置手动 ARP 条目(在 bce0 上),并希望如果数据包通过第 2 层发送给它,它不会过滤目标 IP。在这种情况下,如果您为要配置的设备创建到 bce0 的主机路由,则可以通过虚假地址 (192.168.1.99) 访问它。

或者您可以尝试对上行链路执行相同操作:创建一个新网络 (192.168.2.0/24),在其中为自己提供一个地址 (192.168.2.2),使用上行链路 (在 bce1 上) 的 MAC 创建虚假 IP (192.168.2.1) ARP 条目并将其用作默认网关。您可能还需要 192.168.1.xx (您在 bce1 上的 ip) 的代理 ARP,此时您的系统可能会感到困惑,以至于它不会自动处理您的原始 IP (或者您的 rp-filter 可能会对此采取行动)。

理论基于 Linux 但应该适用于任何网络设备,包括 *BSD。

相关内容