路由器设置端口转发规则还是不能通过外网访问本地服务器

路由器设置端口转发规则还是不能通过外网访问本地服务器,第1张

一、看下在内网能不能访问,如果内网访问不了,看下服务器是否有搭建好。

二、内网可以访问,看下路由器WAN口IP与百度出来的IP是否一致,如果不一致,路由器WAN口IP不是公网IP,外网也无法访问。

三、看下外网访问是否正确。有的路由器可以在外网输入服务器IP加端口号访问,有的路由器外网只支持外网使用路由器WAN口IP加端口号访问,不能回环访问。

加速不同地区的使用方法,加速后会链接加速地区的服务器。

当然,正常使用完全不需要设置节点,加速器默认已经为我们调理好了,随意更改节点设置可能会导致Ping偏高,例如在笔者所在的国区北部加速北美服务器,Ping值会达到可怕的300+。

其实你若要想让游戏公司不检测到自己的IP地址是一件非常容易的事,那就是使用傲盾网络加速器或傲盾网游加速器。 傲盾网络加速器有一个功能,就是隐藏用户上网的真实的IP地址,同样的傲盾网络加速器和傲盾网游加速器都可以隐藏游戏玩家在游戏中的真实ip地址,也就是可以帮助网游工作室隐藏自己的ip,不让游戏服务器检测到。到这里,你是不是对问题开网游工作室怎么样可以不让服务器检测到ip有了一个答案?接下来,傲盾简要的给你讲解为什么能够实现。 傲盾网络加速器和傲盾网游加速器采用的是***的原理实现加速的,假如网游工作室使用了傲盾,那么工作室本地网络数据的传输,将首先以***的形式,从用户本地上传到傲盾的节点服务器,然后再以***的形式,从傲盾的节点服务器转发到游戏服务器,也就是经历了一次跳转才到了游戏服务器,这样一来,游戏服务器检测到的IP就是傲盾的节点服务器ip地址了。 开网游工作室怎么样可以不让服务器检测到ip,这个问题,你现在明白了吗?至于你考虑的其它的因素,比如傲盾的节点ip是否会被封?目前基本上这样的事情很少发生,就是偶尔的误封,傲盾也通过公共关系解决了。

  1、突破网络限制上网,一般是限制了端口,下一些网游加速器,或者代理试一下。

  2、网络限制了上午,是从路由上限制了,也就是让员工的网络无法连接游戏的服务器。使用了代理之后,本地的数据会先传输到代理节点服务器上,然后再从代理的节点服务器转发到游戏服务器上,通过这样的中转,让本地的数据可以传输到游戏服务器,进而达到能玩游戏的目的。

  3、简单的说,封杀了游戏服务器IP,用代理让自己使用的电脑不直接连游戏,先连接代理的节点IP,再连接游戏即可。

故障原因。

利用***技术,用户通过一台登陆服务器用加速软件商提供的账号密码拨号登陆到一台具有双线带宽的服务器上,并与之建立连接并改变当前网络环境。

在访问的时候,将本机访问的目标(例如:一个网址)通过节点服务器转发一次,从而完成加速效果。

迅游网游加速器是四川迅游网络科技有限公司推出的专门针对网络游戏的加速产品。

迅游通过动态路由调整、全运营商的节点部署、7x24小时全网络动态监控、测速和数据中转等技术,有效解决玩家在网游中遇到的延时过高、登录困难、容易掉线等问题。

支持加速的有:网络游戏、对战平台、网页游戏及语音加速等。采用的收费方式为点卡收费和免费测试两种。

迅游加速器到了99%就不加了的原因是网络节点出冲突,导致加速器无法顺利加载。

解决方法:

迅游是基于您本地网络的基础上为用户提供一个到游戏的专用通道,达到降低网络延迟的作用。可以关注一下迅游上节点的延迟情况,查看一下节点状态。确保所选择的节点是延迟稳定无丢包的。

具体的操作步骤为:

1,点击启动加速旁边的上拉菜单。

2,打开加速节点标签页,选择其他加速节点。

3,如果还是没能解决,就尝试点击另一个标签页,选择加速模式。

4,还不行的话,点击配置工具,修复一下LSP。

