IPv6被认为是IPv4的替代产品,它用来解决现有IPv4地址空间即将耗尽的问题。
但目前,开启IPv6可能会导致一些问题。因此有时我们需要关闭IPv6。
下面是IPv6的关闭方法应该适用于所有主流的Linux发行版包括Ubuntu、Debian、CentOS。

IPv6在CentOS6.5系统中默认是启用状态,通过以下方式可以确认IPv6的状态

1.1.查看系统IPv6的启用状态

以下命令返回值为0表示IPv6启用,1表示禁用

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
cat /proc/sys/net/ipv6/conf/default/disable_ipv6
ifconfig
ip address list
netstat -anptl

1.2.查看内核模块调用

# 有返回结果,说明IPv6模块已启用,可以看出那些程序进行了调用,反之没有启用

lsmod | grep ipv6

2.禁用IPv6

2.1.临时禁用IPv6

# 命令行调整内核参数,临时禁用IPv6

echo  >/proc/sys/net/ipv6/conf/all/disable_ipv6
echo >/proc/sys/net/ipv6/conf/default/disable_ipv6
# 或着
sysctl -w net.ipv6.conf.all.disable_ipv6=
sysctl -w net.ipv6.conf.default.disable_ipv6=

2.2.永久禁用IPv6

echo " ">>/etc/sysctl.conf
echo "# made for disabled IPv6 in $(date +%F)">>/etc/sysctl.conf
echo 'net.ipv6.conf.all.disable_ipv6 = 1'>>/etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1'>>/etc/sysctl.conf
echo 'net.ipv6.conf.lo.disable_ipv6 = 1'>>/etc/sysctl.conf
tail - /etc/sysctl.conf
sysctl -p
netstat -anptl

也可以直接编辑系统内核配置文件

vim /etc/sysctl.conf
------------------------------------------------------
# Made for disabled IPv6 .
net.ipv6.conf.all.disable_ipv6 =
net.ipv6.conf.default.disable_ipv6 =
net.ipv6.conf.lo.disable_ipv6 =
-------------------------------------------------------

# 如果想要为特定的网卡禁止IPv6,比如eth1,改为添加下面的行。

net.ipv6.conf.eth1.disable_ipv6 = 

# 注意检查修改network配置文件中的IPv6配置

vim /etc/sysconfig/network
--------------------------------------
NETWORKING_IPV6=no
--------------------------------------

# 注意修改ifcfg-eth0

vim /etc/sysconfig/network-scripts/ifcfg-eth0
----------------------------------
IPV6INIT=no
----------------------------------

2.3.拓展:禁用IPV6后,可能会导致某些服务无法启动

1)修改ssh配置,只监听IPv4地址

vim /etc/ssh/sshd_config
----------------------------------------
# 在第15行的前面去掉注释(#):
ListenAddress 0.0.0.0
AddressFamily inet
----------------------------------------
service sshd restart
netstat -anptl

# 注意:inet为仅IPv4,inet6为仅IPv6,any为都支持

2)mysql配置问题

mysql安装后默认会监听IPv6地址,关闭IPv6后,需要编辑,在[mysqld]中添加

vim /etc/my.cnf
----------------------------------------
bind-address=0.0.0.0
----------------------------------------

修改完重启mysql即可

3)配置redis,监听IPv4地址

vim  /usr/local/redis/conf/redis.conf
----------------------------------------
bind 127.0.0.1
----------------------------------------

4)配置memcached,监听IPv4地址

# 配置memcached,监听地址需要使用IP,使用localhost无法启动memcached

# memcached
/usr/local/memcached/bin/memcached -u root -p -l 127.0.0.1 -d -P /tmp/memcached1.pid

5)配置VSFTP

vim /etc/vsftpd/vsftpd.conf
----------------------------------------
listen=YES
listen_ipv6=NO
----------------------------------------

6)配置postfix监听IPv4地址

vim /etc/postfix/main.cf
----------------------------------------
inet_interfaces = 127.0.0.1
----------------------------------------

7)配置dovecot监听IPv4地址

vim /etc/dovecot/dovecot.conf
----------------
listen *
----------------

8)配置xinetd

# xinetd.conf第32行修改为:
vim /etc/xinetd.conf
------------------------
bind = 0.0.0.0
------------------------
# 重新载入配置文件
service xinetd reload

以上是禁用IPv6之后可能会受到影响的程序,可以根据自己的实际情况进行配置

3.配置启用IPv6

3.1.查看linux系统的IPv6状态

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
cat /proc/sys/net/ipv6/conf/default/disable_ipv6

3.2.调整内核参数立即启用IPv6

echo  >/proc/sys/net/ipv6/conf/all/disable_ipv6
echo >/proc/sys/net/ipv6/conf/default/disable_ipv6
# 或着
sysctl -w net.ipv6.conf.all.disable_ipv6=
sysctl -w net.ipv6.conf.default.disable_ipv6=

修改完是临时的,重启失效

3.3. 修改内核参数,启用IPv6配置

vim /etc/sysctl.conf
----------------------------------------------
net.ipv6.conf.all.disable_ipv6 =
net.ipv6.conf.default.disable_ipv6 =
net.ipv6.conf.lo.disable_ipv6 =
----------------------------------------------
sysctl -p

3.4.手动调用系统ipv6内核

modprobe ipv6

3.5.报错处理

[root@zstest ~]# modprobe ipv6
FATAL: Module off not found.

失败原因:未启用IPv6模块

解决方法:
需要编辑配置文件,启用IPv6内核模块,在禁用状态下无法调用ipv6模块
该处理需要重启系统,启动后ipv6模块自动调用

vim /etc/modprobe.d/disable_ipv6.conf
--------------------------------
#alias net-pf- off
#alias ipv6 off
options ipv6 disable=
---------------------------------
[root@zstest ~]# lsmod |grep ipv6
ipv6

完毕,呵呵呵呵

linux配置禁用启用IPv6的更多相关文章

  1. 配置teredo,启用ipv6,xx-net

    最近使用XX-NET科学上网 ,提示要配置使用IPv6.根据github的上win10配置ipv6方式(https://github.com/XX-net/XX-Net/wiki/IPv6-Win10 ...

  2. 在Linux下禁用IPv6的方法小结

    在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...

  3. ifconfig命令--查看、配置、启用或禁用网络接口的工具

    ifconfig 是一个用来查看.配置.启用或禁用网络接口的工具,这个工具极为常用的.可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址.网关等.也可以把它写入一个文件中(比如/etc/rc. ...

  4. 如何在Linux下禁用IPv6

    如何在Linux下禁用IPv6 echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6                            禁用IP ...

  5. 阿里云启用IPV6

    ping过别人的IPv6网址之后,可以确定,局域网是不支持IPv6的.所以要使用隧道技术建立两台机器之间的IPv6连接 1.发现测试用服务器上没有IPv6地址.所以测试服务器的内核应该是没有IPv6模 ...

  6. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  7. linux配置网关

    linux配置网关 输入账号root 再输入安装过程中设置的密码,登录到系统 vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑配置文件,添加修改以下内容 ...

  8. (转)linux配置网卡的命令

    linux配置网卡的命令 原文:http://blog.51cto.com/lanxianting/1754923 1.配置命令 如果一台服务器需要通外网,能被远程连接,就得给这个台服务器配置ip,子 ...

  9. Ubuntu启用IPv6上google的方法

    Pv6就是我们通常所说的互联网协议,是TCP/IP的核心协议,那么在Linux下如何开启IPv6呢?下面以Ubuntu为例,给大家介绍下Ubuntu启用IPv6的方法. 方法: $sudo apt-g ...

随机推荐

  1. shell 使用变量

    使用变量 使用一个定义过的变量,只要在变量名前面加美元符号即可,如: your_name="qinjx" echo $your_name echo ${your_name} 变量名 ...

  2. html 获取鼠标左键事件,滚轮点击事件,右键点击事件

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. steam

    1.steam 教育 Science(科学), Technology(技术), Engineering(工程), Arts(艺术), Maths(数学) 2.  steam 平台 Steam英文原译为 ...

  4. 难部署的taiga,式微的circus——趋势从进程管理到容器管理,简单才是美

    一直需要一个项目管理系统,一直没时间弄. taiga是github上搜project management star最多的项目,又是基于django用python写的后端,所以就用它: 但是,集中精力 ...

  5. 20170728xlVba还是这个混蛋

    Public Sub Main22() If Now() >= #1/1/2018# Then Exit Sub Dim strText As String Dim Reg As Object, ...

  6. Mysql批量导入约束报错

    SET foreign_key_checks = 0;   禁用外键,在文件顶部加 SOURCE dump_file_name;      进行SQL执行 SET foreign_key_checks ...

  7. Redis基础知识点面试手册

    Redis基础知识点面试手册 基础 概述 数据类型 STRING LIST SET HASH ZSET(SORTEDSET) 数据结构 字典 跳跃表 使用场景 会话缓存 缓存 计数器 查找表 消息队列 ...

  8. ES curl bulk 导入数据

    比如我们现在有这样一个文件,data.json: { " } } { "field1" : "value1" } 它的第一行定义了_index,_ty ...

  9. httpclient cookie相关介绍

    http状态管理 cookie是HTTP代理和目标服务器可以交流保持回话的状态信息的令牌或短包. httpclient使用Cookie接口来代表抽象的cookie令牌,在它的简单形式中http的coo ...

  10. kettle使用命令行来运行ktr和kjb

    1:cmd方式运行 1.ktr的运行:运行transformation文件是通过Pan.bat来运行的. 打开cmd命令行窗口,转到Pan.bat所在的目录,如d:\data-integration, ...