我有两个运行Ubuntu 14.04.3 LTS的服务器,并且都配置有两个使用的网络接口,/etc/network/interfaces
因为我不使用NetworkManager。
Server1通过网络接口1连接到Internet,而网络接口2用于连接到Server2。我可以从Server1到Server2进行SSH,而不会出现任何问题。但是,Server2未连接到Internet。
如何与Server2 / interface2共享Server1 / interface1的Internet连接?
/etc/network/interfaces
如下图所示;
# The loopback network interface
auto lo
iface lo inet loopback
auto em1
allow-hotplug em1
iface em1 inet static
address 192.168.1.70
netmask 255.255.255.0
gateway 192.168.1.1
auto em2
allow-hotplug em2
iface em2 inet static
address 192.168.2.72
netmask 255.255.255.0
编辑根据评论:“ internet”-> srv1 / int1 srv1 / int2 <-> srv2 / int2
其中“ internet”是连接到位于另一房间的路由器的单个以太网套接字。我打算购买路由器,但目前,我需要一个临时解决方案将srv2连接到互联网(以允许安装/更新软件包)。
设置服务器1
配置用于NAT转换的iptables,以便可以通过Server1正确路由数据包:
sudo iptables -A FORWARD -o em1 -i em2 -s 192.168.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE
保存新添加的iptables规则:
sudo iptables-save | sudo tee /etc/iptables.sav
并在"exit 0"
in之前添加以下行/etc/rc.local
:
iptables-restore < /etc/iptables.sav
通过启用IP转发,将Server1配置为在两个接口之间路由:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
打开/etc/sysctl.conf
并取消注释:
net.ipv4.ip_forward=1
设置服务器2
em1是Server2上的网卡,该网卡(通过交叉电缆)连接到Server1上的em2。只要与Server1中em2的子网(192.168.2.0/24)匹配,就可以在Server2中为em1设置任何IP地址,例如:192.168.2.100
停止联网
sudo /etc/init.d/networking stop
在/etc/network/interfaces
以下位置为em1添加默认网关:
auto em1
iface em1 inet static
address 192.168.2.100
netmask 255.255.255.0
gateway 192.168.2.72
该地址应与Server1中em2的IP地址匹配。
编辑/etc/dhcp/dhclient.conf:
prepend domain-name-servers 8.8.8.8,8.8.4.4;
8.8.8.8和8.8.4.4是Google DNS。如果您想使用ISP的DNS服务器,只需更换它们即可。
重新启动网络
sudo /etc/init.d/networking restart
现在,Server2应该具有与Server1共享的Internet连接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句