我想从 private-IPv4-subnet-behind-NAT 切换到 IPv6,但当然我无意将我的用户的工作站“不受保护”地暴露在网络上。
一些明显的要点:
是否有推荐的防火墙设置指南来讨论此类设置的详细信息和经验?
现实世界中是否有任何 IPv6 客户端?如果没有,是否还有其他理由支持 IPv6?
(我的理解是,随着 WAN 的出现,这种 IPv6 不是必需的,因此如果有任何适应的话,这种情况非常低。这是正确的,还是在未来几年我们会看到 IPv6 的使用增加?)
我有一个干净的 Debian 7 安装,我在 /etc/ntp.conf 中手动输入了以下几行:
interface ignore wildcard
interface listen <local_nic_ip>
Run Code Online (Sandbox Code Playgroud)
希望NTP不再监听UDP6,但重启后,它仍然:
5:udp 0 0 <local_nic_ip>:123 0.0.0.0:* 9172/ntpd
6:udp 0 0 127.0.0.1:123 0.0.0.0:* 9172/ntpd
8:udp6 0 0 ::1:123 :::* 9172/ntpd
Run Code Online (Sandbox Code Playgroud)
NTP 的命令行没有显示任何异常:
/usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 121:130
Run Code Online (Sandbox Code Playgroud)
如何阻止 NTP 侦听该 UDP6 端口?
TCP 是有状态的,应该要求后续数据包到达同一服务器。(无状态)HTTP 在 TCP 之上运行,CDN 可以使用任播。
那么 TCP 是如何与任播一起工作的呢?如果 syn 和 ack 转到不同的服务器怎么办?我想我听说谷歌对此有一些解决方案,但我不确定。
如果有任何区别,请同时回答 IPv4 和 IPv6。
我的目标是为我的每个 docker 容器拥有一个可路由的公共 IPv6 地址。我希望能够使用 IPv6 协议连接进出我的容器。
我正在使用 Linode 并且我被分配了一个公共 IPv6 池:
2600:3c01:e000:00e2:: / 64 routed to 2600:3c01::f03c:91ff:feae:d7d7
Run Code Online (Sandbox Code Playgroud)
该“路由到”地址是由 dhcp 自动配置的:
# ip -6 addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2600:3c01::f03c:91ff:feae:d7d7/64 scope global mngtmpaddr dynamic
valid_lft 2591987sec preferred_lft 604787sec
inet6 fe80::f03c:91ff:feae:d7d7/64 scope link
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
我设置了 AAAA 记录,ipv6.daaku.org以便更轻松地使用:
# nslookup -q=AAAA ipv6.daaku.org
ipv6.daaku.org has AAAA address 2600:3c01:e000:e2::1
Run Code Online (Sandbox Code Playgroud)
为了测试,我手动分配了该地址:
# ip -6 addr add 2600:3c01:e000:00e2::1/64 dev eth0
# ip -6 addr show …Run Code Online (Sandbox Code Playgroud) 我们目前正在设置一些本地网络服务器以在完整的 ipv4 网络中运行。我可以肯定,这个网络没有 ipv6 支持,永远不会。
在那旁边,
我们需要以某种方式完全禁用 Linux 服务器内核上的 ipv6 支持。
是的,我可以在谷歌上搜索一些 sysctl 设置,但这还不够。例如,在默认设置中/etc/hosts,我也发现了一些 ipv6 记录。我不会让它在以后惹出什么麻烦。
究竟需要做什么才能从全新安装的 debian 中完全删除整个 ipv6 支持?最好的是清单/待办事项清单,但任何其他形式也可以。
我检查/etc了很多配置文件,但我不能确定我找到了所有东西。
有什么更好的想法吗?有没有“清单”,需要设置什么?
IPv4 分配一整块 IPv4 环回地址,127.0.0.0/8. 相比之下,IPv6 只分配一个环回地址,::1.
IPv6 在其环回地址分配方面如此吝啬,这似乎令人惊讶,因为总的来说它提供了地址空间的巨大增加。
在 IPv4 中,我发现能够使用多个环回地址很有用。例如,对于某些复杂的 DNS 设置,我可以安装两个本地 DNS 服务器,一个在 上127.0.0.1:53,另一个在127.0.1.1:53. (使用不同的 IP 地址引用不同的服务器要容易一些,而不是在单个 IP 地址上使用非标准端口号。)我不能在只有一个环回地址的 IPv6 上使用这种策略。
与 IPv4 不同,只为 IPv6 分配一个环回地址可能有什么好的理由?
我的网络中有以下配置:
ISP Router <- eth1 -> Mikrotik Router <- eth2-5 -> Internal network
Run Code Online (Sandbox Code Playgroud)
我的 ISP 路由器收到一个动态的 /64 IPV6 块,每当我重新启动它时都会发生变化。
问题是我内部网络中的设备没有收到 IPV6 地址,可能是因为 Mikrotik 中的 DHCP 服务器配置不正确。
我已经在 Mikrotik 中配置了 DHCP 客户端(IPV6 -> DHCP 客户端),我可以看到我的 ISP 分配的 /64 块。
但是我无法配置 DHCP 服务器。我尝试在“IPV6 -> DHCP 服务器 -> 添加新”中分配池,但我的设备仍然没有收到任何 IPV6 地址。
关于什么是错误的任何想法?我使用的是 6.33 版。
注意:如果我将设备直接连接到我的 ISP 路由器,则 IPV6 可以正常工作。
- - 编辑 - -
在迈克尔发表评论后,我取得了一些进展。我在 Mikrotik 中禁用了 DHCP 服务器,并在“IPV6 -> 地址”中添加了一个带有广告标志的新地址,并使用了 DHCP 客户端创建的池。
我内部网络中的所有设备都在接收 IPV6 地址并且可以互相 ping 通。不幸的是,我无法 ping 外部主机。
在 Mikrotik 中,只有在 …
我需要注册一些具有国家/地区代码域扩展名的域,但注意到这些 TLD 不正式支持 (A) IPv6 或 (B) DNSSEC...因此我应该会遇到哪些限制或陷阱?
(A) TLD 不支持 IPv6
我知道这意味着我将无法向域添加 AAAA 记录,但这对于其他支持 IPv6 的 DNS 服务器的可达性/兼容性/可见性意味着什么?
(B) 没有对 TLD 的 DNSSEC 支持
我知道 DNSSEC 在某种程度上对于验证 DNS 解析很重要,但不知道它的实施(或缺乏实施)是否/如何影响我作为应用程序开发人员在安全方面的影响。
注意:请原谅一个被宠坏的 LAMP、MEAN、前端和原生移动开发人员提出的这个潜在的基本问题,他们很少需要围绕上述问题做出网络架构决策。提前致谢!
现在Amazon 已将VPC 的IPv6支持扩展到其大部分全球区域,包括 eu-west-1,我正在尝试连接我的实例。不幸的是,我无法让路由工作。
我已按照迁移指南中的步骤操作,即将 IPv6 CIDR 关联到我们的 VPC,将其中的一部分分配给我们的“公共”子网,更新了 VPC 路由表以::/0通过 igw(互联网网关)发送,确保将路由表分配给公共子网,并从控制台将 IPv6 地址分配给一些新的 Ubuntu 16.04 实例。
然后,通过添加到网络设置并重新启动,我将 Ubuntu 配置为通过 DHCPv6 获取分配的地址,如此处所述iface eth0 inet6 dhcp。
当我重新启动实例时,启动需要几分钟的时间,但最终我可以登录并ip a s显示配置的 IPv4 和全局 IPv6 地址。
但是,v6 网络不起作用:
# ping6 www.google.com
connect: Network is unreachable
Run Code Online (Sandbox Code Playgroud)
路由表确实缺少默认路由:
# ip -6 route
2001:DB8:1234:1234:1234:1234:1234:1234 dev eth0 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256 mtu 9001
Run Code Online (Sandbox Code Playgroud)
手动添加默认的 v6 路由,通过 …