我有一台Linux机器需要从外部用户访问许多服务,每个服务都有一个端口,如何通过一个外部公共IP访问所有这些服务?
谢谢。
答案 0 :(得分:0)
基于此描述...
Linux服务器计算机上的一些虚拟机,每个虚拟机都使用内部IP,这些虚拟机希望通过一个公共IP从外部访问每个虚拟机服务。
解决方案是设置linux服务器(运行虚拟机管理程序)以使用iptables,然后配置iptables以将连接请求转发到外部IP上的特定端口,直到相应内部IP上的某个端口。
以下是更详细的说明:
如果您使用Google进行“iptables端口转发”,还有许多其他相关来源。
答案 1 :(得分:-2)
在路由器上,您需要启用端口转发或NAT。对于Linux机器上的每个内部端口,您将创建一个转发到路由器上Linux机器的名称端口号和IP地址的端口。
例如,如果您希望外部用户通过端口80(Web)连接到IP地址为192.168.1.20的Linux计算机,则在路由器上创建一个端口转发,打开外部端口80并将其转发给端口80上的IP地址192.168.1.20也是如此。因此,如果来自外部的人想要连接到Linux机器,他们将使用端口80使用您的PUBLIC IP地址。
您不必总是将外部端口与内部端口匹配,但它确实使设置和应用程序识别更容易,即默认情况下使用端口80的Web浏览器。