企业实战(17)记录一次使用DDNS动态域名解析服务外网通过域名访问内网服务器服务的过程

简介: 企业实战(17)记录一次使用DDNS动态域名解析服务外网通过域名访问内网服务器服务的过程

DDNS概念


 DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。


 DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。


服务原理


 DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来进行交流。而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的。


 动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。随着市场需求的变化,DDNS需求功能也越来越多,越来越要求方便,市场现在已经有了不要第三方DDNS方支持的设备 。


 简单来说就是通过DHCP服务器分配的IP地址可以动态更新到DNS服务上,免除了手动指定的麻烦。

DDNS原理:DNS + DHCP =DDNS
DHCP负责ip解析,和分配给客户机ip,ip为随机数。
DNS负责域名解析,A记录里记录了每个ip对应的域名。

服务作用


 1、目前ISP大多提供动态IP(如拨号上网),我们若想在网际网络上以 自己的网域公布,DDNS提供了解决方案,它可以自动更新用户每次变化的浮动IP,然后将其与网域相对应,这样其他上网用户就可以透过网域来交流了。


 2、DDNS可以让我们在自己的或家里架设WEB\MAIL\FTP等服务器,而不用花钱去付虚拟主机租金。(前提是你可以承受ADSL上传的速率)


 3、主机是自己的,空间可根据自己的需求来扩充,维护也比较方便。有了网域与空间架设网站,FTP 服务器、EMAIL服务器都不成问题。


 4、如果您有对VPN的需求,有了DDNS就可以用普通上网方式方便地建立Tunnel。透过网域的方式连结,实现远端管理、远端存取、远端打印等功能。


服务应用


 目前ISP大多为我们提供动态IP(如ADSL拨号上网),而很多网络视频服务器和网络摄像机通过远程访问时需要一个固定的IP,而固定IP的费用很难让客户接受。所以DDNS为大家提出了一种全新的解决方案,它可以捕获用户每次变化的IP,然后将其与域名相对应,这样客户就可以通过域名来进行远程监控了。


 因为各家公司的产品和实力的不同,DDNS的解决方案也不一样。


路由器外挂


  具体的说路由器外挂就是采用集成DDNS的路由器,通过申请其域名和服务,把申请所得用户名密码填入路由器DDNS模块相关项,再由路由器上作端口映射指向所需访问的监控设备即可,远程监控端通过访问域名即可访问到当前路由器,根据不同的端口来判断并指向所需访问的监控设备。


  目前已经开始有部分动态域名供应商将自己的硬件和DDNS捆绑销售 ,这样子保证了域名的稳定性,并且没有任何后期费用,为使用者提供了一个永久稳定且免费的DDNS,这种设备无需申请和绑定动态域名,因为每一个设备出厂的时候都会内置一个动态域名,只需要做端口映射即可访问。


集成DDNS的监控设备


  对于无人值守或不方便外挂路由器的状况下,视频监控也可采用集成DDNS的网络摄像机,同样把申请DDNS服务得到的用户名密码填入相关项,通过一条ADSL等宽带线路直接相连。远程监控端通过域名直接访问。


运行DDNS客户端软件


  在局域网内部的任一PC或服务器上运行到DDNS客户端,此时域名解析到的IP地址是局域网网关出口处的公网IP地址,再在网关处作端口映射指向监控设备即可。


 主要作用:


  1.宽带营运商大多只提供动态的IP地址,DDNS可以捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来与用户交流了。


  2.DDNS可以帮你在自己的公司或家里构建虚拟主机。


实战记录


