背景

  • LowEndTalk上的人最近发布了一个很棒的脚本,可以在Online.net的专用服务器上自动配置IPv6。
    由于我最近一直在使用他们的7欧特价作为一个Deluge盒子,我发现这是非常有用的。

脚本用法

  • 该脚本旨在在Online.net专用服务器上运行,它已经过测试:
Debian 7
Ubuntu 14.04
CentOS 7
Proxmox VE带OVZ(参见[问题#1][1])
  • 更新于2017.01.23
wget www.sonicboxes.com/scripts/online_net_ipv6_dhclient_Jan17.tar.gz
tar -xf online_net_ipv6_dhclient_Jan17.tar.gz
cd ipv6-dhclient-script
chmod 755 ipv6_dhclient_online_net.sh
./ipv6-dhclient-script.sh <interface> <address block> <subnet> <duid>

简单解释

./ipv6-dhclient-script.sh <网络接口名称> <IPv6地址> <IPv6前缀> <IPv6地址块的DUID值>
  • 重启 ipv6-dhclient 服务
shell> systemctl daemon-reload
shell> systemctl restart ipv6-dhclient

例子

  • 所有必需的信息可以在您的Online.net网络配置页面(console.online.net >>服务器>>网络配置)中找到。它应该是这样的:

ipv6

在这个例子中,我们将通过以下命令将子网2001:0bc7:5555:101::/64添加到我们的专用服务器中,
网络接口名称是 eth0,前缀是 64,00:04:01:07:c7:b8:2f:13:d5:a8是DUID(如图)

./ipv6-dhclient-script.sh eth0 2001:0bc7:5555:101:: 64 00:04:01:07:c7:b8:2f:13:d5:a8
  • 接下来我们要将一些地址从/64块添加到服务器中:
/sbin/ifconfig eth0 inet6 add 2001:0bc7:5555:101::1
/sbin/ifconfig eth0 inet6 add 2001:0bc7:5555:101::2
  • 您的服务器现在应该具有传出的IPv6连接,您应该能够从外部网络ping分配的地址,在本例中为2001:0bc7:5555:101::1

Centos7实例

【添加多个IPv6地址。以centos7为例】

  • 比如添加 2001:bc8:xxxx:xxxx::2、2001:bc8:xxxx:xxxx::3、2001:bc8:xxxx:xxxx:ffff:ffff:ffff:ffff 等等
shell> vi /etc/systemd/system/ipv6-dhclient.service
  • 在 ExecStart=/usr/sbin/ifconfig eth0 inet6 add {{原有的IPv6地址}}/56 下面添加新IPv6地址的增加命令。
ExecStart=/usr/sbin/ifconfig eth0 inet6 add 2001:bc8:xxxx:xxxx::2/56
ExecStart=/usr/sbin/ifconfig eth0 inet6 add 2001:bc8:xxxx:xxxx::3/56
ExecStart=/usr/sbin/ifconfig eth0 inet6 add 2001:bc8:xxxx:xxxx:ffff:ffff:ffff:ffff/56
  • 在 ExecStop=/usr/sbin/ifconfig eth0 inet6 del {{原有的IPv6地址}}/56 下面添加新IPv6地址的删除命令。
ExecStop=/usr/sbin/ifconfig eth0 inet6 del 2001:bc8:xxxx:xxxx::2/56
ExecStop=/usr/sbin/ifconfig eth0 inet6 del 2001:bc8:xxxx:xxxx::3/56
ExecStop=/usr/sbin/ifconfig eth0 inet6 del 2001:bc8:xxxx:xxxx:ffff:ffff:ffff:ffff/56

脚本来源:GithubLET讨论