如何让服务使用特定的 IP 及其端口?在同一台机器上运行多个具有多个 IP 的服务器;每个服务都有专用 IP

如何让服务使用特定的 IP 及其端口?在同一台机器上运行多个具有多个 IP 的服务器;每个服务都有专用 IP

好的,让我说得非常清楚和具体。我正在使用 VirtualBox VM:CentOS7 64 位。
我正在为 VM 使用 NAT 网络,并且还启用了四个网络适配器。VM 有 4 个不同的静态 IP。
假设..

192.168.xa
192.168.xb
192.168.xc
192.168.xd

但有一个与 192.168.xa 绑定的域名,带有“A”记录。

我计划在同一 VM 上安装 4 个不同的服务器。即 FreeIPA 服务器、Zimbra 邮件服务器、Mono 服务器、Oracle 数据库服务器。

笔记:这些服务器在单独的虚拟机上按预期运行。但我无法将它们协作在一起。

端口冲突让我不知所措。我想我有两个选择...

1)或者,我需要知道如何在安装服务时告诉服务使用来自特定 IP 的端口。(Zimbra 和 FreeIPA 在安装时都会检查端口;如果端口被先前安装的服务器使用,则会发生错误。)

2)或者更改已安装服务的 iptables 和配置文件,这样以前占用的端口现在将打开,以便安装新服务(Zimbra 和 FreeIPA 等服务器在配置文件中有默认设置,而且很复杂。如果我进行一些更改,我担心会搞乱整个系统)。如果我这样做,我可以通过更改每个服务的端口在单个 IP 上运行任意数量的服务器。但是,搜索了很多次之后,还是没有找到解决办法。


我多天来一直在寻找解决方案,你们是我的希望。我担心有人会把这个问题标记为不合逻辑。因为我没有提到服务器版本及其配置文件设置以及我的网络文件设置。我跳过了它们,以便专注于每个服务的 IP 和端口问题。

附言: Docker可能有用,但我发现我现在应该使用 Docker!此链接上的主题
似乎使用 Docker 对我来说会是另一番混乱。
因此,请考虑您选择的任何服务,并且它们都应根据要求在一个条件下获得所需的端口。每个服务只允许一个 IP。(但如何呢?)

答案1

如果您想在一台机器上运行所有这些服务,则必须深入研究这些应用程序的配置并进行相应的配置。否则,有一些可用的解决方法,但通常最好正确配置这些服务。

要弄清楚如何更改服务的配置,您必须查看官方文档或联系供应商。另一种选择是运行封装到“某物”中的服务。因此,虚拟机或 Docker 之类的容器都可以工作。正如您所说,在这种情况下,Docker 可能更难实现。由于 CentOs 没有任何相关的许可费用,因此如果您不习惯重新配置应用程序,那么无论何时虚拟化解决方案可以帮助您,都值得一试。另一方面,害怕它不是一个好主意,因为这听起来像您不习惯了解您正在运行的应用程序。

相关内容