IPv6地址类型和操作

IPv6地址的号段划分和前缀表示法:

IPv6拥有128位巨大的地址空间,对于那么大的空间,也不是随意的划分,而是使用按照bit位进行号段划分

                                地址结构图

全局路由前缀

(48位)

子网ID

(16位)

接口ID

(128位)

与IPv4一样,IPv6也由两部分(网络部分和主机部分),全局前缀 64位(包含子网16位)

IPv6书写格式:

表述和书写时,把长度为128个二进制位(bit)的IPv6地址分成8个16位的二进制段、每一个16位的二进制段用4位的16进制数表示,段间用“:”(冒号)隔开(其书写方法和IPv4的十进制数加“.”不同)。

    例如:1000:0000:0000:0000:000A:000B:000C:000D就是每一个16位的二进制数的段用4位16进制数的段来表示、段间用“:”(冒号)隔开的一个IPv6地址;其中:各个4位16进制数的段中的高位0允许省略;因此,上面的IPv6地址也可以缩写成:1000:0:0:0:A:B:C:D。

    为了更进一步简化,IPv6的地址规范中还规定,可以在一个IPv6地址中最多使用一次双冒号(::)来取代IPv6地址中紧密相连的多个全0的16进制数的段(因为如果允许在一个IPv6地址中使用一次以上的双冒号时将无法判断IPv6地址的长度,所以IPv6的地址规范中才规定:在一个IPv6地址中最多只能使用一次双冒号),这样上面的IPv6地址还可以缩写成:1000::A:B:C:D。

    双冒号使用的地点可以在IPv6地址的前面、后面或者是中间;例如:对于1000:0:0:0:A:B:0:0这样的一个IPv6地址,可以写成1000::A:B:0:0,也可以写成1000:0:0:0:A:B::;但是不能写成1000::A:B::。

 

地址类型:

单播地址:目标地址为单播地址的分组被传输到单个接口。为均衡负载,位于多台设备中的多个接口可使用相同的地址,但这种地址被称为任意播地址。

全局单播地址(2000::/3): 这是典型的可路由的公有地址,与IPv4 中的单播地址相同。

链路本地地址(FE80::/10): 类似于IPv4 私有地址,也是不可路由的。可将它们视为一种便利的工具,让你能够为召开会议而组建临时LAN ,或创建小型LAN,这些LAN不与因特网相连,但需要在本地共享文件和服务。

唯一的本地地址(FC00::/7):这些地址也是不可在因特网路由的,但也基本上是全局唯一的,因此不太可能重复使用它们。唯一的本地地址设计用于替代场点本地地址,因此它们的功能几乎与IPv4私有地址相同:支持在整个场点内通信,可路由到多个本地网络。场点本地地址已于2004年9 月废除。

组播地址(FF00::/8):与IPv4 中一样,目标地址为组播地址的分组被传输到该组播地址表示的所有接口。这种地址有时也被称为一对多地址。IPv6组播地址很容易识别,它们总是以FF打头。

任意播地址:与组播地址一样,任意播地址也标识多个设备的多个接口,但有一个很大的差别:任意播分组只被传输到一个接口一一根据路由选择距离确定的最近接口。这种地址的特殊之处在于,可将单个任意播地址分配给多个接口。这种地址被称为”一对最近”地址。

IPv6特殊地址:

地址         含义
0:0:0:0:0:0:0:0 (::)     相当于IPv4 地址0.0.0.0通常在使用有状态DHCP 配置时,用作主机的源地址。
0:0:0:0:0:0:0:1 (::1)     相当于IPv4 地址127.0.0.1。
0:0:0:0:0:0:192.168.100.1     在同时支持IPv4和IPv6 的网络中,从IPv4 地址转换而来的IPv6地址通常这样书写。
2000::/3     全局单播地址范围。
FC00::/7     唯一的本地单播地址范围。
FE80::/10     链路本地单播地址范围。
FF00::/8     组播地址范围。
3FFF:FFFF::/32     保留举例和编写文档时使用。
2001 :0088: :/32     保留举例和编写文档时使用。
2002::/16     保留供6to4 隧道技术使用。6to4 隧道技术是一种从IPv4 迁移到IPv6 的方法,让IPv6 分组能够通过IPv4 网络进行传输,而无需配置显式的隧道。

IPv6在服务器上的一些使用:(首先需要服务器启用ipv6功能,和ipv4大致相同)

ipv6路由的一些操作:

查看服务器的ipv6路由信息: ip -6 route 或 route -6

查看令居缓存: ip -6 neighbor show

添加IPV6地址

ip -6 addr add <ipv6address>/<prefixlength> dev <interface>

ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0

ifconfig <interface> inet6 add <ipv6address>/<prefixlength>

ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64

添加默认路由

ip -6 route add <ipv6network>/<prefixlength> via <ipv6address>

ip -6 route add default via 2001:0db8:0:f101::1

route -A inet6 add <ipv6network>/<prefixlength> gw

route -A inet6 add default gw 2001:0db8:0:f101::1

添加策略路由

ip -6 rule add from ::1 table 111     来自::1的路由走表111

ip -6 rule add from to  ::1 table 111 去::1的路由走表111

ip -6 rule add from all iif eth1   table 111 来自eth1的路由走111

查看策略路由

ip -6 rule

ipv6iptables的一些使用:

 

 

指定ip地址

 

ip6tables -A INPUT -i sit+ -p tcp -s 2001:250:4000:2000::1/64 --dport 27017 -j ACCEPT

 

保存规则

 

service ip6tables save

 

所有ip地址

 

ip6tables -A INPUT -p tcp --dport xxx -j ACCEPT
ip6tables -A INPUT -m state --state NEW -p tcp --dport xxx -j ACCEPT

 

删除规则

 

ip6tables -D INPUT|OUTPUT|FORWARD num

 

查看已添加的端口

 

ip6tables -L --line-numbers

 

查看当前端口状态数据包状态

 

ip6tables -vnL --line-numbers

 

posted on 2019-10-19 17:35  Pure-C  阅读(2559)  评论(1编辑  收藏  举报