是否可以在 Linux/Ubuntu 中转发地址而不仅仅是端口?
假设我的 Ubuntu-comp 中有一个虚拟机,并且我希望虚拟机和托管操作系统都在端口 80 上运行 apache。然后我想通过 xxxxx.domain.tld 访问虚拟机,并通过 yyyyyy.domain.tld 访问托管操作系统?
我猜你可以通过托管操作系统 apache 将其转发到另一个,但如果我想将其与其他应用程序一起使用该怎么办。例如:SSH、FTP 等。
答案1
直接回答你的问题,不,这是不可能的。你可以将所有外部流量转发到单个内部 IP,但这样你的虚拟机将无法访问。
不同的方法!
因此你的设置将是:
(互联网)-> 路由器(本例中为 1.2.2.3)-> 主机(例如:192.168.1.10)和客户虚拟机(例如:192.168.1.11)
如果使用 NAT,则只能转发一次端口。路由器如何知道何时将 WAN IP 1.2.2.3:80 上的流量转发到内部 IP 192.168.1.10 或 11?
您可以选择主机的转发选项,并且仍然能够通过 SSH 进入您的虚拟机,通过将不同的外部端口(如 12112)转发到端口 22 上的虚拟机内部 IP。当您想从外部使用 SSH 时,只需填写端口 12112 而不是端口 22。