文档编号 | 维护人 | 内容 | 版本号 |
---|---|---|---|
2025073001 | RK | 司空私有化内外网混合部署下的网络打通 | V1.0 |
端口请以实际为准
以下是司空默认端口:
端口 服务 用途[请根据需求开放相关防火墙] 80 司空页面 需要开通该端口支持办公访问司空服务 443 司空页面(HTTPS) 需要开通该端口支持办公访问司空服务 123 时间同步 设备连接司空,防火墙需要开通端口 1883 emqx服务 设备连接司空,防火墙需要开通端口 8883 emqx加密服务 设备连接司空,防火墙需要开通端口 20000 agent-emqx服务 设备连接司空,防火墙需要开通端口 20001 agent-emqx加密服务 设备连接司空,防火墙需要开通端口 1935 rtmp端口(暂不建议修改) 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口 8000 webrtc端口(暂不建议修改) 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口 8080 网关dashboard页面 需要开通该端口支持办公访问司空服务 30800 运维页面 需要开通该端口支持办公访问司空服务 30801 minio控制台 需要开通该端口支持办公访问司空服务 30802 minio服务 设备连接司空,防火墙需要开通端口 30803 minio-static控制台 需要开通该端口支持办公访问司空服务 30804 minio-static服务 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口 30805 terra后端服务 司空自用,无需开通防火墙 30806 直播服务 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口 30807 emqx控制台 需要开通该端口支持办公访问司空服务 30808 agent-emqxws服务 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口 30809 rabbitmq控制台 需要开通该端口支持办公访问司空服务 30810 portainer控制台 需要开通该端口支持办公访问司空服务 30811 grafana控制台 需要开通该端口支持办公访问司空服务 30812 司空后端服务 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口 30813 map-custom服务 需要开通该端口支持办公访问司空服务,设备连接司空,防火墙需要开通端口
192.168.1.151
) 变成一个路由器,将大部 分端口的流量透明地转发到内部服务器 (192.168.1.2
)。192.168.1.151
) 上,编辑 /etc/sysctl.conf
文件:
#
):net.ipv4.ip_forward=1
iptables
命令。这些规则会将 除 Kong 所需端口(80, 443, 8001, 1337)之外 的所有 TCP/UDP 流量都转发到内部服务器。
2000
到 7999
端口)的 TCP/UDP 请求都会被自动、透明地转发到内部服务器 192.168.1.2
。iptables
规则排除在外的 HTTP/S 流量(端口 80
和 443
),并执行 IP 地址替换。kong-dmz/
├── docker-compose.yml
└── kong-config/
└── kong.yml
docker-compose.yml
文件
kong.yml
文件,定义如何代理 HTTP 流量并替换响应中的私有 IP 为防火墙的公网 IP (8.8.8.1
)。
kong-dmz
目录下,运行 Docker Compose:
8.8.8.1
测试两种流量:192.168.1.2
在端口 5432
上运行着 PostgreSQL 数据库。您可以使用 telnet
或 nc
来测试连接(前提是防火墙已将 8.8.8.1:5432
转发到 192.168.1.151:5432
):
iptables
的 L4 转发规则正常工作。curl
请求端口 80
。
192.168.1.2
的实例(无论在响应体还是 Location
头中)都已经被成功替换为 8.8.8.1
。iptables
以线速(wire-speed)处理绝大多数 L4 流量转发,开销极低。而 Kong 则专注于其最擅长的 L7 领域,为 HTTP/S 流量提供丰富的策略控制和内容修改能力。nftables
是 iptables
的现代替代品,语法更清晰,性能也更好。如果您的系统较新,可以考虑使用 nftables
来实现 L4 转发,其原理是相同的。8.8.8.1
, 192.168.1.2
等)。在更复杂的自动化部署中,建议使用环境变量或配置管理工具(如 Ansible)来动态管理这些值。