如何使用ip addr add命令一次性添加多个指定IPv6地址?
如何使用ip addr add命令一次性添加多个指定IPv6地址?
刚好之前碰到过类似的需求,给你两个实用的解决方案,完美匹配你要添加指定IPv6地址、不用一个个手动敲、拒绝随机生成的要求:
方案1:直接用Shell循环在命令行执行
如果地址数量不算特别多,直接在终端里用bash的for循环就行,把所有你要加的地址列出来,循环会自动逐个执行添加命令:
for addr in 2b00:13d8:700d:b8cf:cd8:15da:3b72:c792/64 2b00:13d8:700d:30fb:c60:a08e:225a:7073/64 2b00:13d8:700d:30fb:c60:a08e:225a:8a23/64; do ip addr add "$addr" dev eth0 done
你只需要把20个地址都填到in后面的空格分隔列表里就行,完全都是你指定的地址,不会有随机生成的情况。
方案2:用文本文件批量管理地址(适合大量地址)
如果要加20个地址,用文本文件管理会更清晰,也方便后续修改:
- 先创建一个文本文件(比如叫
ipv6_addrs.txt),把每个IPv6地址/前缀单独写一行:
2b00:13d8:700d:b8cf:cd8:15da:3b72:c792/64 2b00:13d8:700d:30fb:c60:a08e:225a:7073/64 2b00:13d8:700d:30fb:c60:a08e:225a:8a23/64 # 这里继续添加剩下的17个地址,每行一个
- 然后用下面的命令批量读取文件里的地址并添加:
while read -r addr; do [ -n "$addr" ] && ip addr add "$addr" dev eth0 done < ipv6_addrs.txt
这个命令会自动跳过空行,只处理有效的地址行,非常省心。
额外提一句:ip addr add本身是不支持单条命令直接加多个地址的,所以必须借助Shell的循环能力来实现批量操作,这也是最常用的做法。
备注:内容来源于stack exchange,提问作者Conserta
相关产品推荐
相关产品推荐

