开发者社区> 技术小胖子> 正文

利用好动态IP地址和NAT,实现从Internet访问内网服务器

简介:
+关注继续查看

说到路由器,很多人都能想到内网,数据交换和NAT。而当提及路由器的类型,很多人也会想到Cisco路由器。但是对于相当一部分的人(包括我在内)来说,可能没有接触到像Cisco XR  Series 这样高级的路由器,或者更低一些的路由器。大多数人往往接触到的恐怕只是小型企业和家庭用户使用的那种性能一般功能一般的路由器。

而很多人可能就在这种环境下,使用一般的路由器和其他网络设备等,却想做出一些较为高级的应用,比如说发布企业或者个人网站、提供DNS服务、邮件服务器和文件服务等等。期待的范围一般比较小,比如一个校园内,一个小区内甚至是写字楼、办公间等等。

可是当打算刚要制定《某某某 策划和评估报告》时就遇到了大问题。可能会遇到下列问题:

1,关于访问Internet的方式。

由于目前IPv4地址的短缺和分配问题,大多数用户(企业用户除外)都是通过ADSL或者其他拨号的方式接入的Internet,IP 地址一般都是不固定的。既然不是固定的IP,势必为服务器的搭建和维护造成了困难。即使通过设置路由器获得固定的IP地址,获得的也是私有IP地址,也给对外发布或者远程管理和维护造成了影响。

2,IP 地址的分配问题。

一个内网如果比较庞大,比如说有很多部门或者组织,不同的组应该有不同的权限,这个可能要设计VLAN。

3,域名服务器(DNS)的问题。

到底要不要加入根DNS服务器中?DNS 注册的问题?等等。

4,通过外网访问内网服务器、远程管理和维护的问题。

无论是路由器、交换机等网络设备还是服务器及其主机,都可能需要远程操作,如何设置也是一个应该考虑的问题。

6,安全性问题。

其实这一个问题应该是最关心的,内网之所以存在也是因为内网是私有的,不是公开的。但是某些应用程序,比如web服务器程序等需要对外开放。而可能内部的FTP、文件和邮件服务器就不对外开放。

7,域。

在路由器中也是可以使用域这个概念的。如何设计和使用也应该考虑在内。

因此,看起来一个简单的事情往往看起来并不是那么的简单。简单的问题也可能因为以后的变化变得复杂起来。这只是一个小小的例子,但是也很典型。至少我觉得它很有必要去研究一下。或许我应该写一份具体的《策划和评估报告》,现在还没有时间,但是我想通过这片文章获得大家的看法和意见,希望阅读过此文的你可以发表一下你的看法。

文章有疏漏和错误之处还请大家给予批评指正,先说一声“谢谢”!



本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/706990,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
面试项目说实现了一个后端多线程网络服务器框架应该怎样写
面试项目说实现了一个后端多线程网络服务器框架应该怎样写
33 0
树莓派公网服务器实现frp内网穿透
树莓派公网服务器实现frp内网穿透
79 0
自建内网穿透服务器替换TeamViewer和向日葵,实现远程控制
自建内网穿透服务器替换TeamViewer和向日葵,实现远程控制
75 0
分布式服务器框架之Servers.Core库实现 DES对称加密算法;SHA1信息摘要算法;MD5信息摘要算法
通信双方(通信主体)同时掌握一个钥匙,加解密都由这一个钥匙完成。通信双方通信前共同拟定一个密钥,不向第三方公开,发送前加密和接受后解密都由此密钥完成。即钥匙如果泄露,将暴露自己的全部信息。
49 0
分布式服务器框架之Server.Core库中实现 XXTEA分组加密算法
在密码学中,微型加密算法(Tiny Encryption Algorithm,TEA)是一种易于描述和执行的块密码,通常只需要很少的代码就可实现。其设计者是剑桥大学计算机实验室的大卫·惠勒与罗杰·尼达姆。这项技术最初于1994年提交给鲁汶的快速软件加密的研讨会上,并在该研讨会上演讲中首次发表。
20 0
分布式服务器框架之Servers.Core中 实现Log模块设计 写入MongoDB数据库
游戏服务器中都需要用到Log模块,log模块存在的意义第一个是将log输出到控制台又或者是写入到log文件中,出了BUG方便定位;第二是常用于将用户的数据(例如玩家登录、道具购买量)将这种log统计到数据库中,方便统计用户留存信息、数据分析等。
24 0
分布式服务器框架之Server.Common库中实现 秒级定时器
定时器模块是服务器中的常用组件,本文带你实现一个具有基本功能的定时器模块要想设计一个定时器模块,一般包含两部分,一个是定时器对象(ServerTimer),另一个管理定时器对象的管理者(TimerManager)也叫定时器容器;定时器使用了C#内System库里面的Timer定时器作为定时器的主驱动
13 0
分布式服务器框架之Server.Core库中实现YFUniqueEntity、YFUniqueIDBase 管理MongoDB 自定义Id的自增
YFUniqueEntity是数据库中的结构,GetUniqueID函数中会根据Type和自增步长去数据库中寻找该类型的当前ID是多少,然后会用当前的Id去加上步长,把更新后的新ID插入到MongoDB中记录着ID的那张表里。
17 0
分布式服务器框架之Servers.Core库中实现 MongoEntityBase 实现阻塞 异步对MongoDB的增删改查
YFMongoDBModelBase类是个模板类,对模板参数进行了约束YFMongoEntityBase,必须要继承YFMongoEntityBase
26 0
分布式服务器框架之Servers.Core库中实现MongoDB的ObjectId和Json转换
分布式服务器框架之Servers.Core库中实现MongoDB的ObjectId和Json转换
16 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
网站/服务器取证 实践与挑战
立即下载
固守服务器的第一道防线——美联集团堡垒机的前世今生
立即下载
机器学习在大规模服务器治理复杂场景的实践
立即下载