Answers:
没有用于IPv6的NAT(无论如何,您都会想到NAT)。NAT是IPv4耗尽地址的$ EXPLETIVE临时解决方案(这个问题实际上并不存在,并且在需要NAT之前已得到解决,但是历史是20/20)。它只会增加复杂性,只会增加IPv6的麻烦(我们有太多的IPv6地址,我们毫不掩饰地浪费了它们)。NAT66确实存在,并且旨在减少每个主机使用的IPv6地址的数量(IPv6主机具有多个地址是正常的,IPv6在许多方面与IPv4有所不同,这是一个)。
互联网被认为是端到端可路由的,这是发明IPv4的原因之一,也是它得到认可的原因。这并不是说Internet上的所有地址都应该可以访问。NAT都打破了。防火墙通过破坏可达性来增加安全性,但是通常以牺牲可路由性为代价。
您将需要网络中的IPv6,因为无法用IPv4地址指定IPv6端点。另一种方法确实可行,这使使用DNS64和NAT64的仅IPv6网络仍可以访问IPv4 Internet。尽管设置起来有些麻烦,但实际上实际上今天可以抛弃IPv4。可以从IPv4内部地址代理到IPv6服务器。添加和配置代理服务器会增加网络的配置,硬件和维护成本。通常不仅仅是简单地启用IPv6。
NAT也引起它自己的问题。路由器必须能够协调通过它运行的每个连接,并跟踪端点,端口,超时等。通常,所有流量都是通过该单个点进行的。尽管可以构建冗余的NAT路由器,但该技术非常复杂且通常很昂贵。冗余简单路由器既简单又便宜(相对)。另外,要重新建立某些可路由性,必须在NAT系统上建立转发和转换规则。这仍然会破坏嵌入IP地址的协议,例如SIP。发明了UPNP,STUN和其他协议也可以帮助解决此问题-更加复杂,需要更多维护,更多可能出错的地方。
耗尽内部(rfc1918)ipv4地址也可能是使用ipv6的非常有效的理由。
康卡斯特在Nanog37上解释了为什么要使用ipv6作为其管理地址。
20 Million video customer
x 2.5 STB/customer
x 2 ip addresses/STB
--------------------
= 100 Millions IP addresses
而这仅仅是视频,而不是数据/调制解调器。
他们在2005年用尽了RFC1918池。然后他们使用了公共地址池(因为nat并不是管理的选择),并使用ipv6来解决他们的需求。
几个原因:
IPv6不支持广播。替换为多播。广播使一个节点可以将流量发送到子网上的所有节点。广播域的管理是保持大型IPv4网络快速,平稳运行的主要问题。多播要求要接收“广播”样式的节点实际上为此“注册”,因此网络不会被命中所有主机的流量所淹没。
IPv6本机支持IPsec样式加密。
IPv6支持自动配置。尽管您仍需要DHCP服务器来分发DHCP选项(例如DNS服务器,TFTP服务器等),但路由器后面的主机也可以不需要DHCP进行配置。
我在大型大学的旧工作是在内部使用IPv6分配。他们在一天中被分配了IPv4 / 16,直到今天,IPv4地址仍被分发给几乎每个内部客户端。RFC1918网络仅限于电信网络和某些特定用途(PCI标准要求在2010年10月之前使用RFC1918)。
因此,他们也积极计划在内部使用IPv6。还有一些硬件问题尚待解决,边缘交换机对v6的支持不够好,但核心已经准备就绪。想法是,在网络的公共可见端(好的,公共响应端)获得v6支持将涉及70%的工作以将其部署到每个人,也可能需要额外的30%并最终实现。以它结束。
与公共IP分配一起生活了这么长时间,我们的人们非常清楚这句话:“仅仅因为它是公共的,并不意味着它是可以实现的。” 正如Chris S所说,可路由并不意味着可路由。
这就是为什么至少一类组织会在内部部署IPv6的原因:因为他们已经在内部使用非RFC1918 IPv4。
IPv6确实提供了对IPv4的一些潜在的现实改进,例如更简单的自动配置和自动发现机制,从通过端口扫描IP范围跨网络复制恶意软件变得不可行的意义上来说,它也更安全- -IP太多。但是这些改进并不是特别引人注目,并且当然不值得转换成本。
但是请注意,这不是一个非此即彼/或决定,你既可以并行运行,如果你开发的软件,你应该,因为很多人都提到,用于测试目的。如果没有内部IPv6基础架构进行测试,就没有可靠的方法来使程序兼容IPv6。大多数现代OS会在它们之间自动建立内部IPv6网络-只需使用它即可。
10年前,我为供雇主客户使用以获取程序更新的软件构建了一些软件。在构建网络组件时,我必须决定是在构建IPv6兼容性还是在假设所有IP地址均为4字节之间进行选择。我决定采用简单的方法,为自己节省了大约4个小时的工作,并且使该应用程序仅使用IPv4。我认为无论如何,它将在几年内被替换。他们今天仍在使用它,因此被排除在一些较小的市场之外。
在一家小型公司工作,我只能想到不使用IPv6的原因。
像我们这样的公司进行更改只是没有意义,因为这将花费大量的成本和精力,而绝对没有任何收益。
坦率地说,我喜欢NAT以及从处理本地地址中获得的收益。如果对我们来说有必要(相对于成为一个怪胎)与Internet上的IPv6交互,我们将在网关上进行。
我不希望当前的IPv6风潮成为世界绝大多数地区(至少在内部)至少十年或更长时间的必需品。正如我期望届时退休一样,我个人没有太多动力来浪费时间和精力。
编辑:
我的看法不尽人意,但没有一个合乎逻辑和明智的反对观点。让我觉得这只是一群随波逐流的极客,他们想随波逐流而不必考虑它。必须有一个原因才能对网络进行如此大的更改,而我却没有。此外,我强烈怀疑只有极少数的SF用户确实拥有一个。
我们在这里谈论两件事-在纯IPv6上运行内部网络或在IPv4 / IPv6双协议栈上运行。我认为谈论运行纯IPv6为时尚早,在许多操作系统上,如果没有IPv4,使用IPv6甚至是不可能的。但是,出于以下原因(a),如果您开发软件(b)以便为不可避免的向IPv6的迁移做好准备,则可以考虑运行双堆栈。如果您的情况是A,那么您应该立即采取行动,如果您的情况是B,那么根据我的估计,您大约有1-2年的时间来考虑它(但是,越早开始,您就会越有准备)。
我的情况是A,现在我们正在运行双堆栈6个月。在这段时间里,我们发现并解决了公共/私有DNS,地址分配,DHCP,路由,防火墙等一些问题,如果没有尝试,我们甚至无法预料到其中许多问题。现在,我们已经完全支持IPv6,甚至可以通过隧道进行IPv6公共访问。根据我的经验,我可以自信地说IPv6比老化的IPv4更简单,更优雅的解决方案,因此,当需要切换到IPv6时,我会感到非常高兴,但在此之前,双栈是最有效的方法去。
除了更大的地址空间,广播的缺失,IPSec和更简单的自动配置之外,IPv6还具有一些“尚不为人所知”的优点:
地址空间越大,意味着地址具有更多可用作数据存储的位。例如,两个节点之间的跳数可以是它们的IPv6地址的函数,例如:
IPv6地址可以采用格式,PREFIX:Country&Region:DC&Line:Rack&Unit:VM&ID
因此更近的节点将具有更多的最高有效位相同。这仅是示例,当然“亲密性”度量标准可以存储在某种外部数据库(例如DNS TXT|SRV
记录)中。
启用IPv6时,网络中的所有节点都具有本地链接的IPv6地址(如果未另行配置)。因此,您甚至有可能访问错误配置的节点。
您可以直接从本地链接的IPv6地址获取节点的MAC地址(如果未配置IPv6隐私扩展)
您无法在具有数千个节点的子网中使用IPv4-网络将因广播流量(例如ARP)而超载。
您可以使用节点信息查询节点以获取其他信息,例如,在BSD中,您可以查询主机以获取ICMPv6节点信息节点地址:
$ ping6 -a Aacgsl ::1
PING6(72=40+8+24 bytes) ::1 --> ::1
136 bytes from ::1:
fe80::beae:c5ff:fe43:44a(TTL=infty)
fe80::beae:c5ff:fe43:212(TTL=infty)
::1(TTL=infty)
fe80::1(TTL=infty)
2a02::9222(TTL=infty)
内部采用IPv6的唯一好的理由是当世界切换到IPv6时做好准备,考虑到采用率,这是一个非常糟糕的理由。由于大多数内部IP都无法从外部访问,因此转换其余IP无关紧要。
我的公司可能永远不会在内部切换到IPv6。这将需要从根本上改变政策,以至于我无法诚实地设想出它如何实现。很多人将不得不被杀,并且许多莫名其妙的雇用选择将不得不做出。同样,由于互操作性和可维护性方面的考虑,公司业务网络霸主将对单个业务部门在其LAN上切换到IPv6的任何尝试予以制止(我们在本地留有很多回旋余地,但没有那么多。)
基本上,如果切换到IPv6很轻松,我们早在几年前就已经做到了。
IPv4旨在使每个设备都可以直接在Internet上...直到我们用完地址空间为止。然后,我们花了近20年的时间将其全部锁定。现在,IPv6设计要再次将每个设备直接放置在Internet上……结果将是相同的。我完全同意,NAT是一层安全性,如果没有同等有效或更佳的替代方法,它将不会被放弃。
不幸的是,这些答案和评论中的绝大多数都有很多不良信息。它是如此的难过,看到领导在这个盲人瞎子在这样一个多产的方式。
NAT不会无处不在,人们会告诉您“哦,NAT,这真是一件可怕的事” ...“哦,NAT,这不过是一种解决方法” ... nasueum如果他们开始使用诸如那,请向真正的专业网络架构师寻求建议,而不是周末的网络扶手椅战士。
您是否需要平衡从Internet到内部服务器的流量负载?好吧,猜想是什么,使用IPv6不能像以前那样做。...除非使用NAT!
是的,它是真的。有人会说,哦,您只是使用DSR / Direct服务器返回负载平衡。但是他们忘了告诉您,您必须放弃1)Cookie插入2)应用程序加速3)端口地址转换
因此,如果要在端口8080上运行内部服务器,但要在端口80上运行内部服务器...哦,很遗憾,IPv6不能做...。除非您使用的是ole NAT好!甚至没有DSR。
然后再加上“吹牛”,人们说“哦,是的,所有IPv6 NAT提议都失败了……感谢天哪”(帝国死于掌声),您知道那是什么意思吗?如果NAT甚至根本不能与IPv6一起使用,那么NAT将是可怕的,因为所有IPv6狂热者本质上都否认对NAT / PAT的需求,而这样做的人们却很不情愿地这样做。好伤心,管理不善
那么,既然事实使您自由了,那么您现在该怎么办,而您又可以超越旅鼠的束缚,尝试使用恐吓手段来强迫您遵守法规?
您购买或继续使用充当网络公共/私有主机的负载均衡器或防火墙。公共端接口托管与您已经拥有的VIP相同的VIP,但如果需要,可提供一个补充的IPv6地址。在Loadbalancer / Firewall层以北的所有内容都是双堆栈IPv4 / IPv6。在Loadbalancer / Firewall的内部接口上,它们都是IPv4,整个内部网络都是IPv4,只要您愿意,它就一直保持这种状态。这只是你的事。Loadbalancer在外部和内部之间进行NAT / PAT ...因为它已经存在并且需要进行全功能的负载平衡,并且因为现在它还解决了外部IPv6问题。
噢,还有一个讽刺的人问:“ NAT有什么单一的安全目的?”
安全是最基本的可用性。在解雇它之前,请考虑一下。
负载平衡器提供了可用性/安全性,无论您使用的IP版本如何,您都必须使用NAT / PAT来正确执行此操作。
关于DSR的引用失败:https : //devcentral.f5.com/articles/the-disadvantages-of-dsr-direct-server-return
th
公认的答案是误导的
克里斯S关于NAT的概念是错误的。除了人为地扩展IPv4模式之外,NAT的最佳功能之一就是安全性。NAT是隐藏主机真实IP的层,如果直接连接到Internet,则可能是所有可能的攻击的目标。兴高采烈地谈论摆脱NAT而又不鼓励采取额外的安全措施只是对这个话题的无知。