sysctl 设置 IPV6 的选项
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.eth0.accept_ra = 2
一键写入 sysctl 并生效
cat >> /etc/sysctl.conf << EOF
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.accept_ra = 2
EOF
sysctl -p
开启内网 IPV6
修改 /etc/docker/daemon.json
添加如下内容
- 请确保 JSON 格式的正确性。
fd00::/64
为内网 IP 类似于192.168.1.0/24
。"ip6tables": true
用于启用 IPv6 防火墙规则。"experimental": true
启用实验性功能。
{
"ipv6": true,
"fixed-cidr-v6": "fd00::/64",
"ip6tables": true,
"experimental": true
}
重启 Docker
systemctl daemon-reload
systemctl restart docker
检查 IPV6 配置
docker run -itd --name nginx -p 80:80 nginx
docker inspect nginx | grep -i "ipv6"
IPV6 配置结果
"GlobalIPv6Address": "fd00::242:ac11:2",
"GlobalIPv6PrefixLen": 64,
"IPv6Gateway": "fd00::1",
添加独立 IPV6
查看是否支持 IPV6 独立公网
::1/128
为回环地址,类似于127.0.0.1
。2401:b60:1:ffff::fccd:f8d5/48
为独立 IPv6 并为 48 位的段。fe80::216:3eff:fe8c:f2b5/64
为内网地址,类似于192.168.1.0/24
。
ip a | grep -i inet6
inet6 ::1/128 scope host
inet6 2401:b60:1:ffff::fccd:f8d5/48 scope global
inet6 fe80::216:3eff:fe8c:f2b5/64 scope link
已知有可用的IPV6切段为48位
-
进入网址https://www.site24x7.com/zhcn/tools/ipv6-subnetcalculator.html
-
如图所示,当前只有一个大段能使用我们要变成多个段分别给下去
-
下面所显示的就是一个网络可用划分出多少个子网,我们以/50举例
可用 IPV6 子网段 (示例 /50)
使用 IPv6 子网计算器 查看划分:
Subnet ID | Subnet Address | Host Address Range | Notation |
---|---|---|---|
1 | 2401:0b60:0001:: | 2401:b60:1:: – 2401:b60:1:3fff:: | 2401:b60:1::/50 |
2 | 2401:0b60:0001:4000:: | 2401:b60:1:4000:: – 2401:b60:1:7fff:: | 2401:b60:1:4000::/50 |
3 | 2401:0b60:0001:8000:: | 2401:b60:1:8000:: – 2401:b60:1:bfff:: | 2401:b60:1:8000::/50 |
4 | 2401:0b60:0001:c000:: | 2401:b60:1:c000:: – 2401:b60:1:ffff:: | 2401:b60:1:c000::/50 |
配置 NDP 转发 (/etc/sysctl.conf
)
- 替换
all
为网卡名,例如ens5
:sysctl net.ipv6.conf.ens5.proxy_ndp=1
开启公网 IPV6
修改 /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "2401:b60:1::/50",
"ip6tables": true,
"experimental": true
}
检查 IPV6 配置
docker run -itd --name nginx -p 80:80 nginx
docker inspect nginx | grep -i "ipv6"
配置结果
"GlobalIPv6Address": "2401:b60:1::5",
"GlobalIPv6PrefixLen": 50,
"IPv6Gateway": "2401:b60:1::1",
宣告邻居
ip -6 neigh add proxy 2401:b60:1::5 dev ens5
配置 ip6tables 映射
ip6tables -t nat -A PREROUTING -d 2401:b60:1:ffff::fccd:f8d5 -j NETMAP --to 2401:b60:1::5
Result
如有版权问题,请联系 邮箱进行删除。