5,除此之外,还可以点击旁边在线客服进行询问。

6,如果总是出现加速到一半停止加速,可以直接重装软件。

出处 http://blog51ctocom/wwdhks/1154032

作者张天成, zhangtiancheng@gmailcom

iptables操作的是24以上内核的netfilter,所以需要 linux的内核在24以上。其功能与安全性远远比其前辈 ipfwadm, ipchains强大,iptables大致是工作在OSI七层的二、三、四层,其前辈ipchains不能单独实现对tcp/udp port以及对mac地址的的定义与操作,所以我想ipchains应该是仅仅工作在三层的。

我们先简单介绍一下netfilter的大致工作流程,也就是一个数据包(或者叫分组、packet,我个人习惯叫包)在到达linux的网络接口的时候 (网卡)如何处理这个包,然后再介绍一下如何用iptables改变或者说控制对这个数据包进行操作。

netfilter内部分为三个表,分别是 filter,nat,mangle,每个表又有不同的操作链(Chains)。

下面有一张图清晰的描绘了netfilter对包的处理流程(该图摘自网上,不知作者是谁,在此深表敬意!),一般情况下,我们用不到这个mangle表,在这里我们就不做介绍了。

当一个包来到Linux的网络接口的时候先执行PREROUTING操作,依次经过mangle、nat的PREROUTING链。从这个Chain的名字我们可以看出,这个Chain是在路由之前(pre-routing)要过的。为什么要在路由之前过呢?因为在这个链里面我们对包的操作是DNAT,也就是改变目的地址和(或端口),通常用在端口转发(修改P

ort),或者NAT到内网的DMZ区(修改地址)。

环境配置如下:

我们怎么样能让Internet用户通过公网IP访问内部的web服务器呢? 在这个PREROUTING链上定义一个规则,把访问60111:80的用户的目的地址改变一下,改变为10112:80,这样就实现了internet用户对内网服务器的访问了。当然,这个端口是比较灵活的,我们可以定义任何一个端口的转发,不一定是80-->80。具 体的命令我们在下面的例子中介绍,这里我们只谈流程与概念上的实现方法。

好了,我们接着往下走,来到图中下方的那个菱形(FORWARD),转发!

默认情况下,当Linux收到了一个目的IP地址不是本地IP的包,Linux会把这个包丢弃。因为默认情况下,Linux的三层包转发功能是关闭的,如果要让我们的Linux实现转发,则需要打开这个转发功能,可以 改变它的一个系统参数,使用如下命令打开转发功能:

处理顺序上,依然是mangle优先、随后流经filter的FORWOARD链。我们操作任何一个链都会影响到这个包的命运,在 下面的介绍中,我们就忽略掉mangle表,我们基本用不到操作它,所以我们假设它是透明的。假设这个包被我们的规则放过去了,也就是ACCEPT了,它将进入POSTROUTING部分。

注意!这里我注意到一个细节问题,也就是上面的图中数据包过了FORWARD链之后直接进入了POSTROUITNG 链,我觉得这中间缺少一个环节,也就是ROUTING。对于转发的包来说,Linux同样需要在选路(路由)之后才能将它送出,这个图却没有标明这一点,我认为它是在过了ROUTING之后才进入的POSTROUITNG。当然了,这对于我们讨论iptables的过滤转发来说不是很重要,只是我觉得流程上有这个问题,还是要说明 一下。

POSTROUTING链是数据包要送出这台Linux的最后一个环节了,也是极其重要的一个环节。这个时候Linux已经完成了对这个包的路由(选路工作),已经找到了合适的接口送出这个包了,在这个链里面我们要进行重要的操作,就是被Linux称为 SNAT的一个动作,修改源IP地址!

为什么修改源IP地址?最常见的就是我们内网多台机器需要共享一个或几个公网IP访问 Internet。因为我们的内网地址是私有的,假如就让Linux给路由出去,源地址也不变,这个包能访问到目的地,但却回不来。因为 Internet上的路由节点不会转发私有地址的数据包,也就是说,不用合法IP,我们的数据包有去无回。

