我有一个由 4 台 Windows 2008 R2 服务器(DC/DNS、SQL、SHAREPOINT、EXCHANGE)组成的 VirtualBox 实验室,这些服务器配置了静态 IP 地址,NIC 连接到内部网络。一切正常。
我需要执行一些测试,这些测试还会访问互联网上可用的外部服务。为了保持整洁并与生产环境相似,我安装了另一台虚拟机,其中装有 Ubuntu Server 12.04 64 位,并配置(我希望)为路由器,如本文所述邮政。
该虚拟机有两个网络接口:第一个与主机桥接并用作 WAN 连接,另一个连接到内部网络,在内部网络子网上具有自己的静态 IP 地址。
但实际上,Windows 服务器并未连接到互联网,而 Unix 服务器则连接到互联网。
我执行了一个route
命令。这是结果:
Kernel IP Routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.69.121.1 0.0.0.0 UG 100 0 0 eth0
10.69.121.0 * 255.255.255.0 U 0 0 0 eth0
192.168.83.0 * 255.255.255.0 U 0 0 0 eth1
有人可以帮我完成这个配置吗?:) 谢谢!
附录:我忘了说,其中一个 Windows 服务器托管着一个 DNS 服务,我或许应该为其配置一个转发服务器,但我不知道具体在哪个服务器上进行转发... :(
答案1
我假设你正在使用桥接模式在里面vbox 适配器您想要在 ubuntu 服务器中连接到互联网。并且已ip_forward=1
在您的 中设置sysctl
。
可能你的 ubuntu 服务器没有配置 NAT,网关 (10.69.121.1) 的路由表中没有你的内部网络 (192.168.83.0),所以你向互联网发送 ping 却收不到。你有两个解决方案:
- 在网关上配置到内部网络的路由
- 配置你的 ubuntu 服务器来执行 NAT。
我个人更喜欢第二种选择。为此,您需要使用 iptables。在您的例子中,您希望翻译所有内容出来在界面上eth0,因此命令为:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE。