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. http post发送请求

    一: 用java自带URL发送 public synchronized JSONObject getJSON(String url2, String param) { try { URL url = ...

  2. Ubuntu14.04 terminal添加右键

    设置Ubuntu 14.04右键终端的方法如下: 首先要安装一个包,即可在右键里面添加一个“打开终端”的菜单. sudo apt-get install nautilus-open-terminal ...

  3. shell 逻辑操作符

    Shell还提供了与( -a ).或( -o ).非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o&qu ...

  4. Centos修改系统语言

    使用man page帮助时,发现居然是中文的,不过想想即便英语再水,也要逼着自己去适应.于是百度找了一下修改系统语言的方法. 首先使用 locale 命令查看当前的系统语言 然后修改时一般有两种方法, ...

  5. 《剑指offer》第一题(重载赋值运算符)

    //重载赋值运算符 #include <iostream> #include <cstring> using namespace std; class CMystring { ...

  6. 【Python】Http Post请求四种请求体的Python实现

    前言 前几天一个刚接触Python不深的朋友问我的Python的xml格式Post请求怎么发送,刚好最近也在学习Http请求相关的内容,所以决定总结一下各类Post请求的Python实现. Happy ...

  7. 算法笔记--st表

    概述:用倍增法求区间最值的离线算法,O(nlogn)预处理,O(1)访问. 预处理: 状态:st[i][j]:[i,i+2^j)之间的最值 状态转移:如果j等于0,st[i][j]=a[i] 如果j大 ...

  8. es6模块 nodejs模块和 typescript模块

    es6模块 import和export nodejs模块 require和module.exports typescript模块 module和export

  9. 【python】print · sys.stdout · sys.stderr

    参考文档 Python重定向标准输入.标准输出和标准错误 http://blog.csdn.net/lanbing510/article/details/8487997 python重定向sys.st ...

  10. jsp动作之 getProperty

    getProperty就是用来获取(读取)实例化的内容的. 说明了就是(Techerobj实例为样,用name=张三,age=21等属性) <%=Techerobj.getName()%> ...