如何在同一台机器上的不同网络接口上添加相同的端口?
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.11
10.10.10.12
10.10.10.13
10.10.10.14
。
通过 docker 运行 filerun 服务(端口 8081)、gitlab 服务(端口 8082)和传输服务(端口 8083)。在我的 Mac 上,我可以访问 10.10.10.11:8081
或 10.10.10.12:8081
或 10.10.10.13:8081
或 10.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/
【讨论】:
以上是关于如何在同一台机器上的不同网络接口上添加相同的端口?的主要内容,如果未能解决你的问题,请参考以下文章
请问同一台机器上udp端口和tcp端口可以一样对吗,不会冲突?