networking - 端口转发和 Python 套接字

标签 networking router portforwarding

好吧,我有几个问题,我家里有一个 D - link 2650u 路由器,让我们从这个开始

现在我用Python编写了一个TCP服务器,它将自身绑定(bind)到我的私有(private)IP地址和端口5000,(我的私有(private)IP地址是10.0.0.4),例如,假设我的公共(public) IP 地址是 76.123.24.21。现在,我的 TCP 服务器在 LAN 和私有(private) IP 地址内工作正常,但是如果我希望其他人能够向我和我的服务器发送数据包以从 LAN 外部接收它们,我需要打开端口 5000 并转发它,例如,输入我的路由器的 NAT 端口转发表并定义端口 5000 上收到的所有数据包都将转发到我的私有(private) IP 地址,即 10.0.0.4。 所以我的第一个问题是,如果我将端口 5000 转发到 10.0.04,这意味着发送到 76.123.24.21:5000 的每个数据包都会在绑定(bind)在端口 5000 上的 TCP 服务器中收到,对吗? (当然如果数据包是从 TCP 套接字发送的)

现在我的第二个问题是,如何在路由器上转发端口.....我有一个 D - link DSL 2650u 路由器,每当我登录到它的网页并连接到正确的用户名和密码,它向我显示的所有选项是:

设备信息
诊断
管理

没有任何关于高级设置或 NAT 转发端口的信息......

请帮我解决这个问题!

最佳答案

  1. 是的。你是对的。每个 TCP 目标端口等于 5000 的数据包将被转发到 10.0.0.4 。内部端口号和外部端口号可以相同或不同,路由器不在乎。

  2. 端口转发在 D-Link 文献中被称为“虚拟服务器”。您可以在“NAT - 虚拟服务器”中的“高级设置”下配置端口转发。

DMZ 中的任何客户端 PC 都将面临各种类型的安全风险。因此,如果您的应用程序仅使用端口,则仅使用端口转发。

关于networking - 端口转发和 Python 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486538/

相关文章:

java - 如何使我的多播程序在不同网络上的计算机之间工作?

c++ - QProgressbar 和 QNetworkReply 信号

networking - 什么是监控网络事件的好工具

Angular 组件在路线更改时不会重新加载

amazon-ec2 - 如何从本地主机连接到私有(private) RDS

java - 如何获取在特定端口上运行的子网的所有 IP 地址

vue.js - 如何防止用户在 Nuxt 中使用中间件离开页面?

javascript - 无法使用动态列表路由到 SPA Angular 中的其他页面

linux - 从公共(public)访问 apache 服务器时遇到问题

python - 到不同端口的多个 OpenVPN 连接