我正在尝试在我的云网络中设置一个网关服务器,以便我的所有服务器(一些没有外部 IP 的服务器)都可以通过这个网关服务器访问互联网。
为了实现这一点,我的首要任务是手动配置服务器上的网络接口并设置网关属性。
因此,我尝试配置的第一台服务器是一台 ubuntu 16.04 Web 服务器,它具有公用网络接口和专用网络接口。我继续更新 /etc/network/interfaces,如下所示:
auto lo
iface lo inet loopback
# public interface - to be used only for inbound access
auto eth0
iface eth0 inet static
address 94.237.40.154
netmask 255.255.252.0
# internal interface - this is where it will get internet
auto eth1
iface eth1 inet static
address 10.5.0.155
netmask 255.255.252.0
gateway 10.5.2.135 # my gateway server
dns-nameservers 8.8.8.8
# unused interface - this was there from before
auto eth2
iface eth2 inet6 auto
因此,一旦我保存此信息并重新启动服务器,外部 IP 上到服务器的任何入站连接都会停止工作。目前,我在此服务器上打开了端口 80 和端口 22,这两个端口都停止工作。
我使用云控制台访问了服务器,它设法通过网关服务器完美地访问互联网(尝试执行跟踪路由,一切正常)。我的两个接口都已启动,并在“ifconfig”上显示正确的 IP 配置。但根本没有入站访问。如果我将设置恢复为再次使用 DHCP,一切正常。
我以前在本地服务器上也遇到过这个问题,但一直没能弄清楚我遗漏了什么。非常感谢您的帮助。
编辑:还有一点观察。如果我在 eth0 上设置默认网关并从 eth1 上删除该网关,则入站访问将开始工作。