Вот скрипт, который создаёт netns до посенения.
#!/bin/bash
BR=te0
COUNT=0
v6_gen () {
SUBNET=fd00:1::
DATA=$(cat /dev/urandom|head -c 512|xxd -p)
printf $SUBNET
printf $DATA|md5sum|sed 's/\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*/\1\2:\3\4:\5\6:\7\8/'
}
for a in $(seq 0 1000)
do
ADDR=$(v6_gen)
ip netns add test$COUNT
ip link add dev test${COUNT}0p0 type veth peer name test${COUNT}0p1
ip link set dev test${COUNT}0p1 netns test$COUNT
# tee 0|ip netns exec test$COUNT cat - >/proc/sys/net/ipv6/conf/all/disable_ipv6
# tee 0|ip netns exec test$COUNT cat - >/proc/sys/net/ipv6/default/all/disable_ipv6
ip -netns test$COUNT link set test${COUNT}0p1 up
ip -netns test$COUNT link set lo up
ip -netns test$COUNT link set test${COUNT}0p1 mtu 16384
ip -netns test$COUNT addr add ${ADDR}/64 dev test${COUNT}0p1
ip -netns test$COUNT route add ::/0 via fd00:1::1
ip link set dev test${COUNT}0p0 up
ip link set dev test${COUNT}0p0 mtu 16384
ip link set dev test${COUNT}0p0 master $BR
COUNT=$(echo ${COUNT}+1|bc)
done
Я обтаружил такой факт: если мость забить под завязку, то ipv6 почему-то перестаёт работать. Но, если создать очень много немспейсов, то могут начаться всякие странности (у меня перестал пинговаться ipv6 на loopback).
У меня странности начались именно тогда, когда я создал 6980 netns. Потом система начала очень сильно лагать.
debian, linux, ядро