sergio <ser...@outerface.net> пишет: > Хочу динамический IPv6 адрес. > > По этому поводу я написал "net.ipv6.conf.all.use_tempaddr=2" в > "/etc/sysctl.d/ipv6_use_tempaddr.conf", перезагрузился, и на интерфейсе > появился этот самый tempaddr. > > Но вдруг (видимо после обновления) он пропал. В > "/proc/sys/net/ipv6/conf/all/use_tempaddr" "2", а адреса нет. Тогда, я в > этот "/etc/sysctl.d/ipv6_use_tempaddr.conf" дописал > "net.ipv6.conf.default.use_tempaddr=2", перезагрузился, в > "/proc/sys/net/ipv6/conf/default/use_tempaddr" стало "2", но адрес не > появился. И только когда я написал "net.ipv6.conf.eth0.use_tempaddr=2" > адрес вернулся. > > 1. Почему так? И как сделать как было? > > 2. Кто-нибудь может внятно объяснить чем "all" отличается от "default"? > > Debian buster 4.19.0-6-amd64 & sid 5.2.0-3-amd64
«all» применяет настройки ко всем интерфейсам включая дефолтные, «default» применяет настройки к будущим интерфейсам, например в случае подключения usb-модема [1]. Думаю что у вас настройки сбиваются, потому что вы назвали файл /etc/sysctl.d/ipv6_use_tempaddr.conf, попробуйте назвать его например 20_ipv6_use_tempaddr.conf, дабы они выполнялись первыми и не перезаписывались настройками по умолчанию. Так хорошо делать для сервера, но если у вас ноутбук и вы подключаетесь к интернету в разных местах, то лучше не задавать настройки для всех интерфейсов автоматически. В целях безопасности, надежнее будет контролировать настройки каждого интерфейса в момент подключения и отключения. Мне удобнее делать это через ifup/ifdown. Например мой /etc/network/interfaces: iface dhcp inet dhcp pre-up /bin/ip link set $IFACE up post-down /bin/ip link set $IFACE down iface pump inet manual pre-up /bin/ip link set $IFACE up pre-up /bin/systemctl start coredns.service pre-up /bin/echo "nameserver 127.0.0.1" > /etc/resolv.conf up /sbin/pump -i $IFACE --no-dns --no-resolvconf --no-ntp down /sbin/pump -i $IFACE --release post-down /bin/systemctl stop coredns.service post-down /bin/ip link set $IFACE down iface pump inet6 auto privext 2 Здесь две секции, «dhcp» если вы вдруг окажетесь во внутренней сети компании и для доступа ко внутренним ресурсам нужно пользоваться тамошним dns, и ручной «pump» для всего остального типа кафе (с помощью pump получаю ip-адрес и шлюз, а dns шифрую через coredns). Обратите внимание на inet6, это и есть динамический ipv6. [1] https://unix.stackexchange.com/questions/130796/what-is-the-difference-between-all-and-default-in-kernel-setting -- Коротаев Руслан https://blog.kr.pp.ru