Как настроить несколько адресов IPv6 с Dyndns в Xubuntu?

Как добавить дополнительные 5 адресов ipv6 в мой xubuntu и зарегистрировать их в dyndns?

Мой xubuntu 14.10 автоматически настроил адреса ipv4 и ipv6:

sam@minisrv1:~$ ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:470:**:***:94ef:b2f6:70bb:1674/64 scope global temporary dynamic
       valid_lft 600084sec preferred_lft 81084sec
    inet6 2001:470:**:***:222:4dff:fea1:389f/64 scope global mngtmpaddr dynamic
       valid_lft 4294096507sec preferred_lft 4294096507sec
    inet6 fe80::222:4dff:fea1:389f/64 scope link
   valid_lft forever preferred_lft forever

Отлично!!!

Теперь я хочу добавить дополнительные 5 адресов ipv6 и сделать их зарегистрированными с dyndns. Как правильно сделать это?

Я проверил /etc/network/interfaces а также /etc/NetworkManager/NetworkManager.conf файлы конфигурации, но они ничего не говорят о eth0:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

а также

[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=false

Папка /etc/NetworkManager/system-connections/ тоже пусто.

Также я попробовал инструменты GUI "Сетевые подключения" и "Редактирование проводного подключения 1". Но я не знаю, что написать Prefix, Gateway и другие поля. Все они приходят от роутера.

И, наконец, я понятия не имею, где поставить свои скрипты обновления dyndns

curl "http://dyn.dns.he.net/nic/update?hostname=***&password=***&myip=???" > /dev/null

Обновить:

Я нашел временное решение, благодаря этому

я создал /etc/NetworkManager/dispatcher.d/74-sam-ipv6.sh файл со следующим содержанием:

#!/bin/bash

IF=$1
STATUS=$2

if [ "$IF" == "eth0" ]
then
    case "$2" in
        up)
        logger -s "74-sam-ipv6.sh eth0 up"
        ip -6 addr add 2001:470:**:**::*0/64 dev eth0
        ip -6 addr add 2001:470:**:**::*1/64 dev eth0
        ip -6 addr add 2001:470:**:**::*2/64 dev eth0
        ip -6 addr add 2001:470:**:**::*3/64 dev eth0
        ip -6 addr add 2001:470:**:**::*4/64 dev eth0

        curl "http://dyn.dns.he.net/nic/update?hostname=a.***my-domain***.ru&password=***&myip=2001:470:**:***::*0" > /dev/null
        curl "http://dyn.dns.he.net/nic/update?hostname=b.***my-domain***.ru&password=***&myip=2001:470:**:***::*1" > /dev/null
        curl "http://dyn.dns.he.net/nic/update?hostname=c.***my-domain***.ru&password=***&myip=2001:470:**:***::*3" > /dev/null
        curl "http://dyn.dns.he.net/nic/update?hostname=d.***my-domain***.ru&password=***&myip=2001:470:**:***::*2" > /dev/null
        curl "http://dyn.dns.he.net/nic/update?hostname=e.***my-domain***.ru&password=***&myip=2001:470:**:***::*4" > /dev/null
        echo ok

        ;;
        down)
        logger -s "74-sam-ipv6.sh eth0 down"
        ip -6 addr del 2001:470:**:***::*0/64 dev eth0
        ip -6 addr del 2001:470:**:***::*1/64 dev eth0
        ip -6 addr del 2001:470:**:***::*2/64 dev eth0
        ip -6 addr del 2001:470:**:***::*3/64 dev eth0
        ip -6 addr del 2001:470:**:***::*4/64 dev eth0
        echo ok

        ;;
        pre-up)
        logger -s "74-sam-ipv6.sh"
        ;;
        post-down)
        logger -s "74-sam-ipv6.sh"
        ;;
        *)
        logger -s "74-sam-ipv6.sh ------unknown-commmand-------------------------------------> $2"
        ;;
    esac
fi

1 ответ

Я бы настроил свои адреса в /etc/network/interfaces как auto IPv6-устройство, а затем просто добавить некоторые up а также down Настройки. Это потому, что они являются статичными, и машина вряд ли изменит IPv6-адреса.

Я бы добавил это к /e/n/interfaces:

auto eth0
iface eth0 inet6 auto
    up ip -6 addr add 2001:470:**:**::*0/64 dev eth0
    up ip -6 addr add 2001:470:**:**::*1/64 dev eth0
    up ip -6 addr add 2001:470:**:**::*2/64 dev eth0
    up ip -6 addr add 2001:470:**:**::*3/64 dev eth0
    up ip -6 addr add 2001:470:**:**::*4/64 dev eth0
    post-up curl "http://dyn.dns.he.net/nic/update?hostname=a.***my-domain***.ru&password=***&myip=2001:470:**:***::*0" || true
    post-up curl "http://dyn.dns.he.net/nic/update?hostname=b.***my-domain***.ru&password=***&myip=2001:470:**:***::*1" || true
    post-up curl "http://dyn.dns.he.net/nic/update?hostname=c.***my-domain***.ru&password=***&myip=2001:470:**:***::*3" || true
    post-up curl "http://dyn.dns.he.net/nic/update?hostname=d.***my-domain***.ru&password=***&myip=2001:470:**:***::*2" || true
    post-up curl "http://dyn.dns.he.net/nic/update?hostname=e.***my-domain***.ru&password=***&myip=2001:470:**:***::*4" || true
    down ip -6 addr del 2001:470:**:**::*4/64 dev eth0
    down ip -6 addr del 2001:470:**:**::*3/64 dev eth0
    down ip -6 addr del 2001:470:**:**::*2/64 dev eth0
    down ip -6 addr del 2001:470:**:**::*1/64 dev eth0
    down ip -6 addr del 2001:470:**:**::*0/64 dev eth0
# eof

Смотрите страницу руководства для man 5 interfaces для дополнительной информации.

Я также заменил бы адрес IPv4 127.0.1.1 на мой реальный адрес IPv4 на eth0, И я бы скопировал эту строку и заменить 127.0.1.1 адрес с моим статическим адресом IPv6. Я мог бы также добавить имена для других адресов IPv6, что было бы полезно в файлах конфигурации.

Другие вопросы по тегам