如何在同一台机器上的不同网络接口上添加相同的端口?

Posted

技术标签:

【中文标题】如何在同一台机器上的不同网络接口上添加相同的端口?【英文标题】:How to add the same port on different network interface on the same machine? 【发布时间】:2021-09-25 00:55:56 【问题描述】:

我有一个 Fedora 工作站,上面有 5 个物理网络接口。

四个网络接口都有ip10.10.10.1110.10.10.1210.10.10.1310.10.10.14

通过 docker 运行 filerun 服务(端口 8081)、gitlab 服务(端口 8082)和传输服务(端口 8083)。在我的 Mac 上,我可以访问 10.10.10.11:808110.10.10.12:808110.10.10.13:808110.10.10.14:8081

我想要的是通过10.10.10.11:80访问filerun,gitlab10.10.10.12:80,通过10.10.10.13:80传输。如何配置网络?

非常感谢。

【问题讨论】:

您是否尝试过使用socac?类似sudo socat TCP-LISTEN:80,fork,bind=10.10.10.11 TCP:10.10.10.11:8081 【参考方案1】:

您必须使用相同的端口在正确的 IP 地址/接口上绑定每个服务。 端口(UDP 或 TCP)的每个 IP 地址都有自己的池。 如果您更改 IP 地址或协议(UDP 或 TCP),您可以在同一端口上侦听。 见:http://www.bleepingcomputer.com/tutorials/tcp-and-udp-ports-explained/

或者,您可以使用像 nginx 这样的网络服务器作为反向代理,并将服务绑定到特定的 IP 地址和端口。在这里,您还将受益于缓存内容和网络加速以提高性能。

了解如何设置:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

【讨论】:

以上是关于如何在同一台机器上的不同网络接口上添加相同的端口?的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一台机器上安装多个MySQL的实例(转)

为啥可以同时在 TCP 和 UDP 上使用相同的端口?

请问同一台机器上udp端口和tcp端口可以一样对吗,不会冲突?

我配置好一个tomcat,ssl证书,如何给同一台机器上的其他tomcat配置证书,默认的80,443端口已经被占用。

无法添加以太坊对等点。对等列表为空

JBoss 和单独的 TomCat 在同一台机器上