<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>网络配置 on 吾爱主机</title><link>https://blog.waihost.com/tags/%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE/</link><description>Recent content in 网络配置 on 吾爱主机</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sat, 09 Mar 2024 19:05:00 +0800</lastBuildDate><atom:link href="https://blog.waihost.com/tags/%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE/index.xml" rel="self" type="application/rss+xml"/><item><title>Debian中设置 IPv4 优先</title><link>https://blog.waihost.com/posts/debian-prefer-ipv4/</link><pubDate>Sat, 09 Mar 2024 19:05:00 +0800</pubDate><guid>https://blog.waihost.com/posts/debian-prefer-ipv4/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/debian-prefer-ipv4.svg" alt="Featured image of post Debian中设置 IPv4 优先" /&gt;&lt;p&gt;在 Debian 12 中设置 IPv4 优先，可以通过调整 &lt;code&gt;gai.conf&lt;/code&gt;（GetAddrInfo 配置）来修改地址解析的优先级。以下是具体步骤：&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="方法-1修改"&gt;&lt;a href="#%e6%96%b9%e6%b3%95-1%e4%bf%ae%e6%94%b9" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;方法 1：修改 &lt;code&gt;gai.conf&lt;/code&gt;（推荐）&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;编辑配置文件&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo nano /etc/gai.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;取消注释或添加以下行&lt;/strong&gt;（设置 IPv4 优先）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;precedence ::ffff:0:0/96 100
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;这会让 IPv4 映射的地址（即 IPv4 连接）获得更高优先级。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;保存文件并退出编辑器&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;无需重启系统&lt;/strong&gt;，配置会立即生效（对新建立的连接有效）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="方法-2调整路由-metric可选"&gt;&lt;a href="#%e6%96%b9%e6%b3%95-2%e8%b0%83%e6%95%b4%e8%b7%af%e7%94%b1-metric%e5%8f%af%e9%80%89" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;方法 2：调整路由 Metric（可选）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;如果某些网络接口需要强制优先使用 IPv4，可以通过设置更低的路由 Metric 值实现（值越小优先级越高）。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;编辑网络接口配置文件&lt;/strong&gt;（如使用 &lt;code&gt;ifupdown&lt;/code&gt;）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo nano /etc/network/interfaces
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在接口配置中添加 &lt;code&gt;metric&lt;/code&gt; 参数&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;auto eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface eth0 inet dhcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; metric 100 # IPv4 的 Metric 值
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iface eth0 inet6 dhcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; metric 200 # IPv6 的 Metric 值
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;重启网络服务&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl restart networking
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="方法-3禁用-ipv6极端情况"&gt;&lt;a href="#%e6%96%b9%e6%b3%95-3%e7%a6%81%e7%94%a8-ipv6%e6%9e%81%e7%ab%af%e6%83%85%e5%86%b5" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;方法 3：禁用 IPv6（极端情况）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;如果不需要 IPv6，可以直接禁用它（不推荐，仅作备选）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;编辑内核参数&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo nano /etc/sysctl.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;添加以下行&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net.ipv6.conf.all.disable_ipv6 = 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net.ipv6.conf.default.disable_ipv6 = 1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;应用配置&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo sysctl -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="验证配置"&gt;&lt;a href="#%e9%aa%8c%e8%af%81%e9%85%8d%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;验证配置&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查地址解析优先级&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;getent hosts example.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;输出中 IPv4 地址应位于 IPv6 之前。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;测试连接&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -4 ifconfig.co # 强制使用 IPv4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -6 ifconfig.co # 强制使用 IPv6
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;通过以上任一方法，即可实现 IPv4 优先。推荐优先使用 &lt;strong&gt;方法 1&lt;/strong&gt;，因为它仅影响地址解析策略，无需禁用 IPv6 或修改路由。&lt;/p&gt;</description></item></channel></rss>