当然,我认识到需要在开放的互联网上使用IPv6,因为我们没有足够的地址,但是我真的不明白为什么有必要在内部networking上使用它。 我已经完成了与IPv6的零,所以我也想知道:现代防火墙不会在内部IPv4地址和外部IPv6地址之间进行NAT吗?
我只是想知道,因为我看到有很多人在这里遇到了IPv6问题,所以想知道为什么呢?
IPv6没有NAT(就像你想到NAT一样)。 NAT是一个$ EXPLETIVE临时解决IPv4地址不足的地址(这个问题实际上并不存在,在NAT需要之前解决,但是历史是20/20)。 它只增加了复杂性,除了导致IPv6头痛之外(我们有这么多的IPv6地址我们毫不掩饰地浪费掉了)。 NAT66确实存在,意在减less每个主机使用的IPv6地址数量(IPv6主机拥有多个地址是正常的,在许多方面,IPv6与IPv4有些不同,这是一个)。
互联网应该是端到端可路由的,这是IPv4发明的原因之一,为什么它被接受。 这并不是说在互联网上的所有地址都应该是可达的。 NAT破坏了两者。 防火墙通过破坏可达性来增加安全层,但通常这是以牺牲可路由性为代价的。
您需要在您的networking中使用IPv6,因为无法指定具有IPv4地址的IPv6端点。 另一种方法是有效的,这使得仅使用DNS64和NAT64的纯IPv6networking仍然可以访问IPv4 Internet。 现在确实有可能将IPv4全部放在一起,尽pipe设置它有点麻烦。 可以从IPv4内部地址代理到IPv6服务器。 添加和configuration代理服务器会向networking添加configuration,硬件和维护成本; 通常远不止简单地启用IPv6。
NAT也导致它自己的问题。 路由器必须能够协调通过它的每个连接,跟踪端点,端口,超时等等。 所有的交通通常都是通过这个单一的点。 虽然有可能构build冗余的NAT路由器,但是这项技术非常复杂且通常很昂贵。 冗余的简单路由器很容易和便宜(比较)。 而且,为了重新build立一些可路由性,必须在NAT系统上build立转发和转换规则。 这仍然会破坏embeddedIP地址的协议,如SIP。 UPNP,STUN和其他协议也被发明来帮助解决这个问题 – 更复杂,更多的维护,更多的可能出错 。
内部(rfc1918)ipv4地址用完也可能是一个非常有效的理由去ipv6。
康卡斯特在Nanog37解释他们为什么要去ipv6的pipe理地址。
20 Million video customer x 2.5 STB/customer x 2 ip addresses/STB -------------------- = 100 Millions IP addresses
这只是video ,而不是数据/调制解调器。
他们在2005年用尽了RFC1918池。然后他们使用了公有地址池(因为nat不是pipe理选项),并且去了ipv6来解决他们的需求 。
几个原因:
IPv6不支持广播。 它被多播取代。 广播使一个节点能够将stream量发送到子网上的所有节点。 广播域的pipe理是保持大型IPv4networking快速平稳运行的一个主要问题。 多播要求那些希望接收“广播”式节点的节点实际上“注册”它,这样networking就不会被占用所有主机的stream量所淹没。
IPv6本身支持IPsec风格的encryption。
IPv6支持自动configuration。 尽pipe您仍然需要DHCP服务器来发布DHCP选项,例如DNS服务器,TFTP服务器等,但路由器后面的主机可以自己进行configuration,而无需使用DHCP。
我在大学里的旧工作,会在内部使用IPv6分配。 当天他们被分配了一个IPv4 / 16,甚至在今天几乎将IPv4地址传递给几乎每个内部客户端。 RFC1918networking仅限于电信专用networking和某些专门用途(PCI标准需要RFC1918使用,直到2010年10月)。
正因为如此,他们也在积极计划在内部使用IPv6。 还有一些硬件问题还没有解决,边缘交换机不能很好地支持v6,但核心已经准备就绪。 这个想法是,在networking的公开可见的一端(好的,公共响应的端点)获得v6的支持将涉及70%的工作部署给每个人,不妨做额外的30%结束它。
长期以来,我们的公共知识产权configuration生活,我们的人民非常了解这句话:“只是因为它是公开的,并不意味着它是可以到达的。” 正如克里斯S所说,可路由不暗示可达。
这就是为什么至less有一类组织会在内部部署IPv6,因为他们已经在内部使用非RFC1918 IPv4。
IPv6确实提供了对IPv4的一些潜在的现实改进,例如更简单的自动configuration和自动发现机制,从恶意软件通过端口扫描IP范围跨networking进行复制变得不可行, – IP地址太多了。 但是这些改进不是特别显着,当然也不值得转换成本。
但是请注意,这不是一个或者两个决定,你可以并行运行,如果你开发软件,你可能应该像很多人所说的那样,为了testing的目的。 如果没有内部IPv6基础设施进行testing,没有可靠的方法来使程序兼容IPv6。 大多数现代操作系统将在它们之间自动build立一个内部的IPv6networking – 这只是一个使用它的问题。
10年前,我为雇主用户提供了一些软件来获取程序更新。 在构buildnetworking组件时,我不得不决定build立IPv6兼容性,还是假设所有的IP地址都是4个字节。 我决定采取简单的路线,节省大约4个小时的工作时间,并使应用程序仅限于IPv4。 无论如何,我认为这将在几年内被取代。 他们今天仍在使用它,因此被locking在一些小市场之外。
我们在这里谈两件事 – 在纯IPv6上运行内部networking或运行IPv4 / IPv6双栈。 我认为谈论运行纯IPv6还为时过早 – 在许多操作系统上,使用没有IPv4的IPv6甚至是不可能的。 但是,您可能会考虑运行双协议栈,原因如下:(a)如果您开发软件(b),以便使您的networking不可避免地迁移到IPv6。 如果你的情况是A,那么你现在应该采取行动,如果是B,那么估计你有大概1 – 2年的时间来思考(但是越早开始准备就越好)。
我的情况是A,现在我们正在运行双栈6个月。 在此期间,我们确定并解决了一些与我们的公共/私人DNS,地址分配,DHCP,路由,防火墙有关的问题,我们甚至无法预测许多这些问题。 现在,我们已经完全支持IPv6了,我们甚至可以通过隧道方式进行IPv6公共访问。 根据我的经验,我可以充满信心地说,与IPv4老化相比,IPv6是更简单更优雅的解决scheme,所以当时机转换到IPv6时,我将非常高兴,但在此之前,双栈是方式去。
除了更大的地址空间,没有广播,IPSec和更简单的自动configuration,IPv6还有一些“不为人知”的优势:
更大的地址空间意味着地址有更多的位可以用作数据存储。 例如,两个节点之间的跳数可以是它们的IPv6地址的函数,例如:
IPv6地址的格式可以是PREFIX:Country&Region:DC&Line:Rack&Unit:VM&ID
因此更近的节点将具有更多的最高有效位。 这只是一个例子,当然,“亲密度”指标可以存储在某种外部数据库中,如DNS TXT|SRV
logging。
有一些使用IPv6的地址空间用于encryption目的的技术,例如encryption生成地址( CGA )和SEND (SEVER邻居发现)
当启用IPv6时,networking中的所有节点都具有链路本地IPv6地址(如果没有其他configuration)。 所以有可能你甚至可以访问错误configuration的节点。
您可以直接从链路本地IPv6地址获得节点的MAC地址(如果未configurationIPv6隐私扩展 )
您无法在具有数千个节点的子网中使用IPv4 – 您的networking将因广播stream量(例如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的原因。
对于像我们这样的公司来说,做出改变是没有意义的,因为这需要付出相当大的代价和努力,完全没有什么可以从中获益的。
坦率地说,我喜欢NAT以及从处理本地地址中获得的好处。 如果我们在互联网上与IPv6进行交互,那么它就变得有必要 (而不是一个极客们想做的事情),我们将在网关上这样做。
我不希望目前的IPv6时尚成为全球绝大多数国家,至less在内部,十年或更长时间的必需品。 因为我希望退休的时候,我个人没有太多的动力浪费时间和精力。
编辑:
我得到了低估,但没有一个合理的,合理的反对意见。 让我觉得这只是一群追赶潮stream而不去思考的追赶潮stream的极客。 对networking做出这么大的改变是有原因的,我没有。 此外,我强烈怀疑只有很less的SF用户有一个。
我可以考虑使用IPv6作为内部主机的两个原因。
您将来可能会发现,此主机现在至less需要在某些端口上进行外部访问。
您可能会发现该主机需要连接到另一个也select了相同内部地址的主机。 例如,你需要连接到Acme公司的10.0.0.5,你自己在Emca公司的地址也是10.0.0.5。 我记得在之前的工作中发生过这种情况,我们都使用了相同的内部地址。
我想说,在现代世界,大多数电脑并不是100%的内部。 大多数桌面可以与外界进行有限的连接,反之亦然。
在内部使用IPv6的唯一好的理由是在世界切换到IPv6时做好准备,考虑到采用的速度,我认为这是一个非常糟糕的原因。 由于大多数内部IP不可从外部访问,因此翻译其余内容并不是什么大问题。
我的公司可能永远不会切换到IPv6内部。 这将需要政策的根本转变如此之大,我不能诚实地想象它会如何发生。 很多人不得不被杀,而且还有很多不可思议的招聘select。 同样,个别业务部门在局域网上切换到IPv6的任何尝试都将受到基于互操作性和可维护性担忧的企业networking霸主的偏见(我们在本地允许很多余地,但是没有那么多)。
基本上,如果切换到IPv6是痛苦的,那么我们在几年前就已经完成了。
IPv4旨在使每个设备都直接在互联网上……直到我们用完了地址空间。 然后,我们花了20年的时间locking下来。 现在,IPv6devise想要再次将每个设备直接放在Internet上,结果将是一样的。 我完全同意,NAT是一个安全层,如果没有一个同样有效的,或者更好的替代,这个安全层是不会被抛弃的。
不幸的是,绝大多数这些答案和评论中都有很多不良信息。 看到盲人以这种多产的方式引导盲人,真是太可悲了。
NAT并没有去任何地方,人们告诉你“哦,那个NAT,这是多么可怕的事情……”“哦,NAT,这只是一个解决方法”…广告nasueum如果他们开始使用语言那就转到一个真正的专业networkingbuild筑师那里去寻求build议,而不是周末的networking联盟的战士。
您是否需要将stream量负载平衡到来自Internet的内部服务器? 那么猜猜看是什么,用IPv6你不能这样做,除非你使用NAT!
是的,它是真实的。 有人会说,哦,你只是使用DSR /直接服务器返回负载平衡。 但他们忘了告诉你,你必须放弃1)Cookie插入2)应用加速3)端口地址转换
所以如果你想在8080端口上运行你的内部服务器,而在80端口上运行你的外部服务器……哦,太难过了,没有办法用IPv6 ……除非你使用好的NAT NAT! 甚至没有DSR。
然后加上那个人们说的“自夸”哦,是所有的IPv6 NAT提议都失败了……谢天谢地(而帝国就这样死于掌声)你知道这是什么意思吗? 如果IPv6甚至完全依靠IPv6工作,那么NAT将会变得非常糟糕,因为所有的IPv6狂热者都在否认对NAT / PAT的需求,并且做这件事情的人们不情愿地这样做。 如此悲伤,如此糟糕的pipe理
那么你现在怎么做,真相已经让你自由了,你可以超越一群旅行者试图用恐吓手段来强迫你遵守规定?
您购买或继续使用负载均衡器或防火墙,充当您的networking的公共/私有媒体。 公共端接口托pipe你已经拥有的相同的VIP,但是如果你需要的话可以使用恭维的IPv6地址。 Loadbalancer / Firewall层以北的所有东西也是双栈IPv4 / IPv6。 在负载均衡器/防火墙的内部接口上,它们都是IPv4,而您的整个内部networking都是IPv4,只要您喜欢,它就会保持这种状态。 这只是你的事。 负载平衡器在外部和内部之间进行NAT / PAT …因为它已经和需要全function的负载平衡,因为现在它也解决了您的外部IPv6问题。
噢,对于那个问道“NAT服务有什么单一安全目的”的讽刺人士,
安全是关于最基本的可用性。 想想,在你解雇之前。
负载平衡器提供可用性/安全性,无论您使用的是哪个IP版本,您都必须正确使用NAT / PAT。
引用DSR失败: https : //devcentral.f5.com/articles/the-disadvantages-of-dsr-direct-server-return
k thnx
在内部networking上使用IPv6并不是一个好主意,因为许多传统设备将无法通信。 旧复印机/多function打印机,医疗设备,旧印刷机,旧服务器和networking设备。 IPv4scheme更容易pipe理imo。
接受的答案是误导
Chris S关于NAT的概念是错误的; 除了IPv4模式的人为扩展之外,NAT的最佳特性之一就是安全性。 NAT是隐藏主机的真实IP的层,如果直接连接到互联网可以成为所有可以想象的攻击的目标。 高兴地谈到在不鼓励额外的安全措施的情况下摆脱NAT就是对这个话题的无知。