[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ipv6 use_tempaddr



sergio <sergio@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


Reply to: