如何在 xubuntu 中使用 dyndns 设置多个 ipv6 地址?

如何在 xubuntu 中使用 dyndns 设置多个 ipv6 地址?

如何向我的 xubuntu 添加额外的 5 个 ipv6 地址并使用 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”。但我不知道该向 和 其他字段写入什么PrefixGateway它们都来自路由器。

最后,我不知道该把我的 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/interfacesautoIPv6 设备,然后只需添加一些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 地址添加名称,这在配置文件中很有用。

相关内容