有人会说:“既然是这样,我就不用私有IP了,我自己分配自己合法的地址不行吗?那样包就会回来了吧?”。答案是否定的,IP地址是ICANN来分配的,Internet上的路由器会把这个返回包送到合法的IP去,你同样收不到。而你这种行为有可能被定义为一种ip欺骗,很多设备会把这样的包在接入端就给滤掉了。

那么Linux如何做SNAT 呢?环境配置如下:

当内网节点101112需要访问202222的web服务器,发送数据包时先路由到10111节点,随后(在10111节点配置SNAT)将源IP改为60111后送出。同时在ip_conntrack表里面做一个记录:内网的哪一个ip的哪个端口访问的这个web服务器,自己把它的源地址改成多少了,端口改成多少了,以便这个web服务器返回数据包的时候linux将它准确的送回给发送请求的这个pc

大体的数据转发流程我们说完了,我们看看iptables使用什么样的参数来完成这些操作。在描述这些具体的操作之前,我还要说几个我对iptables的概念的理解(未必完全正确),这将有助于大家理解这些规则,以实现更精确的控制。

上文中我们提到过,对包的控制是由我们在不同的Chain(链)上面添加不同的规则来实现的。那么既然叫链,一定就是一条或者多条规则组成的了,这时就有一个问题了,如果多个规则对同一种包进行了定义,会发生什么事情呢?

在Chain中,所有的规则都是从上向下来执行的,也就是说,如果匹配了第一行,那么就按照第一行的规则执行,一行一行的往下找,直到找到 符合这个类型的包的规则为止。如果找了一遍没有找到符合这个包的规则怎么办呢?iptables里面有一个概念,就是Policy(策略),如果找了一遍找不到符合处理这个包的规则,就按照policy来办。iptables 使用-P来设置Chain的策略。

对链的操作就那么几种:

比如我们要添加一个规则到filter表的FORWARD链:

在iptables中,默认的表名就是filter,所以这里可以省略-t filter直接写成:

iptables中的匹配参数: 我们在这里就介绍几种常用的参数,详细地用法可以man iptables看它的联机文档,你会有意外的收获。

环境信息:

或者使用如下命令

配置完成,在内网节点(19216823472)发起的服务器节点(8123473)请求,会由外网节点修改源ip后转发出去。

在8123473上启动nginx服务,在19216823472上通过curl访问效果如下:

可以将上述配置写到一个文件中,以便重复执行。

除此之外,也可以精确控制他的访问地址,比如我就允许101199访问3333这个ip

或者只允许他们访问80端口

更多的控制可以自己灵活去做,或者查阅iptables的联机文档。

环境信息:

确保服务监听的是ip是内网ip

或者使用如下命令

同样,可以将这部分配置放到一个文件中:

OK,至此配置完成,我们可以尝试在外网节点(8123473)上,通过网关节点(8123471)访问内网(19216823472)提供的服务(80端口)。

在前面的配置中,内网节点将互通的外网节点做为网关,由网关节点修改目的地址,源地址保持不变。其实,还存在另外一种配置方式,同时修改源地址、目的地址。将内网地址中的默认路由配置删除

增加一个SNAT配置

这条命令不太好懂?其实很简单,如果使用这条命令,那么你的web server不需要再设置默认网关,就能收到这个请求,只要他和linux的lan ip地址是能互访的(也就是说web server和Linux的Lan ip在一个广播域)。我们在根据上面的netfilter流程图来分析这个包到底被我们怎么样了:

修改目的地址,于是这个包变成了8123473:1333-->19216823472:80。

进入route box选路,找到合适路径,此时这个包依旧是8123473:1333-->19216823472:80。

原来是一个SNAT,改你的源地址,于是这个包变成了19216823471:xxxx(随机端口)-->19216823472:80。

看了上面的两个例子,不知道大家是否清楚了iptables的转发流程,希望对大家有所帮助。

下面来讲前面提到的ESTABLISHED,RELATED规则是怎么回事,到底有什么用处。

我们知道,网络的访问是双向的,也就是说一个Client与Server之间完成数据交换需要双方的发包与收包。在netfilter中,有几种状态,也就是New, Established,Related,Invalid。

