使用两台设备通过Linux服务器访问stream量

这是我目前的设置(所有服务器都是Ubuntu Server Edition 12.04):

服务器0有两个设备,eth0和eth1。 eth0连接到墙上(互联网),eth1连接到交换机。 eth1在/ etc / network / interfaces中具有以下条目:

auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 

服务器1-4每个都有一个设备eth0。 它们都连接到交换机,并且它们都从服务器0获取它们的DHCP信息。eth0具有以下接口条目(这是因为服务器1-4是无盘节点,要求服务器0启动所需的一切):

 iface eth0 inet manual 

使用此configuration,服务器0是唯一可以访问Internet的服务器。 我将如何去路由从服务器1-4到服务器0的任何Web请求(如apt-get或HTTP),以便为服务器1-4上网? 这似乎是一个多次遇到的问题,但我不能为我的生活弄清楚如何正确设置networking

route -n的输出是:

 Destination Gateway Genmask Flags ... Iface 0.0.0.0 123.45.132.254 0.0.0.0 UG ... eth0 123.45.132.0 0.0.0.0 255.255.255.0 U ... eth0 192.168.1.0 0.0.0.0 255.255.255.0 U ... eth1 

你需要做两件事:激活转发(在/etc/sysctl.conf中, net.ipv4.ip_forward=1 )并用iptables激活NAT( /sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE )。 NAT将私有networking转换为外部IP,因此内部机器可以上网。 这条线应该由您的防火墙应用。 我不知道你有哪个防火墙,所以你必须把它集成到你的configuration中。