端口转发和Python套接字

时间:2014-08-25 12:59:50

标签: networking router portforwarding

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

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

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

设备信息
   诊断
   管理

并没有关于高级设置或转发端口的NAT ......

请帮助我!

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

由于TCP服务器位于NAT设备后面,这意味着NAT设备外部的TCP客户端需要初始化套接字连接。我建议你在你的路由器中打开一个DMZ主机但是要转发端口。

应该在管理层。寻找DMZ设置。

相关问题