如何转发您的路由器上的端口

虽然现代路由器自动处理大多数功能,但某些应用程序将需要您手动转发端口到该应用程序或设备。 幸运的是,如果你知道在哪里看,它真的很简单。

什么是端口转发?

有很多我们已经涵盖的项目,将您的计算机用作其他设备的服务器。 当你在你的网络,大多数事情会工作正常。 但有些应用程序,如果你想访问他们,当你在网络外,使东西显得毛。 让我们先来看看为什么。

你的路由器如何处理请求和使用端口

这里是一个简单的家庭网络的地图。 云图标表示更大的互联网和您的公共或前向的Internet协议(IP)地址。 这个IP地址代表了你的整个家庭从ustode世界 - 就像一个街道地址,在某种程度上。

红色地址192.1.168.1是您网络中的路由器地址。 附加地址全部属于在图像底部看到的计算机。 如果您的公共IP地址像街道地址,请考虑内部IP地址,如街道地址的公寓号码。

map intranet fin-01

该图提出了一个有趣的问题,你可能以前没有想过。 来自互联网的所有信息如何到达网络内的正确设备? 如果你在笔记本电脑上访问howtoip.com,如果面向公众的IP地址对于所有设备是相同的,它是如何在你的笔记本电脑,而不是你的儿子的桌面上?

这是由于一个奇妙的路由魔术称为网络地址转换(NAT)。 此功能发生在路由器级别,其中NAT像交通警察一样行动,引导网络流量通过路由器的流量,以便可以在路由器后面的所有设备之间共享单个公共IP地址。 由于NAT,您家中的每个人都可以同时请求网站和其他互联网内容,它都将被交付到正确的设备。

那么,端口在哪里进入这个过程? 端口是从网络计算早期的一个旧但有用的延缓。 回到一天,当计算机一次只能运行一个应用程序时,您只需要将一台计算机连接到网络上的另一台计算机,以便连接它们,因为它们将运行相同的应用程序。 一旦计算机变得复杂,运行多个应用程序,早期计算机科学家不得不努力解决确保应用程序连接到正确的应用程序的问题。 因此,端口诞生了。

一些端口具有作为整个计算行业的标准的特定应用。 例如,当您获取网页时,它使用端口80.接收计算机的软件知道端口80用于提供http文档,因此它监听并响应。 如果您通过其他端口(例如143)发送http请求,网络服务器将无法识别它,因为它没有在那里监听(尽管可能有其他可能,例如传统上使用该端口的IMAP电子邮件服务器)。

其他端口没有预先分配的用途,你可以使用它们为任何你想要的。 为了避免干扰其他遵守标准的应用程序,最好在这些备用配置中使用更大的数字。 例如,Plex Media Server使用端口32400,而Minecraft服务器使用25565 - 这两个数字都属于这个“公平游戏”领域。

每个端口可以通过TCP或UDP使用。 TCP或传输控制协议是最常用的。 UDP或用户数据报协议,在家庭应用程序中使用较少,一个主要的例外是BitTorrent。 根据正在监听什么,它将期望在这些协议中的一个或另一个中做出请求。

为什么需要转发端口

那么为什么你需要转发端口? 虽然一些应用程序利用NAT设置自己的端口并为您处理所有配置,但仍有大量应用程序不支持,您需要在连接服务和应用程序时为您的路由器提供帮助。

在下面的图中,我们从一个简单的前提开始。 你在你的笔记本电脑在世界上的某个地方(IP地址为225.213.7.42),你想连接到你的家庭网络访问一些文件。 如果您只是将您的家庭IP地址(127.34.73.214)插入您使用的任何工具(例如FTP客户端或远程桌面应用程序),该工具不利用我们刚才提到的高级路由器功能,你失去了运气。 它不知道在哪里发送您的请求,什么也不会发生。

map internet qs-01

顺便说一句,这是一个伟大的安全特性。 如果有人连接到您的家庭网络,并且他们没有连接到有效的端口,您希望连接被拒绝。 这是路由器的防火墙元素做它的工作:拒绝不受欢迎的请求。 如果那个人敲你的虚拟的门,但是,是你,那么拒绝不是那么欢迎,我们需要做一点小调。

为了解决这个问题,你想告诉你的路由器“嘿:当我用这个程序访问你,你需要发送到这个设备在这个端口”。 根据这些说明,您的路由器将确保您可以访问您的家庭网络上正确的计算机和应用程序。

