路由器从外向内访问(端口转发)及从内向外访问(NAT)的配置
路由器从外向内访问(端口转发)及从内向外访问(NAT)的配置
描述需求
最近工作上有一个需求,大致意思就是解决路由器内外访问的问题。这个问题可以分成两部分,一个是外部设备(如服务器)能主动访问路由器局域网内的主机,另一个就是内部的主机需要能够访问外部的服务器。
从内向外访问
对于从内向外访问,大家应该不陌生。我们使用手机连上WiFi上网就是一个例子,里面如何实现的大家可能就没那么关心了。
从外向内访问
主动从外向内访问就麻烦了,这里需要公网IP,而这个实在就是珍稀资源了。当然可以从网上找一些内网穿透的工具,免费的也有,推荐个Nqrok吧,也是能够用。
前提条件
因为要从外向内访问,没有公网IP基本就GG了,可以向运行商申请(有点难,电信可以试试)。接下来的内容默认拥有一个公网IP,这也是一种妥协,如果每个设备都有一个唯一的IP,我这要干的事都不用麻烦了。
解决思路
本人使用的是一个openwrt系统的路由器,设置的东西还挺多的,也了解一些计算机网络的知识。对于从内向外访问就像给别人发微信,别人回的微信也能收到,是一个NAT的应用。只使用一个IP的话,从外向内访问就要用到端口转发了。
端口转发
端口转发的概念我不背了,有兴趣谷歌,大致意思就是路由器会将发给指定IP和端口的内容,转发到别的IP和端口。我们要用的就是将发给唯一公网IP的内容,转发给我们的内部设备。
地址转换协议(NAT)
地址转换协议(NAT)是一个能记住向外访问请求的东西,也就是说局域网的设备通过路由器访问了公网服务器,当服务器返回消息的时候,路由器通过记住的请求,准确的转发给之前发请求的设备。NAT肯定不止这么点东西,但是我们要用到的就是让所有出去的请求都使用唯一的IP。
环境搭建
接下来项模拟吧,大概用到两个路由器模拟两个网络,两个电脑用来模拟服务端和客户端。如果没有那么多路由器和电脑的话,直接将模拟的外部设备接到内部网络路由器WAN口上也行,内部设备用手机连上WiFi也可以,但是外部设备访问内部设备就需要一个手机端的调试软件了。
外部网络模拟
先使用一台路由器配置个外部网络,这里比较简单,直接设置LAN口地址就行,例如我这配置的是
配置项 | 配置值 |
---|---|
协议 | 静态地址 |
IP | 10.10.18.1 |
子网掩码 | 255.255.0.0 |
网关 | 10.10.18.1 |
外部设备配置
使用一台电脑作为外部设备,接下来的测试需要用它来当服务端或者客户端,配置如下
配置项 | 配置值 |
---|---|
IP | 10.10.18.102 |
子网掩码 | 255.255.0.0 |
网关 | 10.10.18.1 |
内部网络配置
内部网络配置是这部分内容的关键,需要分别配置LAN口和WAN口,一个用来接入外部网络,一个用于连接内部设备,构建局域网,这里使用的是192.168.0.0/16网段。
对于WAN口配置如下,未使用DHCP
配置项 | 配置值 |
---|---|
协议 | 静态地址 |
IP | 10.10.18.121 |
子网掩码 | 255.255.0.0 |
网关 | 10.10.18.1 |
对于LAN口配置如下
配置项 | 配置值 |
---|---|
协议 | 静态地址 |
IP | 192.168.121.1 |
子网掩码 | 255.255.0.0 |
网关 | 192.168.121.1 |
内部设备配置
内部设备就是在192.168.0.0/16网段下局域网运行的设备,因为需求,希望此设备既能主动访问外面,又能被外面访问。先来看配置吧,具体操作后续说明,配置如下
配置项 | 配置值 |
---|---|
协议 | 静态地址 |
IP | 192.168.0.158 |
子网掩码 | 255.255.0.0 |
网关 | 192.168.121.1 |
设置端口转发
端口转发:将外部设备对路由器的访问转移到内部指定设备。
接下来可能会有些不同,我这是openwrt上的配置,如果大家是其他路由器的话就参考参考吧!
选择 网络 - 防火墙
设置接收转发
在基本设置界面,设置基本设置转发 – 接收,保存应用并重启设备。
选择 端口转发页面
在底部添加转发规则
设置WAN口对某端口的访问转发到内部指定IP和端口
设置NAT规则
NAT(网络地址转换):修改内部向外通信报文的源IP,并发送
选择 防火墙 – 通信规则页面
步骤二:在底部Source NAT栏设置规则
实际使用
举例:
内部设备:
配置项 | 配置值 |
---|---|
IP | 192.168.0.158 |
Mask | 255.255.0.0 |
Gateway | 192.168.121.1 |
外部设备:
配置项 | 配置值 |
---|---|
IP | 10.10.18.102 |
Mask | 255.255.0.0 |
Gateway | 10.10.18.1 |
路由器WAN :
配置项 | 配置值 |
---|---|
IP | 10.10.18.121 |
Mask | 255.255.0.0 |
Gateway | 10.10.18.1 |
路由器LAN:
配置项 | 配置值 |
---|---|
IP | 192.168.121.1 |
Mask | 255.255.0.0 |
Gateway | 192.168.121.1 |
转发规则:
WAN port at 60000 => LAN 192.168.0.158 at 60000
NAT规则:
LAN => WAN use IP 10.10.18.121
使用UDP访问
内部访问外部
类型 | IP | 端口号 |
---|---|---|
客户端 | 192.168.0.158 | 60000 |
服务端 | 10.10.0.102 | 60000 |
外部访问内部
类型 | IP | 端口号 |
---|---|---|
客户端 | 10.10.18.102 | 60000 |
服务端 | 10.10.18.121 | 60000 |
使用TCP连接
内部设备作为服务端,外部设备作为客户端
类别 | 发送IP | 发送端口 | 被接收IP | 接收端口 |
---|---|---|---|---|
服务端 | 192.168.0.158 | 60000 | 10.10.18.102 | 12345 |
客户端 | 10.10.18.102 | 12345 | 10.10.18.121 | 60000 |
外部设备作为服务端,内部设备作为客户端
类别 | 发送IP | 发送端口 | 被接收IP | 接收端口 |
---|---|---|---|---|
服务端 | 10.10.18.102 | 60000 | 10.10.18.121 | 12345 |
客户端 | 192.168.0.158 | 12345 | 10.10.18.102 | 60000 |
速度测试
因为需要,还希望测试一下端口转发的速率。使用FTP功能测试,工具:IPOP 4.1(强烈推荐,是一个调试工具大合集,体积小单文件,谷歌搜索就能下)。下面是我简单测试的结果,一边启动ftp服务,另一边用文件夹去访问复制文件就行,可以在任务管理器里面看网速。
添加转发规则
转发规则:WAN port at 21=> LAN 192.168.0.158 at 21
IPOP开启FTP服务端
使用IPOP软件服务里面的FTP服务,选好目录,配好账号密码,点start就可以了。
测试结果
使用WAN口作为FTP服务端
LAN => WAN 40Mbps
WAN => LAN 98Mbps
使用LAN口作为FTP服务端
LAN => WAN 30Mbps
WAN => LAN 98Mbps
可以看到,其实使用端口转发功能影响并不大的,关于速率的不同我猜是电脑的问题。
路由器从外向内访问(端口转发)及从内向外访问(NAT)的配置相关推荐
- 内网端口 转发 穿透 工具简介
目录 一.LCX 1.lcx 内网端口转发(类似于SSH远程转发-R) 2.本地端口转发(类似于SSH本地转发-L) 二.nc反弹 正向连接 反向连接 三.socks代理工具 (1)Earthworm ...
- 华为设备实现双出口访问外网nat 策略路由配置
使用ENSP模拟器实现 实验:双出口访问外网nat 策略路由配置 1.内网使用nat访问外网 2.访问联通流量默认走联通线路,电信流量默走电信线路 3.当线路出现故障时,可切换到另一个链路 4.来回路 ...
- 保姆级-光猫改桥接-路由拨号-openwrt端口转发-阿里云DNS域名解析访问家中设备
准备: 1.公网ip(江苏省电信,电话1分钟解决) 2.域名(最好备案了) 3.路由器(我的是红米AC2100刷openwrt,重点路由器要有动态dns服务的功能,端口转发功能什么路由器都有) 往期教 ...
- 80端口攻击_内网端口转发工具的使用总结
0x00 ew端口转发 0x01 portmap端口转发 0x02 htran端口转发 0x03 ssh端口转发 0x00 ew端口转发 环境准备 攻击机 win7(物理机) 192.168.3 ...
- 内网端口转发-LCX基本使用
在渗透测试过程中我们可能会遇到内网开放3389端口只对内网机器开放,但是外网连接不上的情况.怎么办呢?这时候我们可以使用lcx来进行端口映射. 使用方法: 1.本地监听两个端口,第一个为转发端口,第二 ...
- [oralce] 利用CRT的端口转发功能直接用plsql访问数据库
From: http://blog.sina.com.cn/s/blog_498a6eeb0100w197.html 如图所示: 在实际中经常碰到上面的情况, 要访问生产上的数据库必须通过跳转机, 而 ...
- linux配置erp访问端口_让远程Windows系统访问本地Linux打印机
CUPS服务就不用多说了,用过linux的都知道是什么,是多么的优秀!这是这篇文章的最根本的前提. samba当然更不用我多说了,但今天和它无缘,他太过于强大,配置复杂,有更能适应它的地方. 这里我会 ...
- 红蓝对抗之隧道技术第一篇(内网穿透、端口映射端口转发、Netsh端口转发、CS正反向连接多层内网、Burp设置上游代理访问内网、MSF protfwd端口转发/重定向)
文章目录 隧道应用 端口映射&端口转发 Netsh端口转发 Netsh端口转发meterpreter CS正向连接多层内网 CS反向连接多层内网 Burp设置上游代理访问内网 MSF prot ...
- 华硕路由器里的虚拟服务器在哪里,华硕RT-AC86U路由器怎么设置端口转发服务
华硕RT-AC86U路由器的端口转发功能是一种将传至特定端口或端口范围的互联网流量传至本地网络中的一个或多个设备的方式.在路由器上设置端口转发可以允许网络外的电脑使用由网络内的电脑提供的特定的服务.下 ...
最新文章
- 投影参数_智能投影仪参数如何去看,其实很简单
- 思考如何提高博客的访问量
- java纳税服务_纳税服务系统【总结】
- android获取连接wifi名称,android 获取当前连接WIFI名称的有关问题
- js粘贴板为什么获取不到图片信息_JavaScript 学习笔记(3):图片库
- 快排算法的Java实现
- Lesson 03:运算符与流程控制
- 被流氓360设置浏览器主页的解决办法(如果你也遇到了跟我一样的问题,不妨看一下是不是这个原因)...
- 3dmax批量导入obj_ArcGIS 与 3DMax 结合建模
- Windows8(2012) 如何改变登录界面上难看的头像,任意换!
- JavaScript 编程精解 中文第三版 十二、项目:编程语言
- html元数据是什么意思,HTML meta 元数据标签
- Phoenix=HBase+SQL,让HBase插上了翅膀
- docker 安装 oracle
- 人工智能应用-手把手教你用Python硬件编程实现打开或关闭电灯泡
- 用C++实现QQ自动登陆器,仿佛开了外挂,秒杀各种神操作!
- 计算机科班与培训开发编程的区别在哪里?
- 什么是云密码?密信云密码服务产品提供什么?
- 豆豆趣事[2012年03月]
- BoT-SORT: Robust Associations Multi-Pedestrian Tracking