基于客户端主机名称的端口转发在路由器中的实现方法与流程

文档序号:12949125阅读:123来源:国知局
本发明涉及计算机网络
技术领域
:,特别是涉及基于客户端主机名称的端口转发在路由器中的实现方法。
背景技术
::目前物联网正在蓬勃发展,然而ipv6还没有普及应用。在我们国家,仍然是以ipv4为主,而ipv4协议中的ip公网地址并不能满足现在物联中设备的需求。为了解决这个问题,于是就用到了路由器,这基本上可以满足设备的上网需求,然而,如果要在一个局域网设备中建立服务器,在广域网和其他局域却不能直接访问,必须借助路由器的端口转发来实现。众所周知,现在路由器的端口转发规则都是基于客户端主机的ip地址进行端口转发。所以必须要获取客户端主机的ip地址,现有的局域网中的设备获取ip地址的方法有两种,一种是路由器dhcp动态分配,另一种是设置静态ip。1、如果是dhcp动态分配ip地址,那么设备每次重新启动之后的ip地址、dhcp租约期满之后重新获取ip可能都不一样。如果通过端口转发来访问其服务器,那么每次ip地址改变之后,网络管理员必须及时更新端口转发中的ip地址,才能正确访问此设备的服务器。显然此种方法不可靠,因为管理员不可能时刻关注设备ip地址变化,并且,也增加管理员的工作量。2、如果设置静态ip地址,静态ip地址设置好后,设备ip地址就固定了,所以不管怎样重启设备都可以正确通过端口转发到设备上。但是,如果路由器的网段发生变化之后,也必须重新设置设备的ip地址。如果忘记重新设置,那么设备的ip地址将可能与路由器不属于同一个网段,将不能转发。假如局域网中有许多设备,每个设备都需要端口转发,那么每个设备都需要一一重新设置ip地址,漏一个都不可以,这样设置非常繁琐,工作量大,费时费力。技术实现要素:本发明的目的是克服现有技术中的不足之处,提供一种基于客户端主机名称的端口转发在路由器中的实现方法,该方法管理员不用实时关注客户端设备ip地址的变化及其客户端设备名称的修改,可以有效地减轻网络管理者的工作量,该方法不用重新设置局域网中的多个设备的ip地址,降低了工作量,提高了工作效率。本发明的目的是通过以下技术方案来实现的:基于客户端主机名称的端口转发在路由器中的实现方法,包括以下步骤:s1、路由器建立后台服务器监视客户端设备列表信息的变化;s2、路由器根据客户端设备列表信息列出客户端设备名称供用户选择,并设置转发端口信息,将上述客户端设备名称对应的mac地址和转发端口信息发送给后台服务器;s3、后台服务器根据收到的客户端设备的mac地址查询其ip地址,建立端口转发列表并保存该客户端设备的mac地址、ip地址与转发端口信息;s4、根据端口转发列表中的ip地址与转发端口信息建立端口转发规则,从而实现数据信息的端口转发。作为进一步优选的方案,所述步骤s2包括以下步骤:s21、浏览器向路由器的http服务器请求“端口转发设置页面”;s22、http服务器将客户端设备列表信息嵌入到“端口转发设置页面”,并发送给浏览器;s23、浏览器提供选择界面供用户选择客户端设备名称和设置转发端口信息,然后,浏览器根据选择的客户端设备名称查询客户端设备的mac地址,将其mac地址与转发端口发送给http服务器;s24、http服务器将转发端口信息和mac地址发送给路由器的后台服务器。作为进一步优选的方案,所述步骤s23还包括以下步骤:s231、浏览器进入端口转发页面,选择客户端设备名称;s232、根据http服务器返回的客户端设备信息判断客户端设备数量是否唯一,若是,则执行步骤s234;否则,执行步骤s233;s233、弹出对话框,列出所选择的客户端设备名称对应的所有mac地址,选择具体发送至哪一个客户端设备后,执行步骤s235;s234、查询客户端设备名称对应的mac地址,执行步骤s235;s235、保持mac地址,并设置转发端口信息;s236、将mac地址和转发端口信息发送给http服务器。作为进一步优选的方案,所述转发端口信息包括:起始端口信息和终止端口信息。作为进一步优选的方案,所述客户端设备列表信息包括客户端设备名称、客户端设备mac地址、客户端设备ip地址。作为进一步优选的方案,所述端口转发列表中包括客户端设备mac地址、客户端设备ip地址、转发起始端口信息、转发终止端口信息。作为进一步优选的方案,所述步骤s4具体为:根据客户端设备ip地址、转发起始端口信息和转发终止端口信息,通过iptables命令来建立端口转发规则,从而实现数据信息的端口转发。作为进一步优选的方案,还包括后台服务器建立一个定时更新任务线程的步骤。作为进一步优选的方案,所述定时更新任务线程的步骤包括以下步骤:步骤a:预设第一时间阈值,查询客户端设备列表信息和端口转发列表信息;步骤b:判断客户端设备的同一个mac地址分别在客户端设备列表和端口转发列表对应的ip地址是否相同,若是,则执行步骤a;否则,执行步骤c;步骤c:将端口转发列表的ip地址更新为客户端设备列表中的ip地址;步骤d:通过iptables命令删除原来的端口转发规则,并建立新的端口转发规则;步骤e:添加更新ip地址后的转发端口信息,实现新的数据信息的端口转发。作为进一步优选的方案,所述第一时间阈值为0.5s~1.5s。本发明相比于现有技术的优点及有益效果如下:本发明为一种基于客户端主机名称的端口转发在路由器中的实现方法,该方法监视客户端设备列表信息的变化,包括设备增加和ip地址更新,并根据该设备列表信息建立端口转发规则,从而实现数据信息的端口转发,解决了在局域网中,传统端口转发在动态获取ip地址时候的缺陷,还可以有效地跟随客户端设备ip地址的更新转发。同时,根据客户端设备名称来实现端口转发的方式,简化了用于的操作,提高了端口转发的工作效率。附图说明图1为本发明的基于客户端主机名称的端口转发在路由器中的实现方法的流程图;图2为本发明实现方法步骤s2的流程图;图3为本发明实现方法步骤s23的流程图;图4为本发明后台服务器建立一个定时更新任务线程的步骤的流程图;图5为本发明的基于客户端主机名称的端口转发在路由器中的实现系统的原理图。具体实施方式为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域
:的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。实施例请参阅图1,本发明提供基于客户端主机名称的端口转发在路由器中的实现方法10,包括以下步骤:s1、路由器建立后台服务器监视客户端设备列表信息的变化;s2、路由器根据客户端设备列表信息列出客户端设备名称供用户选择,并设置转发端口信息,将上述客户端设备名称对应的mac地址和转发端口信息发送给后台服务器;s3、后台服务器根据收到的客户端设备的mac地址查询其ip地址,建立端口转发列表并保存该客户端设备的mac地址、ip地址与转发端口信息;s4、根据端口转发列表中的ip地址与转发端口信息建立端口转发规则,从而实现数据信息的端口转发。具体的,请参阅图2,路由器建立后台服务程序s监视客户端设备列表t1变化,其中客户端设备列表t1的变化包括设备增加,ip地址更新等变化。路由器设计ui界面供用户选择设置端口转发,并且发送数据给后台服务程序s。后台服务程序s收到数据后查询客户端设备列表t1,获取设备的ip地址。建立端口转发列表t2保存mac地址、ip地址、转发起始端口与转发终止端口,同时根据iptables命令建立端口转发规则。所述步骤s4具体为:根据客户端设备ip地址、转发起始端口信息和转发终止端口信息,通过iptables命令来建立端口转发规则,从而实现数据信息的端口转发。要说明的是,iptables是与最新的3.5版本linux内核集成的ip信息包过滤系统。如果linux系统连接到因特网或lan、服务器或连接lan和因特网的代理服务器,则该系统有利于在linux系统上更好地控制ip信息包过滤和防火墙配置。而在本发明中,iptables命令则是用来建立或删除端口转发规则。请参阅图2和图3。所述步骤s2包括以下步骤:s21、浏览器向http服务器请求“端口转发设置页面”。s22、http服务器将客户端设备列表信息嵌入到“端口转发设置页面”,并发送给浏览器。s23、浏览器根据客户端设备列表信息查询客户端设备的mac地址,设置转发端口信息并发送转发端口信息给http服务器;所述步骤s23还包括以下步骤:s231、浏览器进入端口转发页面,选择客户端设备名称;s232、根据http服务器返回的客户端设备信息判断客户端设备数量是否唯一,若是,则执行步骤s234;否则,执行步骤s233;s233、弹出对话框,列出所选择的客户端设备名称对应的所有mac地址,选择具体发送至哪一个客户端设备后,执行步骤s235;s234、查询客户端设备名称对应的mac地址,执行步骤s235;s235、保持mac地址,并设置转发端口信息;s236、将mac地址和转发端口信息发送给http服务器。s24、http服务器将转发端口信息和mac地址发送给路由器的后台服务器。请参阅图4。基于客户端主机名称的端口转发在路由器中的实现方法还包括后台服务器建立一个定时更新任务线程的步骤。所述定时更新任务线程的步骤包括以下步骤:步骤a:预设第一时间阈值,查询客户端设备列表信息和端口转发列表信息。要说明的是,所述第一时间阈值为0.5s~1.5s。优选的,第一时间阈值为1s。步骤b:判断客户端设备的同一个mac地址分别在客户端设备列表和端口转发列表对应的ip地址是否相同,若是,则执行步骤a;否则,执行步骤c。步骤c:将端口转发列表的ip地址更新为客户端设备列表中的ip地址。步骤d:通过iptables命令删除原来的端口转发规则,并建立新的端口转发规则。步骤e:添加更新ip地址后的转发端口信息,实现新的数据信息的端口转发。具体的,后台服务程序s定时关联查询一次端口转发列表t2中,mac地址对应的ip地址与客户端设备列表t1中相同的mac地址对应的ip地址是否一致,如果不一致,则表明客户端设备列表有更新,那么更新端口转发列表t2中其mac地址对应的ip地址与客户端设备列表t1中的一致,同时删除原来建立的端口转发规则,重新根据现在的ip地址添加端口转发规则,从而实现新的数据信息的端口转发。工作方式:请参阅图5,本发明是在路由器中,建立一个后台服务程序,用于监视其客户端设备列表的变化。当客户端设备加入该路由器的局域网内时,客户端设备列表会记录设备的名称、ip地址、mac地址等信息。那么,所建立的后台服务器程序就可以监视到这些信息。在浏览器向http服务器请求“端口转发设置页面”界面时,http服务器将客户端设备列表信息嵌入到端口转发的网页中,并将其返回给浏览器。浏览器就收到了网页和客户端设备列表的信息,从而可以将客户端设备名称列出供用户选择。当用户选择要转发的设备名称查出其mac地址,设置好转发起始端口与终止端口,最后将mac地址、转发起始端口与终止端口一并提交到http服务器,http服务器接收此数据之后,将其以消息的形式发给后台服务器,后台服务器接收到此消息之后,可以通过mac地址查找出客户端设备列表中对应的ip地址。此时,确定了需要转发客户端设备的mac地址、ip地址、转发起始端口信息与转发终止端口信息。iptables命令设置端口转发需要ip地址、转发起始端口与转发终止端口的信息,此时需要的信息都具备,所以调用iptables命令添加端口转发规则,从而实现端口转发,同时将mac地址、ip地址、转发起始端口信息与转发终止端口信息保存于端口转发列表中。后台服务器中创建一个定时任务线程,每隔1秒查询一次端口转发表中的mac地址与客户端设备列表中同一个mac对应的ip地址是否相同,如果不同表明客户端设备列表的ip地址已经更新,此时将设备列表中的ip地址更新到端口转发表。同时用iptable删除之前建立的转发规则,重新增加现在更新ip地址后的转发规则,从而实现客户端设备ip地址更新之后也能正确实现端口转发。本发明为一种基于客户端主机名称的端口转发在路由器中的实现方法,该方法监视客户端设备列表信息的变化,包括设备增加和ip地址更新,并根据该设备列表信息建立端口转发规则,从而实现数据信息的端口转发,解决了在局域网中,传统端口转发在动态获取ip地址时候的缺陷,还可以有效地跟随客户端设备ip地址的更新转发。同时,根据客户端设备名称来实现端口转发的方式,简化了用于的操作,提高了端口转发的工作效率。以上所述实施方式仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1