当一个客户端,在本文例一中,内网的一台机器访问外网,我们设置了规则允许他出去,但是没有设置允许回来的规则啊,怎么完成访问呢?这就是netfilter的 状态机制 ,当一个Lan用户通过这个Linux访问外网的时候,它发送了一个请求包,这个包的状态是New(配置了内网IP的转发规则,放行)。当外网回包的时候他的状态就是Established,所以,Linux知道,哦,这个包是我的内网的一台机器发出去的应答包,他就放行了。

而外网试图对内发起一个新的连接的时候,他的状态是New,所以Linux压根不去理会它。这就是我们为什么要加这一句的原因。

还有那个Related,他是一个关联状态,什么会用到呢?sftp、ftp都会用到,因为他们的传输机制决定了,它不像http访问那样,Client_IP: port-->Server:80然后server:80-->Client_IP:port,ftp使用tcp21建立连接,使用20端口发送数据,其中又有两种方式,一种主动active mode,一种被动passive mode。主动模式下,client使用port命令告诉server我用哪一个端口接受数据,然后server主动发起对这个端口的请求。被动模式下,server使用port命令告诉客户端,它用那个端口监听,然后客户端发起对他的数据传输,所以这对于一个防火墙来说就是比较麻烦的事情,因为有可能会有New状态的数据包,但是它又是合理的请求,这个时候就用到这个Related状态了,他就是一种关联,在linux中,有个叫 ftp_conntrack的模块,它能识别port命令,然后对相应的端口进行放行。

对了,还有几个在实际中比较实用(也比较受用:-))的命令参数,写出来供大家参考

登陆岛风go,设置好浏览器;接着打开进入Internet选项,选择连接。要知道自己是局域网还是普通直连,再将两个选项都打勾,并在“地址”输入框中输入岛风GO。

点击全局设置窗口(右键点击桌面右下角的岛风GO图标-打开全局设置)中的“PAC自动代理脚本地址”中的内容,按下“确认”按钮后就设置完成了。

工作原理:

这里浅谈一下,加速软件的工作原理,普及下加速软件的知识,让网民在选择上能作出正确的判断,不至于盲目选择导致损失。

其实加速软件原理很简单,就是利用***技术,用户通过一台登陆服务器用加速软件商提供的账号密码拨号登陆到一台具有双线带宽的服务器上(专业术语叫:节点服务器)并与之建立连接并改变当前(即本机的上网环境)网络环境。

在访问的时候,将本机访问的目标(例如:一个网址)通过节点服务器转发一次,从而完成加速效果。

如果想让电脑变成Web服务器使用的话,须登录路由器控制面板。路由器控制面板地址为你电脑的默认网关,一般情况下地址为:http://19216811。

输入账号密码(可在路由器说明书上找到)后即可访问,然后找到转发规则->虚拟服务器->添加新条目:

1服务端口号:即路由器提供给广域网的服务端口。(例如我使用的是Tomcat服务器,默认端口为8080,所以在这里我要填8080)

2IP地址:要映射的内网地址。(最好先将要当web服务器的计算机设置为静态IP地址,然后再填。否则如果是DHCP获取IP的话,下次重启电脑或路由器都有可能使内网地址变更导致外网不能访问)

3协议:默认ALL。(Http、FTP等常用服务协议为TCP,如清楚直接默认)

4状态:当然是生效。

到此,一条规则已经添加完成了。

如果已经设置了端口映射但是外网还是访问不了内网的Web服务器,提供几个常见的原因及解决方案:

1先用内网IP地址访问,如果连内网IP地址都无法访问的话,那么可能是Web应用部署问题,调试至内网可成功访问。

2路由器上设置了防火墙,也许IP地址,也许端口都有可能被禁用,如有开启可先关闭。

3本地防火墙原因,因本地网络为信任区域,防火墙并不会阻止本地网络的访问,若访问源地址为外网地址(非信任区域地址),则可能会被防火墙拦截而无法访问。

4服务商将相应端口屏蔽:在路由器WAN口接一台电脑模拟内外网环境,若WAN口所接电脑可以正常访问内网服务器,但在Internet上无法访问,则可能是服务器将相应端口屏蔽导致虚拟服务器无法访问。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 路由器设置端口转发规则还是不能通过外网访问本地服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情