Chinaunix首页 | 论坛 | 博客
  • 博客访问: 397332
  • 博文数量: 81
  • 博客积分: 45
  • 博客等级: 民兵
  • 技术积分: 608
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-22 11:46
个人简介

一个愤青

文章分类

全部博文(81)

文章存档

2015年(40)

2014年(29)

2013年(11)

2012年(1)

我的朋友

分类: LINUX

2014-05-17 19:35:54

linux 的DNS解析有时候很慢,导致浏览网页的时候延迟比较大
其实可以通过以下办法解决:
1. 关闭IPV6

使用 /proc

这是#关闭所有接口的 IPv6 功能

echo "1" > /proc/sys/net/ipv6/conf/all/disable_ipv6 

关闭指定网卡的 IPv6 功能

echo "1" > /proc/sys/net/ipv6/conf/ethx/disable_ipv6 

使用 modprobe ,禁用 IPv6

编辑

vim /etc/modprobe.d/aliases

输入

alias net-pf-10 off alias ipv6 off 

编辑

vim /etc/modprobe.d/blacklist

输入

blacklist net-pf-10 blacklist ipv6 

利用 GRUB 添加启动参数, 禁用 IPv6

编辑

vim /etc/default/grub

找到

GRUB_CMDLINE_LINUX_DEFAULT="quiet" 

替换为

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet" 

使用sysctl

对于squeeze及其后的版本,ipv6已被内核支持,所以可以通过sysctl来关闭它。可以使用以下命令:

echo 'net.ipv6.conf.all.disable_ipv6=1' > /etc/sysctl.d/disableipv6.conf 

让ipv4优先于ipv6

一些系统中是ipv4和ipv6并存,而且ipv6优先于ipv4。但机房可能并暂时没有实际分配ipv6,所以我们也可以不要关闭ipv6,记ipv4优先于ipv6即可。输入如下命令:

echo "precedence ::ffff:0:0/96 100">>/etc/gai.conf 

当然也可以直接修改

/etc/gai.conf

找到

#precedence ::ffff:0:0/96 100 

把前面的"#"去掉即可。

2. 使用本地DNS缓存

安装 dnsmasq->在/etc/resole.conf中添加nameserver 127.0.0.1(位于第一行费注释的地方)->修改/etc/dnsmasq.conf添加listen-address=127.0.0.1 ->开机启动dnsmasq即可


阅读(5653) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~