linux 网络慢 dns,linux DNS解析过慢

本文介绍了解决Linux DNS解析慢的问题,方法包括关闭IPv6、使用本地DNS缓存、修改sysctl和GRUB参数。通过禁用IPv6、启用dnsmasq缓存,确保网络请求优先级,从而改善网页浏览体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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即可

### 加快 Linux 下 Git Clone 速度的方法 在 Linux 中,如果 `git clone` 的速度较,可以尝试使用镜像站点来提高克隆效率。以下是几种常见的解决方案: #### 使用 GitHub 镜像 对于一些开源项目,GitHub 提供了官方或第三方的镜像支持。例如,在引用中提到的 `git.sdut.me` 和 `github.com.cnpmjs.org` 是常用的国内镜像站点[^1]。可以通过替换原始 URL 来实现加速。 假设目标仓库为 `https://github.com/user/repo.git`,则可以用以下命令替代: ```bash git clone https://ghproxy.com/https://github.com/user/repo.git ``` 其中,`ghproxy.com` 是一个流行的 GitHub 镜像服务提供商。 --- #### 替换 Linux Stable 仓库地址 针对特定的大型仓库(如 Linux Kernel),可以直接更换为国内的镜像源。根据引用内容,Linux-stable 仓库在国内有可用的镜像站点[^2]。例如,将默认的克隆地址: ```bash https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ ``` 替换成国内镜像地址: ```bash http://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/stable/linux.git ``` 执行如下命令即可完成操作: ```bash git clone http://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/stable/linux.git ``` --- #### 修改 DNS 设置 有时网络延迟可能由 DNS 解析引起。在这种情况下,修改系统的 DNS 可能会有所帮助。推荐使用公共 DNS 服务器,例如 Google Public DNS 或阿里云 DNS。 编辑 `/etc/resolv.conf` 文件并添加以下内容: ```plaintext nameserver 8.8.8.8 # Google Public DNS nameserver 114.114.114.114 # Aliyun DNS ``` 保存文件后重新测试 `git clone` 性能。 --- #### 启用 SSH 协议代替 HTTPS SSH 连接通常比 HTTPS 更加高效。如果条件允许,建议配置 SSH 密钥以启用无密码登录[^3]。具体步骤如下: 1. **生成 SSH 密钥** 如果尚未创建过 SSH 密钥,则运行以下命令: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 2. **上传公钥到远程主机** 将生成的公钥 (`~/.ssh/id_rsa.pub`) 添加至目标 Git 主机的授权密钥列表中。 3. **切换协议** 更新 `.git/config` 文件中的 URL 地址,或者直接通过命令更改: ```bash git remote set-url origin git@github.com:user/repo.git ``` --- #### 调整 Git 配置参数 优化 Git 客户端的性能也可以间接提升克隆速度。例如,增加并发线程数或将压缩级别降低为零: ```bash git config --global core.compression 0 git config --global http.postBuffer 524288000 ``` 上述设置分别禁用了数据压缩功能以及增大了 HTTP 缓冲区大小。 --- ### 结论 综合以上方法,优先考虑更换为国内镜像站点作为最简单有效的手段;其次调整本地环境配置也能带来一定改善效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值