百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

IPv6地址获取方式及对应的CentOS服务器搭建

nanshan 2024-10-12 05:39 53 浏览 0 评论

IPv6终端地址获取的方法有四种:

  • 静态地址配置: 与IPv4一样,指定终端的IPv6地址,掩码(prefix)和网关地址等
  • 无状态自动地址配置(SLAAC): 终端上线后发起RS(Router Solicitation), 链路内(与IPv4子网概念相同)的路由器收到请求后发送RA(Router Advertisements)给终端,使其能自动配置地址。
  • DHCPv6地址分配:只用DHCPv6 Server进行地址分配
  • 自动分配与DHCPv6结合:同时使自动地址配置和DHCPv6地址分配

终端地址获取配置方式依赖于RA报文中的Flags标记位置位情况来定


IPv6用户上线过程解析:

地址自动配置

1. 终端启动后,向链路内所有路由器(目的地址为:FF02::2)发起RS(Router Solicitation)

2. 链路内(与IPv4子网概念相同)的路由器(村长)收到请求后,发送RA(Router Advertisements)

  • Flags: 村长的个人爱好(如获取方式---DHCPv6、自动配置,优先级、代理等)
  • Router lifetime: 路由器的存活时间Router lifetime(即你多少时间需要到我这里来请安)
  • IPv6前缀信息 ICMPv6 OptionType=3 Prefix information: 即咱们属于哪国、哪省、这个村叫什么名字,简单说就是网络号, 小的们拿着这个号后自己在后面加上自己的名字,就是你的IPv6地址(全名), 出门记得报全名
  • 链路最大传输单元ICMPv6 OptionType=5 MTU: 咱们这条路上只能跑多大的报文(如1480 bytes),不允许超载,自觉遵守,否则后果自负。
  • 链路地址ICMPv6 OptionType=1 Source link-layer addresss: 最后告诉你村长我的小名叫什么, 有事儿私聊----爷们儿走开!

3. 根据前缀生成地址子网通告: 除去本地链路地址(FE80开头),终端还有两个根据Prefix生成的地址(一个是主用,一个是临时用), 生成后,需要站在村里最高的地方吼一嗓子,咱以后就叫王二麻子了,没人争,这个地址就是你用了。

4. 通告路由器自己的新地址:当两个地址都没人争后,麻溜地跑到村长那里去注册(可能村里不止村长一个人能出去,书记也是可以的):村长啊,我准备用王二麻子作为艺名,找几个笔友,发展成老婆,以后有给王二麻子的信,记得转交我哦


DHCPv6地址分配

1. 终端上线后,发起RS(Router Solicitation)

2. 路由器回复RA, flags中Managed address configuration标记位置位

3. 终端按照自动地址配置,获得两个自动配置地址

4. 终端发起组播DHCPv6请求(Solicit)

5. DHCPv6 Server通告自己的存在并分配地址(相当于DHCP Offer)


6. 终端发起Request(我就用这个地址了哈,DHCPv6 Server回应relpy(是的)

7. 终端同样的需要将该地址通告村长


Server IPv6基本配置:

网络配置

vim /etc/sysctl.conf

输入

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.all.forwarding = 1

参数参数设置

vim /etc/sysconfig/network

输入

NETWORKING_IPV6=yes
IPV6FORWARDING=yes
HOSTNAME=testserver
ONBOOT=yes

接口配置文件

vim /etc/sysconfig/network-scripts/ifcfg-br1

输入

IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6ADDR=2020:102:101:1::1/64
IPV6FORWARDING=yes
IPV6_FAILURE_FATAL=no
IPV6_PEERROUTES=yes


自动地址配置

安装radvd

yum -y install radvd

配置radvd

cat /etc/radvd.conf
interface br1
{
AdvManagedFlag off;? #off为自动地址配置,on为DHCPv6地址分配
??? AdvSendAdvert on;
??? AdvOtherConfigFlag off;? #off为自动地址配置,on为DHCPv6地址分配
??? AdvLinkMTU 1480;
??? MinRtrAdvInterval 30;
??? MaxRtrAdvInterval 100;
??? prefix 2020:102:101:1::/64
??? {
??????? AdvOnLink on;
??????? AdvAutonomous on;
??????? AdvRouterAddr on;
??? };
};

启动服务

systemctl start radvd.service
systemctl enable radvd.service??


终端后的地址后,在CentOS Server上通过ip -6 neighbor show查看IPv6 邻居缓存

通过ping6查看邻居连通性(注意终端防火墙配置允许ICMPv6)


DHCPv6安装和配置

DHCPv6允许更加灵活的配置方式和更多的参数下发。

DHCP Server安装

[root@172-12-0-100 ~]# yum install dhcp

修改radvd配置文件中两个参数:

AdvManagedFlag on;
AdvOtherConfigFlag on;

保存后,重启服务:

systemctl restart radvd.service


配置dhcpv6

vim /etc/dhcp/dhcpd6.conf

输入

default-lease-time 604800;
preferred-lifetime 604800;
option dhcp-renewal-time 1800;
option dhcp-rebinding-time 3600;
allow leasequery;
option dhcp6.name-servers 2020:102:101:1::1;
option dhcp6.domain-search "testserver";
option dhcp6.preference 255;
option dhcp6.rapid-commit;
option dhcp6.info-refresh-time 21600;
dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases";
?subnet6 2020:102:101:1::/64 {
??? range6 2020:102:101:1::100 2020:102:101:1::200;
}

启用服务

systemctl enable dhcpd6
systemctl start dhcpd6


注意需要开启udp 547端口,否则DHCPv6报文无法到达Server上层

firewall-cmd --add-port=547/udp –permanent
firewall-cmd –reload

终端上线获得地址后,可在Server的lease记录中查到


Window下查看IPv6邻居

netsh interface ipv6 show neighbor

配置IPv6 DNS Server

yum install bind


确认配置中开启ipv6接口监听

cat /etc/named.conf


启动服务

systemctl enable named
systemctl start named

放开防火墙端口

firewall-cmd --add-port=53/udp –permanent
firewall-cmd –reload

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: