2023年11月21日星期二

如何将内网主机端口映射到公网

要将主机B的22端口映射到主机A的公网地址的123456端口,你可以使用端口转发(port forwarding)来实现。这通常通过使用iptables来完成。以下是在主机A上的一些命令,假设主机A使用的是Linux操作系统。

请注意,执行这些命令可能需要具有root权限的用户。

启用IP转发:

在主机A上,确保IP转发被启用。打开 /etc/sysctl.conf 文件并确保以下行被取消注释:

net.ipv4.ip_forward=1

然后运行以下命令以应用更改:

sudo sysctl -p

添加端口转发规则:

使用iptables设置端口转发规则。在这里,我们将主机B的22端口转发到主机A的123456端口:

sudo iptables -t nat -A PREROUTING -p tcp --dport 123456 -j DNAT --to-destination 10.9.0.2:22

sudo iptables -t nat -A POSTROUTING -p tcp --dport 22 -d 10.9.0.2 -j SNAT --to-source 10.9.0.1

上述命令中:

第一行将外部流量(目标端口123456)转发到内部主机B的22端口。

第二行确保响应的流量正确返回到源主机A。

允许流量通过防火墙:

如果主机A上启用了防火墙,确保允许相应的流量通过。例如,如果使用的是ufw:

sudo ufw allow 123456

如果使用其他防火墙工具,请相应调整命令。

保存规则:

如果一切都正常,保存iptables规则以确保它们在重启后保持不变:

sudo service iptables save

或者,如果使用的是ufw:

sudo ufw reload

现在,通过使用主机A的公网地址XXX.XXX.XXX.XXX和123456端口,你应该能够访问主机B的22端口。请注意,这只是一个简单的例子,实际情况可能需要根据具体网络环境和安全要求进行调整。






 

没有评论:

发表评论

安装 PaddleOCR的方法

  安装飞桨版本:https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/windows-pip.html 命令:  python -m pip...