域名解析和内网穿透实验
MQTT相关实验
第一节:Mosquitto 相关实验
第二节:域名解析和内网穿透实验
第三节:OneNET 相关实验
域名解析和内网穿透实验
1. 域名解析
由于域名解析的过程需要事先准备域名和云服务器(需要购买),带大家一起操作不太方便,所以下面只给大家讲解一下域名解析的操作过程。
- 域名:由一串用点分隔的字符组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,一个域名的目的是便于记忆和沟通的一组服务器的地址。(如:zhj0125.com)
- 云服务器:是一种处理能力可弹性伸缩的计算服务器,可以帮助构建更加安全稳定的应用,降低开发运维程度和成体成本,让开发者更专注于核心业务创新。(一台一直开机的服务器,会提供公网IP地址)
- DNS:域名解析系统(Domain Name System),能够通过域名定位到指定的IP地址
下面以阿里云平台为例,介绍一下域名解析:
在阿里云控制台域名列表中,可以看到自己的域名
在操作列表中,选择 解析
,进入域名解析页面。
在该页面可以看到分配的DNS服务器、以及各条解析记录
点击 添加记录
,可以添加一条解析记录
其中记录类型分为A记录、CNAME记录、AAAA记录、MX记录等等
- A记录:将域名指向一个IPv4地址
- CNAME记录:将域名指向另外一个域名
- AAAA记录: 将域名指向一个IPv6地址
- MX记录:将域名指向邮件服务器地址
主机记录就是域名前缀,常见用法有:
- www:解析后的域名为 www.aliyun.com
- @:直接解析主域名 aliyun.com
- *:泛解析,匹配其他所有域名 *.aliyun.com
- mail:将域名解析为mail.aliyun.com,通常用于解析邮箱服务器
- 二级域名:如:abc.aliyun.com,填写abc
- 手机网站:如:m.aliyun.com,填写m
- 显性URL:不支持泛解析(泛解析:将所有子域名解析到同一地址
记录值需要根据记录类型,填写云服务器IP地址或者需要指向的另一个域名地址等等
以 forever305.cn
域名为例,在域名域名解析页面中,可以看到
域名地址 | 解析类型 | 被解析到的地址 |
---|---|---|
forever305.cn
|
A记录 |
47.95.13.239 服务器
|
www.forever305.cn
|
A记录 |
47.95.13.239 服务器
|
zhj.forever305.cn
|
CNAME记录 | Coding Pages 网页服务 |
也就是说,如果在浏览器中输入forever305.cn
,DNS就会浏览器地址定位到IP为47.95.13.239
的服务器的网络端口(默认80端口),实现域名解析。
在命令行中输入以下ping指令,测试域名指向的地址
ping forever305.cn
同样的方法,可以测试 www.forever305.cn
和 zhj.forever305.cn
。
2. 内网穿透
- 内网地址:局域网中设备的IP地址,用于定位局域网中的设备,如
192.168.1.102
- 公网地址:公网服务器所对应的IP地址,用于访问在互联网中的设备,如
47.95.13.239
在 树莓派应用LNMP、BOA
实验中,我们已经在树莓派上搭建了web服务。但是这样的服务只能在局域网中被访问到,不在同一个局域网中的设备无法访问树莓派的web服务。
为了解决这样的问题,我们可以使用 内网穿透
方式,将局域网web服务对应的端口,映射到公网地址对应的端口。使用内网穿透后,当我们访问公网对应的网址,就相当于访问了树莓派的web端口,实现在公网上对树莓派的访问。
2.1 内网穿透工具选择
常见的内网穿透服务有 WeNAT、花生壳、NATAPP、Ngrok 等等
本次使用花生壳服务,点击查看 官网教程
由于花生壳免费版本仅支持TCP、UDP协议,只能实现SSH等简单方式的内网穿透,不符合本次实验要求,所以改用NATAPP进行内网穿透实验。
NATAPP是基于Ngrok的反向代理服务,免费的版本提供了HTTP、TCP、UDP全隧道穿透功能,提供代理服务端和公网域名,并且服务在国内,方便大家使用。可以满足本次实验要求,实现将树莓派搭建的web服务转发到公网。
2.2 隧道配置
(1)注册和选择隧道
在NATAPP官网右上角,使用手机号注册。注册成功后登陆进去,在左侧导航栏中找到 我的隧道
-> 购买隧道
,选择 免费隧道
的版本
填写隧道基本信息
- 隧道名称:随便填写
- 隧道协议:选择
Web
- 本地端口:80(填写树莓派Web服务端口)
填写完成后,点击免费购买
(2)隧道配置
购买完成后,点击 我的隧道
,可以看到刚刚创建的隧道信息。点击该隧道右侧的 配置
按钮,进行详细配置。
详细配置页面中,最主要的几个配置已用红框标出,如下图所示:
- authtoken:这是验证信息,一会用到
- 本地地址:是指局域网中需要被映射的内网地址,因为我们在树莓派本地搭建NATAPP客户端,所以这里只需填写
127.0.0.1
这个本机地址即可。 - 本地端口:是指局域网中需要被映射的内网地址的端口,因为我们搭建的服务器默认端口是80端口,所以这里填写
80
即可。 - 本地Web管理地址:一会我们安装的NATAPP客户端是一个命令行界面,如果开启了这个管理地址,就会在这个管理地址启动一个图形界面,方便用户管理。这里我们填写
5000
。
填写完成后,点击下面的 修改
按钮保存配置。
2.3 客户端配置
在NATAPP页面的右上标题栏找到 客户端下载
,右键点击 Linux/ARM 32位
的按钮,选择 链接另存为
,选择文件保存路径。
需要注意下载的位置,默认应该是 /home/pi/Download
目录下
新建一个文件夹,把下载的NATAPP客户端文件移动到这个文件夹中。
mkdir NATAPP # 创建NATAPP文件夹
mv natapp NATAPP/ # 将natapp客户端文件移动到NATAPP文件夹中
cd NATAPP/ # 切换当前目录到NATAPP文件夹
客户端启动之前,需要编写配置文件。在NATAPP文件夹内,创建一个名为 config.ini
的文件,向其中写入以下内容:
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken=13c18e48fc1c7470 #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
该文件是官方给的配置文件,详见使用本地配置文件config.ini
文件内容已经写得很清楚了,其中需要改的只有一个 authtoken
,将 13c18e48fc1c7470
改成你自己的authtoken
。修改完成后,保存该文件,然后在终端中执行以下代码:
sudo chmod +x natapp # 为客户端程序添加执行权限
./natapp # 执行客户端程序
执行成功后,显示如下界面:
可以看到,NATAPP服务已经将我本地的127.0.0.1:80
本地地址映射到了http://2zt6r7.natappfree.cc
公网地址。
现在我已经在本地搭建了LAMP服务,打开浏览器输入127.0.0.1:80
,如下图所示:
这是本地Apache服务的默认页面,我现在去访问http://2zt6r7.natappfree.cc
这个公网地址。大家需要输入你自己的公网地址。
可以看到,公网与树莓派本地显示的内容是一样的,这样说明内网穿透功能已经实现了。
在浏览器输入http://127.0.0.1:5000/
可以进入管理页面,看到网页的请求信息。
End
域名解析和内网穿透实验相关推荐
- 群晖IPv6/ddns-go/域名解析设置内网穿透方案
前言 群晖的内网穿透有很多方案,外网IPv4(这个现在很难搞到了),中间服务器搭建Tunnel隧道,frp等方案(网速慢,流量限制,需另购服务器),第三方服务花生壳等(按量付费,速度问题). 本篇介绍 ...
- 4G模块 | 基于4G Cat.1的内网穿透实践
1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 上一篇分享了:<小熊派4G开发板初体验>,对小熊派 ...
- 手把手教你内网穿透(Windows环境)
内网穿透原理知识 一.传统NAT穿透 传统的NAT技术是通过将专用的网络地址(如企业内部网Internet)转换为公用地址(如互联网Internet),从而对外隐藏了内部管理的IP地址.这样,通过在内 ...
- 利用内网穿透实现无固定IP调试支付回调
在家(使用NAT网)开发项目时,难免会涉及到第三方外部接口回调(如:支付回调.微信小程序登录),需要固定IP或域名解析,内网穿透是个不错的选择.常见的内网穿透工具有 向日葵.natapp.网云穿 等. ...
- 在校外如何安全访问校园内网资源?快解析内网穿透
现如今很多高校选择利用信息化手段实施网络教学,通过在线直播课堂.网络点播教学.在线辅导答疑等形式丰富教学形式,使学生学习时间更为自由.便利.但很多时候以用校园内网为前提,在校外如何安全访问校园内网资源 ...
- NAT-DDNS内网穿透技术,解决动态域名解析难题
进行 NAT 穿透,是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机.对于穿透类型,一般分为两大类,一是基础NAT,另一个是NAPT,大家可能并不怎么了 ...
- 指南:内网穿透与DDNS动态域名解析区别,一篇看懂
外网访问的两种方式 目前局域网环境中主流的外网访问内网分DDNS和内网穿透两种方式,以下将分别介绍: 一.DDNS服务(动态域名解析) 外网访问内网设备的基础是通过IP来通讯,而且运营商提供的公网IP ...
- 使用nps搭建内网穿透并配置泛域名解析
使用nps搭建内网穿透并配置泛域名解析 前言 1. 准备工作 2. 服务器端搭建nps并配置 2.1 配置nps配置文件 2.2 docker安装nps 2.3 web端配置nps并使用 3. 客户端 ...
- Frp 内网穿透服务器在渗透中的应用
内容 实战-在内网发布服务使之可在公网访问 使用 frp 搭建内网穿透服务器 实战-kali 配置 MSF 接收来自公网的 shell 实战-跨网段获取内网 shell 实战-内网穿透-二级代理 实战 ...
最新文章
- spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient
- 手机项目,html抬头,HTMLCSS学习笔记(二十)-- 移动端项目准备工作
- gmod的css模块放哪,gmod模式怎么更换?gmod模块安装步骤教程
- system.gc会立即执行垃圾回收吗_JVM基础到实战03-垃圾回收概念
- xpath 取标签下所有文字内容_xpath提取目录下所有标签内的内容,递归 //text()...
- 读取配置文件工程src目录下配置文件封装,如sms_format.properties
- 设计模式--代理模式--Java实现
- 【java学习之路】(数据结构篇)002.栈和队列
- elf文件格式_Android so(ELF) 文件解析
- centos 7 下安装haproxy
- I2C(smbus、pmbus)和 SPI协议
- 使用PaddlePaddle实现车牌识别
- 为什么要制定项目计划?
- 如何写introduction
- mysql to sqlserver_mysql to sqlserver
- 如何招聘:永远不要自负的人
- 有趣的java代码_求一些有趣的java小程序?
- 如何学习一门编程语言
- html中怎么把h标签左移,基础标签--h、p、a、hr、br、img、base
- 1350:面朝大海 春暖花开 [ 基础版 ]