我有 /64 子网 ipv6 地址。我的目的是将它们用作 cURL 的不同传出 ip 地址。
当我将以下行添加到“/etc/network/interfaces”时,它就像魔法一样工作,但是当文件像 eth0:65000 一样增加时,服务器就会崩溃,我无法再从 ssh 连接它。
auto eth0:1
iface eth0:1 inet6 static
address 2001:db8:5555:6666:0000:0000:0000:0000
netmask 64
gateway 2001:db8:5555:6666:0000:0000:0000:0000
autoconf 0
dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 8.8.8.8
post-up ip -6 addr add 2001:db8:5555:6666:0000:0000:0000:0000/64 dev
有没有办法将每个 ipv6 地址用作传出 ip 地址?
如果它有助于 sysctl.conf 文件内容
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.eth0.accept_ra = 0
net.core.somaxconn = 4096
谢谢。
答案1
您可以在 curl 上使用参数 --interface 来使用特定的接口 IP。
将您需要使用的每个 IP 配置为 eth0 的子接口,并使用 --interface 参数调用 curl。如果您需要使用所有配置的 IP,请使用一段时间。