主页 > 入门基础 > 路由器端口映射怎么设置?

路由器端口映射怎么设置?

端口是什么,我们在之前的文章里已经做了解释,请看《轻松理解网络端口是什么》,端口转发和端口映射都是为了解决内网主机的端口无法在外部直接访问而衍生出来的技术,通过中间服务器进行中转,将内部的端口映射到公网 IP 上或者将内部端口转发到外部服务器,供用户或者自己来使用,那么他们的区别是什么呢?

端口转发

顾名思义,就是将端口进行转发,具体哪个端口转发到哪个端口要以应用场景为准,比如我们拿到一台内外服务器 A 的权限,通过扫描发现了同内网的另一台服务器 B 且开了 80 端口,我们该如何使用浏览器访问它呢?我们画一个图如下:

从上图中可以看到,我们已经与 A 建立了通道,我们可以在 A 上上传任意文件,执行任意的系统命令,我们如何能够访问 B 的 80 端口?假设 A 是在公网上,有公网 IP,我们可以访问它的任意端口。

1、直接在 A 上执行 curl 命令访问 B 的 80 端口(这种方式不方便我们测试 B 的 80 端口的漏洞,不方便利用)

2、在 A 上开启一个 socks 5 代理,我们使用浏览器设置好代理,将我们的浏览器代理到目标内网,然后访问 B 的 80 端口。

3、在 A 上执行端口转发,将 B 的 80 端口转发到 A 的 8080,然后我们直接用浏览器访问 A 的 8080 端口即可,这个原理就是端口转发

总结一下,端口转发就是将一个端口,这个端口可以本机的端口也可以是本机可以访问到的任意主机的端口都可以转发到任意一台可以访问到的 IP 上,通常这个 IP 是公网 IP,方便我们使用。

端口映射

顾名思义,就是映射端口,就是将一个内网端口映射到公网上的某个端口,我们来看一个实例,我自己的电脑是在内网中,没有公网 IP,但是我想提供一个端口供其他人使用,怎么办呢?我们来看一个图:

A 和 B 在不同的内网,各自有自己的内网 IP ,但是互相无法直接访问,这时就需要一个中间服务器,要 A 和 B 都可以访问然后作为中转服务器,实现上面的目标,这个中间服务器需要有一个公网 IP,如图:

上图的 C 就是有公网 IP 的中间服务器,我们可以将 A 的 80 端口映射到 C 的 80 端口,这时,B 就可以访问 C 的 80 端口,也就相当于访问 A 的 80 端口了,这里其实核心原理也是端口转发,只不过是将本机的端口转发到远程的某个端口。
 

有时,我们需要跨越路由器直接访问路由器后面的局域网机器上提供的服务,如Web Page, FTP等,这个时候,路由器中内建的虚拟服务器功能可以实现这样的需求。

先看如下启用了虚拟服务器后网络架构:

LAN PC得到路由器下发的DHCP IP 192.168.1.10,路由器从公网得到WAN IP 172.18.1.100,如果外部主机Customer PC希望穿越路由器访问LAN PC上搭建的Web Page服务,则可以建立如图所示的一条端口映射条目。

 

WAN 端口6000映射到内网端口80,映射目标主机为192.168.1.10,并启用了TCP/UDP两种协议。这样,当外部主机Customer PC访问172.18.1.100:6000时,路由器将请求转发给192.168.1.10:80,这样就实现了外部主机访问路由器后面的内部主机提供的服务。


说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!