VirtualBox 手册(第 6 章)指出,“NAT”模式下的 VM 网络接口不支持 GRE 协议。我目前正在尝试设置一对 VM 作为服务器和客户端,它们将通过 VM 的“内部网络”模式下的网络接口进行通信。我在两台机器上都pptp
安装了现代 Linux 操作系统和软件,并进行了一些基本配置。但是,我无法将客户端连接到服务器 - 服务器在写入 GRE 套接字时报告失败。pptp
pptp
我现在需要快速证明在“内部”模式下通过网络在 VirtualBox VM 之间使用 GRE 协议的主要能力,例如.c
尝试打开/发送/接收/关闭 GRE 协议连接的多行程序,或者像特定的轻量级工具来诊断 GRE 可用性。
有什么建议么?
答案1
GRE 和 NAT 通常不能很好地协同工作。通常,您需要在 NAT 网关上使用某种形式的 PPTP 直通技术才能使其正常工作。VirtualBox 没有这项技术。
没有理由说 GRE 不能在桥接或内部网络适配器上运行。
我刚刚创建了 2 个 FreeBSD* VM,并将它们与名为“intnet”的内部网络连接起来。我为它们分配了 172.16.1.0/24 范围内的 IP。
然后,我在每个主机上创建了一个 GRE 接口,并设置隧道在刚刚分配的两个 IP 之间工作。
我把 GRE 接口放在 172.16.2.0/24 范围内(.1 和 .2)
我可以在两个 GRE 接口之间顺利 ping 通。
(* 我选择 FreeBSD 是因为这是我手头上现有的,而且设置纯 GRE 隧道来测试这种事情非常容易)