用户登录  | 
首 页技术文章软件发布广告价格
当前位置:传奇游戏服务端下载站传奇站长论坛资源网站程序技术文章文章资讯游戏架设教程奇迹技术

DNS解决NAT映射后内网不能进入游戏的问题

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2014-10-03 19:02:41

适用环境:当只有一个公网IP时,内网中一台主机做服务器,接入负责内部网络地址转换(NAT)和端口映射的时候,外网可以进入游戏,而内网不能进入的时候。


众所周知,我们的SF有个CS文件夹,里面有几个配置文件,当你的服务器在内网的时候,必须将cs文件夹下的几个配置文件的IP设置为公网IP,然后通过在接入上来做端口映射来解决外网进入的问题。

在接入上可以使用PORTMAP等工具来实现智能的端口映射。这样的软件是在应用层上直接映射端口,所以不需要手动的选择是对哪一个网卡映射,这样实际上就避免了很多麻烦,但是更多的麻烦也同时出现了,portmap这样的软件效率很低,当连接数量达到一定的程度后,会非常耗费CPU资源,并且常常会出现只能对一部分其他IP映射的烦恼。这当然是我们不希望看到的。

不要灰心,有更好的端口映射工具,可以直接在链路层上映射。比如winroute和win2000自带的NAT,都是效率很高,并且都可以作为系统服务来运行的软件!所以我们强烈推荐使用这样的软件,占用CPU资源少,另外十分稳定,效率也很高。但是在链路层上映射也不能避免一个很关键的问题,那就是只能指定一个网卡接口,比如说我的接入服务器有两块网卡,一块是公网IP地址(如61.128.128.XXX),另一块是内网IP地址(192.168.0.1)使用NAT后,只能对一个接口进行端口映射。也就是说,服务器已经能够对公网开放了!但是很不幸的,内网却不能访问了。(是因为cs目录下的配置文件是公网IP的原因)

在网上有文章说,结合使用NAT的端口映射和portmap来使用,因为NAT的优先级高,所以可以先把外网的连接映射到内网中,然后内网的连接自动会用portmap进行映射,但是事实证明,这种方法不可行。(我实验过,如果是我搞错了,请指出,谢谢)而且如果内网用户量很庞大,也相当于加重了的负担。


经过多次挫折,我终于找到了一个非常好的办法!那就是使用域名来解决(动态域名也可以)!

原理是这样的:接入服务器使用NAT映射端口(如果有域名更好,没有可以去用花生壳),然后把游戏服务器的cs目录下的配置文件(一共4个)配置为你的域名。在任意一台主机(如接入服务器)上添加DNS服务,然后添加一个正向查找区域(标准主区域),在此区域中添加一个主机记录,指向你的内网游戏服务器地址(内网地址如服务器的地址是192.168.0.254)记得DNS服务器一定要启用递归,指向你的ISP指定的DNS服务器,如重庆地区的61.128.128.68。内网的其他客户机要修改TCP/IP的设置,DNS指向你的DNS服务器地址就行了(有两个,第一个填你的DNS服务器地址如192.168.0.1,第二个可以不填),实际上你的DNS服务器就只负责解析这一个IP(如果以后要添加新的服务器也很方便)。而外网的DNS解析,那就不用你管了,公网上的DNS会很好的解析的。

这样实现后,解决得很痛快,因为DNS也是一个系统的服务,效率也是很高的,而且只负责解析一个域名,基本上是不会占用CPU资源,而NAT也是效率很高的系统服务,呵呵。。。。。。(我做了,非常成功)

有很多朋友怕麻烦,就把接入服务器和服务器做成同一个服务器,这样首先不说的效率问题,问题就够你老人家受了,主要是SQL server暴露在公网上的问题。

说到安全,我就再罗嗦两句。为了我们的服务器,最好是让在内网中,不要轻易映射SQL server的端口(虽然这样确实很方便);注册页面最好不要用大家都在通用的,很不安全,还是自己写一套稳当,呵呵,还可以按需开发嘛;IIS的权限设置一定要把握好,最好在管理页面的虚拟目录中集成windows验证,这样就多了。

商业完整版游戏发布站程序免费下载:www.98youx.com

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
传奇资源网提供最新传奇开区一条龙版本下载,本站声明:只更新最新最好的传奇服务端分享给大家。