Ubuntu Server 12.04 作为路由器。DNS 有问题吗?还是路由表?

Ubuntu Server 12.04 作为路由器。DNS 有问题吗?还是路由表?

我有一个由 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

相关内容