在上世纪90年代,也就是1994年的时候人们因为应对ipv4地址的短缺的问题而提出使用NAT技术ip过载,就出现了局域网的概念,让局域网的私有ip能过通过NAT转发来实现上网,NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的***,隐藏并保护网络内部的主机。而后又推出了ipv6,ipv6中IP地址的长度为128是iPv4的4倍它的长度可以使它让地球上的每一粒沙子都可以分配ip,而在目前由于技术原因ipv6并没有被大量的使用,而ipv6又没有局域网的概念,所以如果没有使用到ipv6的大多生产服务器一般都有卸载掉ipv6的模块,但是如果今后技术成熟要使用再安装又比较麻烦,但是不禁用又会存在安全隐患,那我们就可以通过ip6tables禁用ipv6,顾名思义ip6tables就是ipv6的iptables所以我们只要在ip6tables的filter表上的出入口以及转发做限定就行了。

  首先你先确定下主机上是否启动ipv6可以通过ifconfig查看,如果是有inet6 addr:就是有启用wKiom1fEP6ix2QWjAACSuxRSXGc370.png-wh_50

同iptables一样linux系统中ip6tables的默认文件在/etc/sysconfig/文件夹下,我们通过编辑保存就可以实现禁用ipv6

[root@test ~]# vim /etc/sysconfig/ip6tables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited#添加这3条规则
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
-A OUTPUT -j REJECT --reject-with icmp6-adm-prohibited
COMMIT
[root@test ~]# /etc/init.d/ip6tables restart

这样ip6tables就生效了,当然其他Unix主机中没有默认ip6tables文件的debian或ubuntu等系统可以参照http://jim123.blog.51cto.com/4763600/1843168,要注意的是在ipv6中是没有NAT的,所以在ip6tables中就没有NAT表,其中的FORWARD转发是与ipv4的转发