map internet check-01

所以在这个例子中,当你出去和使用你的笔记本电脑,你使用不同的端口来提出你的请求。 当您使用端口22访问您的家庭网络的IP地址时,您家中的路由器知道这应该到网络内的192.168.1.100。 然后,Linux安装上的SSH守护程序将响应。 同时,您可以通过端口80发出请求,您的路由器将发送到网络服务器192.168.1.150。 或者,您可以尝试通过VNC远程控制您姐妹的笔记本电脑,您的路由器将连接到您的笔记本电脑在192.168.1.200。 这样,您可以轻松连接到您已为其设置端口转发规则的所有设备。

端口转发的有用性不会结束那里! 您甚至可以使用端口转发来更改现有服务的端口号,以便清楚和方便。 例如,假设您有两个Web服务器在您的家庭网络上运行,并且您想要一个容易和明显地访问(例如,它是一个天气服务器,你希望人们能够轻松找到),另一个Web服务器是一个个人项目。

当您从公共端口80访问您的家庭网络时,您可以告诉您的路由器将它发送到天气服务器上的端口80在192.168.1.150,它将在端口80监听。但是,您可以告诉您的路由器当您通过端口10,000访问它时,应该转到您的个人服务器上的端口80,192.168.1.250。 这样,第二台计算机不必重新配置为使用不同的端口,但您仍然可以有效地管理流量,同时通过将第一个Web服务器链接到端口80,您可以更容易地访问您的上述天气服务器项目。

现在我们知道端口转发是什么,为什么我们可能想使用它,让我们在实际配置之前,先看一些关于端口转发的小注意事项。

配置路由器之前的注意事项

在坐下来配置您的路由器并提前运行它们之前,有一些事情要记住,以保证减少沮丧。

设置设备的静态IP地址

首先,如果您将其分配给具有由路由器的DHCP服务分配的动态IP地址的设备,您的所有端口转发规则将会崩溃。 我们深入了解DHCP在本文中有关DHCP与静态IP地址分配的详细信息 ,但我们将在此处提供快速摘要。

您的路由器有一个地址池,它预留只用于在设备加入和离开网络时分配给它们。 想想,就像得到一个数字在一个晚餐,当你到达 - 你的笔记本电脑加入,繁荣,它获得IP地址192.168.1.98。 你的iPhone加入,繁荣,它获得地址192.168.1.99。 如果你使这些设备离线一段时间或路由器重新启动,则整个IP地址彩票重新发生。

在正常情况下,这是比罚款。 你的iPhone不关心它的内部IP地址。 但是如果你创建了一个端口转发规则,说你的游戏服务器是在一个特定的IP地址,然后路由器给它一个新的,该规则将无法工作,没有人能够连接到你的游戏服务器。 为了避免这种情况,您需要为分配端口转发规则的每个网络设备分配一个静态IP地址。 最好的方法是通过您的路由器 - 查看本指南了解更多信息。

知道您的IP地址(并设置动态DNS地址)

除了为网络中的相关设备使用静态IP分配外,您还需要知道您的外部IP地址 - 您可以在家庭网络上访问whatismyip.com找到它。 虽然它可能有相同的公共IP地址几个月甚至一年,你的公共IP地址可以改变(除非你的互联网服务提供商明确给你一个静态面向公众的IP地址)。 换句话说,你不能依靠在你使用的任何远程工具中输入你的数字IP地址(你不能依靠给朋友的IP地址)。

现在,虽然你可以通过手动检查IP地址的麻烦,每次你离开家,并打算离开家工作(或每次你的朋友将连接到你的Minecraft服务器等),这是一个大头痛。 相反,我们强烈建议您设置动态DNS服务,它将允许您将(更改)家庭IP地址链接到一个难忘的地址,如mysuperawesomeshomeserver.dynu.net。 有关如何在家庭网络中设置动态DNS服务的更多信息,请查看我们的完整教程

注意本地防火墙

一旦在路由器级别设置端口转发,您可能需要调整计算机上的防火墙规则。 例如,我们已经收到了很多电子邮件多年来从沮丧的父母设置端口转发,所以他们的孩子可以与他们的朋友玩Minecraft。 在几乎每一种情况下,问题是,尽管在路由器上正确设置端口转发规则, 有人忽略了Windows防火墙请求 ,如果Java平台(运行Minecraft)可以访问更大的互联网是否可以。

