我正在尝试使路由器以这样的方式工作:连接到路由器的每个设备都收到自己独特的公共 IP 地址,这样任何计算机都可以使用直接 P2P 连接。我原本以为这是不可能的,直到我发现连接到学校 WiFi 的每个设备都收到自己的公共 IP,从 199.80.254.70 开始,到 199.83.254.70 结束,这意味着超过 3000 台设备可以收到自己独特的公共 IP 地址。对于 speedtest.net 上我学校的 ISP,它只显示“Palo Alto 联合学区”,从这一点判断,他们没有在任何主要的二级 ISP 注册。
我很确定 Xfinity 或 TWC 不可能做到这一点,但我想知道我的学校是如何做到的,以及我是否可以以某种方式做同样的事情。
答案1
问:他们如何获得那么多可公开路由的 IP?
您的学校可能拥有由其互联网服务提供商 (ISP) 分配的静态 IP 地址范围,因为学区是一个相当大的客户(可以肯定的是,其资金量比单户住宅大几个数量级)。请注意,您不能简单地更改路由器中的设置来启用其他 IP 地址;您必须专门拥有它们已分配由您的 ISP 提供给您。
由于 IPv4 空间有限,并且日益受限——请参阅IPv4 耗尽-- 最终用户是 IPv4 地址访问权限受限的首批“受害者”,因为(ISP 认为)大多数最终用户没有太多将“监听”服务暴露给公共互联网的用例。事实上,许多住宅 ISP 在其服务条款 (ToS) 中规定,您禁止通过家庭互联网连接托管任何 Web 或电子邮件服务器。
此 ToS 政策至少与以下事实相一致:您可能会被授予唯一分配给您家庭的极其有限数量的可公开路由 IPv4 地址,因为唯一因很少或没有唯一 IP 而被“阻止”的唯一实际用例是托管服务。
因此,许多家庭 ISP 将终端用户限制为 1 个甚至0每个家庭都有唯一的公共 IP 地址。“等等,0你可能会问?!”好吧,是的。感谢运营商级 NATISP 可以为多个客户分配一个公共 IPv4 地址。然后,您的路由器会为您设置一个局域网 (LAN),提供本地 IP 地址,从而提供二您的家用路由器设备和公共互联网之间的间接层。因此,您将拥有 LAN、CGN,最后是互联网。
没有一个与您名字对应的唯一 IPv4 地址的一个不幸缺点是,如果某个网站(例如 SuperUser 或 Wikipedia)决定屏蔽恰好拥有与您相同可公开路由 IPv4 地址的其他人(例如,由于该用户的不良行为或垃圾邮件)-你也会受到影响,因为网站无法区分 CGN 后面的不同主机。大型局域网也是如此,有时表现为大学校园中几个宿舍共用一个大管道。
你家里的互联网连接上可能有 CGN,也可能没有,这与我的回答无关。关键是,如果现在世界上有数百万人生活在 CGN 之下,因此没有任何唯一的可公开路由的 IPv4 地址,您从家庭 ISP 获得额外 IPv4 地址许可的可能性(至少,无需为此支付一大笔钱)相当低。这并不是说不可能,只是需要打个电话,而且可能会增加您的月费(这将根据您居住的地方和您的确切 ISP 而有很大差异)。
我的观察是,大型客户(例如企业、零售专用服务器托管公司等)获得了分配给他们的剩余 IPv4 地址的大部分份额。这是有道理的:在控制这些有限 IPv4 地址的人看来,学校想要托管网站(例如由技术倾向的孩子运营)的可能性要比家庭用户在家用计算机上设置 HTTP 服务器并将其公开到公共互联网上的需求大得多。对于专用托管提供商来说也是如此:几乎每一个专用服务器有一个非常具体需要主办一些公共互联网上的服务,因此对于大多数用例来说这几乎是一个硬性要求,否则您可能甚至没有服务器。因此,从专用服务器托管提供商那里以每月 1 美元的价格获得额外的 IPv4 地址并不罕见。
小心陷阱!
编辑:我写这部分内容时,错误地认为原帖作者所说的“P2P”是指“点对点文件共享”。实际上,他指的是点对点托管的 PC 游戏,这是完全不同的东西。无论如何,为了后人着想,我还是把这部分内容留在这里。
我要补充一点,“点对点”传输侵犯版权的内容可能会通过多种方式危及您对互联网连接的持续访问:
- 您的 ISP 可能会意识到您正在传输侵犯版权的内容,并因此降低您的连接速度;
- 您的 ISP 可能会注意到您发送的流量与平均值相比不成比例地高,从而导致您的速度变慢;
- 如果您的 ISP 能够明确确定内容的性质侵犯了版权法或商标法,他们可能会向您发送威胁通知(例如,康卡斯特公司就会这样做),如果您忽略这些通知,他们最终会断开您的服务;
- 您的 ISP 可能会认为您的点对点协议中的“监听”部分算作托管“服务”,并将其视为违反其服务条款,并威胁说如果您坚持下去,将断开您的服务。
因此,即使你做过获得一小部分 IPv4 公共可路由互联网地址(无论是静态分配还是动态分配),如果您的 ISP 被明确指定为“住宅”或“家庭”互联网解决方案,您可能会因自己的行为而面临一些法律麻烦。如果您升级到“商务级”服务(至少在美国是这样),您会遇到更少的障碍,但如果您打算这样做,您仍然必须处理传输侵犯版权法的内容的法律后果。
共享单个 IP
如果你不想支付更多的钱来托管你的游戏,你可以采用以下技术同时为相当多的游戏共享一个可公开路由的 IP:
假设(不幸的是,这可能并不适用于每个游戏)您可以以某种方式更改游戏期望使用的端口,并且您的路由器只分配有一个唯一的、可公开路由的 IP 地址,您可以执行以下操作:
对于需要共享“相同”端口号的每个游戏的每个单独“实例”,将游戏配置中的所有端口号更改为不同的端口。您可以从端口 1 到 65535 中选择任何端口,但我强烈建议您坚持使用这个范围1024 至 64000由于技术原因。当然,如果您确实愿意,您可以尝试该范围之外的端口,但 YMMV。
例如,将计算机“A”配置为监听端口 1234 和 5678,将计算机“B”配置为监听端口 2345 和 3456 后,进入路由器或调制解调器的端口转发设置,并告诉它将这些端口转发到您机器的本地 IP 地址。为此,我建议您为 LAN 上的每台计算机分配静态 LAN IP。只需选择子网内的任何 IP 地址即可。因此,如果它是 192.168.0.0/24(默认情况下,这是一个非常常见的子网),您可以选择从 192.168.0.2 到 192.168.0.254 中的任何地址,假设您的调制解调器/路由器位于 192.168.0.1。设置此设置的具体点击步骤将因您的确切设备品牌和型号而异,如果您有多层 NAT(例如调制解调器+路由器 NAT,以及后面的另一个路由器),则设置步骤将更加复杂。
当您在游戏中进行点对点对抗时,只需告诉对手您为游戏选择的端口号。
您可以对数千个同时进行的游戏实例重复这些步骤,所以这应该足够了(希望如此)。
IPv6
最后,谈谈 IPv6。不幸的是,原生 IPv6 仍然无法供许多人使用。我们希望能够大规模部署 IPv6,这样 IPv4 的重要性就会开始下降,最终变得无关紧要,因为大量人能够使用 IPv6 连接到服务(例如网站、电子邮件服务器、DNS 服务器等)。IPv6 拥有的地址比 IPv4 多得多,目前的计划是为每个住宅客户分配一个/64类地址空间,它为您提供18,446,744,073,709,551,616公共可路由 IP 地址。如果你家里的电脑和智能设备比这个还多,我就不知道该怎么告诉你了。;-))
答案2
为了从技术上为设备分配地址,首先必须让上游人员从技术上和法律上为您分配该地址。对于最终用户 DSL 连接等,几乎从未这样做过IPv4, 自从地址有一个珍贵的商品. 与您的 ISP 联系,看看他们是否愿意向您出售额外的 IP 地址,但不要抱有太多希望。
下一个替代方案是IPv6。如果您的 ISP 具有 IPv6 连接,那么他们很可能会为您的连接分配不仅一个 IPv6 地址,而且还分配一个整个子网我不知道如何广泛的 IPv6 支持ISP 的 IPv6 地址短缺问题严重,但我认为这在很大程度上取决于您所在的地理位置。据我所知,亚洲的 IPv6 基础设施比世界其他地区先进得多,原因很简单,亚洲的 IPv4 地址短缺问题更为严重。
但让我们假设最坏的情况,即您仍然只能使用一个 IPv4 地址。在这种情况下,我建议您尝试6to4。在该设置中,您将路由器配置为通过 IPv4 链路从 ISP 传输本地 IPv6 数据包。与您的 IPv4 地址关联的 IPv6 子网是2002:aabb:ccdd::/48
IPv4aabb:ccdd
地址的十六进制表示法。因此,此时您可以控制 2 个80个地址,并根据需要进行分配。我过去曾这样做过,至少对我来说,效果还不错。当然,您的路由器必须支持 6to4,如果它是您控制的 Linux 机器,这可能很容易,如果您必须修补一些嵌入式开源 Linux 固件,则更难,如果固件是闭源的,则不可能。有在 IPv4 内传输 IPv6 的其他方法,其中一些可能也会给你一个不错的地址范围,但我对它们都没有任何经验。
当然,如果您的 P2P 软件不支持 IPv6,或者您想要连接的对等点没有建立任何 IPv6 连接,那么所有这些不错的 IPv6 寻址都将毫无用处。这又将您带回到第一个选项,因为这是唯一的选择。如果您找不到向消费者出售额外地址的 ISP,您可能会开始觉得自己像个小企业。当然,对于那些附带多个地址的 ISP,确实有合同。有时还有其他好处,例如对称DSL这样你和同伴之间的传输就不会堵塞典型宽带接入连接。但要准备好付费很多这种合同的价格会更高,因为大多数小企业能够承担的价格高于消费者愿意支付的价格,所以市场价格就会是这样。
答案3
如果您桥接调制解调器,Twc 将执行此操作,大多数其他提供商只允许单个 IP 地址,无论您如何配置调制解调器,如果您有 dhcp 连接,您与其他提供商的唯一选择是为每个其他设备使用代理(可能无法满足您的需要)或更改为商务级服务并购买一块静态 IP 地址(可能很昂贵)
答案4
我认为为路由器的客户端分配私有IP或公有IP基本相同。
您设置一个 DHCP 守护程序,对其进行配置,然后就完成了。
重要的是,您必须拥有您分配的 IP,以便它们可以与 Internet 通信。