在这种情况下,除了上面提到的方法(桥接和直接路由)之外,还有其他几种使用子网掩码的 Proxy ARP 的替代方案。
IP 伪装(参见 IP 伪装 mini-HOWTO),其中网络 0 对 Internet 的其余部分“隐藏”在机器 A 之后。当网络 0 上的机器尝试通过机器 A 连接到外部时,它会重新寻址数据包的源地址和端口号,并使它们看起来像是来自机器 A 本身,而不是来自隐藏网络 0 上的机器。这是一个优雅的解决方案,尽管它阻止了网络 1 上的任何机器启动与网络 0 上的任何机器的连接,因为网络 0 上的机器实际上在网络 0 之外不存在。这有效地提高了网络 0 上机器的安全性,但同时也意味着网络 1 上的服务器无法使用 IP 号码检查网络 0 上客户端的身份(例如,NFS 服务器使用 IP 主机名来访问可挂载的文件系统)。
另一种选择是 IP in IP 隧道,但并非所有平台(例如 Mac 和 Windoze 机器)都支持它,所以我选择不采用这种方式。
使用不带子网掩码的 Proxy ARP。这当然是可行的,但这仅仅意味着需要为网络 0 上的每台机器创建一个单独的条目,而不是为网络 0 上的所有机器(当前和未来的)创建一个条目。
可能 IP 别名在这里也可能有用,但我根本没有研究过这一点。