`服务器端`

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# ifconfig | head -2
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.241  netmask 255.255.255.0  broadcast 192.168.2.255
[root@localhost ~]# ss -antulp | grep :29003
tcp    LISTEN     0      128       *:29003                 *:*                   users:(("beam.smp",pid=4223,fd=28))
[root@localhost ~]# ps -aux | grep beam.smp
ocean     4223  1.9  0.9 1208044 78356 pts/1   Ssl+ 7月06 288:47 /usr/local/lib/erlang/erts-6.4/bin/beam.smp -K true -c -- -root /usr/local/lib/erlang -progname erl -- -home /home/ocean -- true -pa /soft/ocean/ocean/ebin /soft/ocean/ocean/deps/amqp_client/ebin /soft/ocean/ocean/deps/cowboy/ebin /soft/ocean/ocean/deps/epgsql/ebin /soft/ocean/ocean/deps/erlydtl/ebin /soft/ocean/ocean/deps/gen_bunny/ebin /soft/ocean/ocean/deps/gen_smtp/ebin /soft/ocean/ocean/deps/gettext/ebin /soft/ocean/ocean/deps/iconv/ebin /soft/ocean/ocean/deps/jiffy/ebin /soft/ocean/ocean/deps/log4erl/ebin /soft/ocean/ocean/deps/meck/ebin /soft/ocean/ocean/deps/mochiweb/ebin /soft/ocean/ocean/deps/pgpool/ebin /soft/ocean/ocean/deps/poolboy/ebin /soft/ocean/ocean/deps/rabbit_common/ebin /soft/ocean/ocean/deps/rrdtool/ebin /soft/ocean/ocean/deps/strftimerl/ebin /soft/ocean/ocean/mod/mod_alarm/ebin /soft/ocean/ocean/mod/mod_assist/ebin /soft/ocean/ocean/mod/mod_base_data/ebin /soft/ocean/ocean/mod/mod_call_records/ebin /soft/ocean/ocean/mod/mod_cds/ebin /soft/ocean/ocean/mod/mod_common/ebin /soft/ocean/ocean/mod/mod_conference/ebin /soft/ocean/ocean/mod/mod_db/ebin /soft/ocean/ocean/mod/mod_files/ebin /soft/ocean/ocean/mod/mod_fsevent_http/ebin /soft/ocean/ocean/mod/mod_ippbx/ebin /soft/ocean/ocean/mod/mod_ivr/ebin /soft/ocean/ocean/mod/mod_log/ebin /soft/ocean/ocean/mod/mod_menu/ebin /soft/ocean/ocean/mod/mod_ola/ebin /soft/ocean/ocean/mod/mod_product/ebin /soft/ocean/ocean/mod/mod_recording/ebin /soft/ocean/ocean/mod/mod_routing/ebin /soft/ocean/ocean/mod/mod_skel/ebin /soft/ocean/ocean/mod/mod_switch_config/ebin /soft/ocean/ocean/mod/mod_ticket/ebin /soft/ocean/ocean/mod/mod_wechat/ebin /soft/ocean/ocean/mod/mod_xcds/ebin -boot start_sasl -s reloader -s ocean -s -sname ocean@localhost -setcookie ClueCon -config ocean
rabbitmq  4657  1.0  0.9 2328468 78008 ?       Sl   7月06 155:51 /usr/local/lib/erlang/erts-6.4/bin/beam.smp -W w -A 64 -P 1048576 -K true -B i -- -root /usr/local/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.1/ebin -noshell -noinput -s rabbit boot -sname rabbit@localhost -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@localhost.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@localhost-sasl.log"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.1/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@localhost" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672
root      5149  0.0  0.0 112732   988 pts/2    S+   16:59   0:00 grep --color=auto beam.smp

 可以看到我们服务器上已经部署了端口为29003的服务,em1网卡为内网,服务器网卡1口与公司企业级路由器相连,企业级路由器与运营商网关/光猫相连(运营商网关/光猫为动态IP),要想通过外网来访问到我们公司内网服务器上的服务,要么使用内网穿透,要么就使用DDNS动态域名服务,接下来我们就使用DDNS动态域名服务来解决这个问题。


`路由器端`


1.登录到TP-LINK企业级路由器中

5.png

2.进入“系统服务”中,点击“动态DNS”功能

6.png

可以看到TP-Link企业级路由器支持多种动态域名解析,我们默认使用TP-LINK动态域名。


3.注册TP-LINK ID来登录

7.png

4.使用刚注册的TP-LINK ID登录TP-LINK动态域名服务

8.png

5.根据TP-LINK动态域名要求新增动态域名并绑定WAN网接口

9.png

6.使用TP-LINK路由器中的DDNS动态域名访问内网服务器上的服务

10.png

可以看到我直接使用刚才设置的DDNS动态域名加上内网服务器服务的端口29003,直接就能够访问到我们内网服务器上的服务了。


总结:


通过我们在路由器上设置的DDNS动态域名后,不管以后运营商网关上的外网IP怎么动态变化,客户都可以直接使用我们上面在路由器中设置的域名来访问公司内部相应的服务了。

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
15天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
405 2
|
1月前
|
机器学习/深度学习 弹性计算 运维
ECS阿里云监控服务
ECS阿里云监控服务
74 3
|
30天前
|
Shell Windows
Windows服务器 开机自启动服务
Windows服务器 开机自启动服务
14 0
|
5天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
11 0
|
11天前
|
安全 Java 网络安全
对象存储oss使用问题之使用oss上服务器后显示服务异常如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
15 0
|
15天前
|
存储 人工智能 编译器
存算一体新兴力量:解析我国企业在存储创新、技术路径上的多元化探索
存算一体新兴力量:解析我国企业在存储创新、技术路径上的多元化探索
|
15天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
15天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
21天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用docker快速搭建wordpress服务,并指定域名访问
通过以上步骤,你可以使用Docker快速搭建WordPress服务,并通过指定的域名进行访问。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
22 1

推荐镜像

更多