请注意,在运行本地防火墙和/或包含防火墙保护的防病毒软件的计算机上,您可能需要确认您设置的连接是否正常。

第一步:在路由器上找到端口转发规则

被所有的网络课程耗尽? 不要担心,它终于有时间设置了 - 现在,你知道的基础,这很简单。

尽管我们希望为您的确切路由器提供准确的说明,现实是每个路由器制造商都有自己的软件,以及该软件的外观甚至可能在路由器型号之间变化。 而不是试图捕获每个变化,我们将突出几个给你一个想法菜单的外观,并鼓励你查找手动或在线帮助文​​件为您的特定路由器查找具体细节。

一般来说,你会寻找一个叫做“端口转发”的东西。 你可能需要查看不同的类别来找到它,但如果你的路由器是任何好处,它应该在那里。

为了比较,这里是什么端口转发菜单看起来像D-Link DIR-890L路由器:

这里是在运行流行的第三方DD-WRT固件的相同路由器上的端口转发菜单看起来像:

如您所见,两个视图之间的复杂性差异很大,即使在同一个硬件上。 此外,菜单中的位置完全不同。 因此,如果您使用手册或搜索查询查找设备的确切说明,这是最有用的。

找到菜单后,即可设置实际规则。

第二步:创建端口转发规则

在了解了所有关于端口转发,为您的家庭IP地址设置动态DNS和所有其他工作进入这里,创建实际规则的重要步骤 - 几乎是在公园里散步。 在路由器的端口转发菜单中,我们将创建两个新的端口转发规则:一个用于Subsonic音乐服务器,一个用于我们刚刚设置的新的Minecraft服务器。

尽管在不同路由器软件上的位置的差异,一般的输入是相同的。 几乎通用,您将命名端口转发规则。 最好只是简单地命名它的服务器或服务,然后附加它,如果需要为了清晰(例如“Webserver”或“Webserver天气”,如果有多个)。 还记得我们开始讨论的TCP / UDP协议吗? 您还需要指定TCP,UDP或两者。 有些人非常激进地找出确切的什么协议每个应用程序和服务使用,并完全匹配的东西为安全目的。 我们将是第一个承认我们在这方面懒惰,我们几乎总是只是选择“两个”来节省时间。

某些路由器固件(包括我们在上面的屏幕截图中使用的更高级的DD-WRT)将允许您指定一个“源”值,该值是您为了安全目的而限制端口转发的IP地址列表。 你可以使用这个功能,如果你愿意,但预先警告它引入了一个全新的主机的头痛,因为它假定远程用户(包括你当你离开家和朋友谁连接)有静态IP地址。

接下来,你需要放入外部端口。 这是将在路由器上打开并面向互联网的端口。 您可以在1到65353之间使用任何您想要的数字,但实际上大多数较低的数字由标准服务(如电子邮件和Web服务器)占用,并且许多较高的数字分配给相当普通的应用程序。 考虑到这一点,我们建议选择一个大于5000的数字,为了更加安全,使用Ctrl + F搜索这个长的TCP / UDP端口号列表,以确保您没有选择与您已经在使用的现有服务。

最后,输入设备的内部IP地址,设备上的端口,以及(如果适用)切换规则。 不要忘记保存设置。

第三步:测试您的端口转发规则

测试端口是否正常工作的最明显的方法是使用用于端口的例程进行连接(例如,您的朋友将他们的Minecraft客户端连接到您的家庭服务器),但是如果不离开,这不总是立即可用的解决方案从家里。

幸运的是,在YouGetSignal.com上有一个方便的小端口检查器。 我们可以测试看看我们的Minecraft服务器端口转发是否简单地通过让端口测试器尝试连接到它。 插入您的IP地址和端口号,然后单击“检查”。

您应该收到一条消息,如上所示,如“端口X在[您的IP]上打开”。 如果端口报告为关闭,请检查路由器上端口转发菜单中的设置以及测试仪中的IP和端口数据。


设置端口转发是一个麻烦,但只要您为目标设备分配静态IP地址并为您的家庭IP地址设置动态DNS服务器,这是一个任务,您只需要访问一次享受轻松自由访问您的网络在未来。

赞 (0)
分享到:更多 ()