我确定这是一个常见问题解答,但我找不到任何明确的答案。据我了解,IPv6 地址应该以 /64 块的形式分配。许多文章都警告不要使用更少的东西,这可能会破坏某些协议的期望。
这是否意味着在 IPv6 中 /64 块应被视为单个 IPv4 地址?
如果我继续在 /64 块内构建本地网络,有人可以给我一些实际问题的例子吗?
我确定这是一个常见问题解答,但我找不到任何明确的答案。据我了解,IPv6 地址应该以 /64 块的形式分配。许多文章都警告不要使用更少的东西,这可能会破坏某些协议的期望。
这是否意味着在 IPv6 中 /64 块应被视为单个 IPv4 地址?
如果我继续在 /64 块内构建本地网络,有人可以给我一些实际问题的例子吗?
我有一个服务器,其中一些 KVM 虚拟机使用 libvirt 和一个 brige 网络 (192.168.123.0/24) 运行。我正在尝试将一个端口从主机的公共 IP 转发到其中一个虚拟机(192.168.123.103)。从互联网访问时它可以正常工作,并且有一个附加规则它也可以在主机上工作,但我无法让它在虚拟网络内的机器上工作。
这是 iptables 配置的相关(我认为)部分:
# Generated by iptables-save v1.6.0 on Tue Sep 13 16:16:26 2016
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d x.x.x.x/32 -p tcp -m tcp --dport 7000 -j DNAT --to-destination 192.168.123.103
-A OUTPUT -d x.x.x.x/32 -o lo -p tcp -m tcp --dport 7000 -j DNAT --to-destination 192.168.123.103
-A POSTROUTING -s 192.168.123.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.123.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -j MASQUERADE
COMMIT
# Completed on Tue Sep 13 16:16:26 2016
# Generated by iptables-save v1.6.0 on Tue Sep 13 16:16:26 2016
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A FORWARD -i lo -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -d 192.168.123.103/32 -p tcp -m tcp --dport 7000 -j ACCEPT
-A FORWARD -s 192.168.123.0/24 -i virbr1 -j ACCEPT
-A FORWARD -i virbr1 -o virbr1 -j ACCEPT
COMMIT
# Completed on Tue Sep 13 16:16:26 2016
当从 192.168.123.0/24 网络中的另一台机器访问 192.168.123.103:7000 时,我看到一个从 192.168.123.36 到 xxxx 的 SYN 数据包,然后将目标替换为 192.168.123.103 的相同数据包,然后从 192.168 进行 SYN-ACK .123.103 到 192.168.123.36,然后从 192.168.123.36 到 192.168.123.103 重复 RST 数据包。
有谁知道如何使这项工作?
我现在看到的唯一解决方法是强制 VM 内的 DNS 指向私有 IP,但如果我可以将公共 DNS 保留在那里,我更愿意。