如何配置DHCPV6客户端
我们将使用dhclient
。
您需要编辑以下文件/etc/dhcp/dhclient6.conf
:
interface "eth0" { send dhcp6.client-id DUID; }
你将不得不适应接口名称(eth0
)和DUID
,在控制台中提供。
在启动时启动您的DHCPv6客户端
客户端配置完成后,您需要创建一项新SystemD
服务。
创建以下文件,调整接口名称(eth0
)和DUID /etc/systemd/system/dhclient.service
:
[Unit] Description=dhclient for sending DUID IPv6 Wants=network.target Before=network.target [Service] Type=forking ExecStart=/usr/sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0 [Install] WantedBy=multi-user.target
dhclient
路径可能会因操作系统而异。要知道确切的路径,请使用以下命令:which dhclient
然后,为每次重新启动启用它:systemctl enable dhclient.service
。
在Ubuntu 16和Debian 8上配置网络
sudo
开始编辑/etc/network/interfaces
如下:
iface eno1 inet6 static address IPV6ADDRESS netmask PREFIXLEN
您需要eno1
用正确的接口名称进行替换。
使用Debian和旧版本的Ubuntu,通常是这样eth0
。
没有SystemD的备用配置
如果您不使用SystemD
开始您的服务,您可以配置/etc/network/interfaces
如下:
iface eno1 inet6 static pre-up modprobe ipv6 pre-up dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -d -v $IFACE address IPV6ADDRESS netmask PREFIXLEN
仍然根据需要调整接口名称(eno1
),以及IPv6地址和网络掩码。
在CentOS 7上配置网络
sudo
在配置后dhclient
和SystemD
,你需要编辑/etc/sysconfig/network-scripts/ifcfg-eth0
:
# Generated by parse-kickstart UUID=xxxxx DNS1=62.210.16.6 BOOTPROTO=none DEVICE=eth0 ONBOOT=yes TYPE=Ethernet IPADDR=62.210.xx.xx PREFIX=24 GATEWAY=62.210.xx.1 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6ADDR="IPV6ADDRESS/PREFIXLEN" IPV6_AUTOCONF=yes NAME="System eth0"
完成配置后,您可以重新启动服务器,检查服务和配置是否在启动时正确应用!
测试你的配置
dhclient
使用以下命令 启动:
dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0
要检查您的IPv6连接,您可以使用以下PING
命令:
ping6 ipv6.google.com
调试
如果配置不适合您,请使用以下命令检查您的接口名称:
ifconfig -a
此外,您的服务器需要配置为接受RA
(路由器通告)。
默认情况下,如果服务器自动配置(通过DHCPv6
),它将不接受将接口的数据包转发给另一个接口。
如果您需要转发IPv6数据包,并使用自动配置,你需要设置sysctl
net.ipv6.conf.all.accept_ra
到2
在/etc/sysctl.conf
。
对于Hypervisor主机来说,这通常很有用,例如Proxmox
。
给出的例子是eth0
/ eno1
,如果你的主界面有不同的名字,你需要在所有的配置文件中修改它。
您的客户的流量限制
在某些情况下,某些DHCPv6客户端可能不幸每秒发送几个请求(特别是dchp6c)。
这会通过我们的自动防护触发阻止您的服务器网络端口,因为它将被视为UDP洪水的来源。
为了避免这个问题,我们邀请您直接在您的防火墙配置中限制从您的dhclient6发送的流量。
以IPTABLES为例:
ip6tables -A OUTPUT -p udp -dport 547 -m limit --limit 10 / min --limit-burst 5 -j ACCEPT ip6tables -A OUTPUT -p udp --dport 547 -j DROP
在救援模式下
要在救援模式下测试服务器上的IPv6,请使用“Ubuntu 14 – Trusty”模式以救援模式重新启动服务器。在dhclient
已经可以在其上。
借助上述文档创建将包含您的DUID的文件。你可以在你的控制台找到你的DUID 。
nano /etc/dhcp/dhclient6.conf
首先,启动dhclient
:
dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v <interface>
之后,将IPv6地址添加到您的网络接口:
/ sbin / ifconfig <interface> inet6添加IPV6ADDRESS / PREFIXLENGH
然后你可以尝试ping6:
ping6 ipv6.google.com