<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Network on Keith's Site</title><link>https://cqroot.github.io/docs/network/</link><description>Recent content in Network on Keith's Site</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 03 Sep 2026 00:45:29 +0800</lastBuildDate><atom:link href="https://cqroot.github.io/docs/network/index.xml" rel="self" type="application/rss+xml"/><item><title>Linux VLAN</title><link>https://cqroot.github.io/docs/network/linux_vlan/</link><pubDate>Thu, 03 Sep 2026 00:45:29 +0800</pubDate><guid>https://cqroot.github.io/docs/network/linux_vlan/</guid><description>&lt;h2 id="1-什么是-vlan"&gt;1. 什么是 VLAN&lt;/h2&gt;
&lt;p&gt;VLAN（Virtual LAN，虚拟局域网）是 IEEE 802.1Q 标准定义的一项技术，通过在以太网帧中插入一个 4 字节的 &lt;code&gt;VLAN Tag&lt;/code&gt;（其中包含 12-bit 的 VLAN ID），把一个物理交换机或一段物理网络在逻辑上划分成多个互相隔离的广播域。&lt;/p&gt;
&lt;p&gt;常见用途：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;网络分段&lt;/strong&gt;：将不同部门、业务的流量隔离开&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多租户&lt;/strong&gt;：在共享基础设施上为不同客户提供独立的二层网络&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;简化管理&lt;/strong&gt;：逻辑拓扑不再受物理布线约束&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Linux 上 VLAN 接口是建在物理网卡（或 bond、bridge 等）之上的虚拟设备，命名约定为 &lt;code&gt;&amp;lt;父接口&amp;gt;.&amp;lt;VLAN_ID&amp;gt;&lt;/code&gt;，例如 &lt;code&gt;eth0.100&lt;/code&gt; 表示在 &lt;code&gt;eth0&lt;/code&gt; 上 VLAN ID 为 &lt;code&gt;100&lt;/code&gt; 的子接口。&lt;/p&gt;
&lt;h2 id="2-配置前的准备"&gt;2. 配置前的准备&lt;/h2&gt;
&lt;h3 id="21-确认内核模块已加载"&gt;2.1. 确认内核模块已加载&lt;/h3&gt;
&lt;p&gt;VLAN 由 &lt;code&gt;8021q&lt;/code&gt; 内核模块实现：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;lsmod | grep 8021q
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;modinfo 8021q
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如未加载：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo modprobe 8021q
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;8021q&amp;#34;&lt;/span&gt; | sudo tee /etc/modules-load.d/8021q.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="22-确认父接口已启用"&gt;2.2. 确认父接口已启用&lt;/h3&gt;
&lt;p&gt;VLAN 子接口依赖父接口，必须先确保物理网卡（&lt;code&gt;eth0&lt;/code&gt; 等）已 &lt;code&gt;up&lt;/code&gt;，且对端交换机端口已配置为对应 VLAN 的 &lt;code&gt;trunk&lt;/code&gt;（允许该 VLAN tag 通过）。&lt;/p&gt;</description></item><item><title>Linux 网卡绑定</title><link>https://cqroot.github.io/docs/network/linux_nic_bonding/</link><pubDate>Thu, 03 Sep 2026 00:17:02 +0800</pubDate><guid>https://cqroot.github.io/docs/network/linux_nic_bonding/</guid><description>&lt;h2 id="1-什么是-bond"&gt;1. 什么是 Bond&lt;/h2&gt;
&lt;p&gt;Bond（网卡绑定）是 Linux 内核中的一项功能，一共有 7 种工作模式（mode 0~6），它能将多块物理网卡“虚拟”成一块逻辑网卡。这样做的主要目的是为了提升网络带宽、实现冗余备份（防止单点故障），或者两者兼顾。&lt;/p&gt;
&lt;p&gt;查看 Bond 口运行模式的方法是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;grep &lt;span style="color:#e6db74"&gt;&amp;#39;^Bonding Mode:&amp;#39;&lt;/span&gt; /proc/net/bonding/&amp;lt;BOND_NAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不同 Bond 模式的输出如下：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;模式&lt;/th&gt;
 &lt;th style="text-align: left"&gt;名称&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Bonding Mode 输出&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 0&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-rrg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;load balancing (round-robin)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 1&lt;/td&gt;
 &lt;td style="text-align: left"&gt;active-backupg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;fault-tolerance (active-backup)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 2&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-xorg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;load balancing (xor)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 3&lt;/td&gt;
 &lt;td style="text-align: left"&gt;broadcastg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;fault-tolerance (broadcast)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 4&lt;/td&gt;
 &lt;td style="text-align: left"&gt;802.3adg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;IEEE 802.3ad Dynamic link aggregation&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 5&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-tlbg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;transmit load balancing&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 6&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-albg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;adaptive load balancing&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="2-配置前的准备"&gt;2. 配置前的准备&lt;/h2&gt;
&lt;h3 id="21-确认内核模块已加载"&gt;2.1. 确认内核模块已加载&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;modinfo bonding
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;lsmod | grep bonding
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如未加载：&lt;/p&gt;</description></item><item><title>Linux 连接 Wi-Fi</title><link>https://cqroot.github.io/docs/network/wifi/</link><pubDate>Mon, 24 Aug 2026 23:55:00 +0800</pubDate><guid>https://cqroot.github.io/docs/network/wifi/</guid><description>&lt;h2 id="1-networkmanager-nmcli"&gt;1. NetworkManager (&lt;code&gt;nmcli&lt;/code&gt;)&lt;/h2&gt;
&lt;p&gt;NetworkManager 是目前大多数 Linux 桌面发行版的默认网络管理工具，&lt;code&gt;nmcli&lt;/code&gt; 是其命令行前端。&lt;/p&gt;
&lt;h3 id="11-查看可用网络"&gt;1.1. 查看可用网络&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli device wifi list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="12-连接到一个开放或已保存的网络"&gt;1.2. 连接到一个开放或已保存的网络&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli device wifi connect &lt;span style="color:#e6db74"&gt;&amp;#34;SSID&amp;#34;&lt;/span&gt; password &lt;span style="color:#e6db74"&gt;&amp;#34;PASSWORD&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;连接成功后凭据会自动保存，下次进入该网络范围时会自动连接。&lt;/p&gt;
&lt;h3 id="13-连接隐藏-ssid"&gt;1.3. 连接隐藏 SSID&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli device wifi connect &lt;span style="color:#e6db74"&gt;&amp;#34;SSID&amp;#34;&lt;/span&gt; password &lt;span style="color:#e6db74"&gt;&amp;#34;PASSWORD&amp;#34;&lt;/span&gt; hidden yes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="14-查看已保存的连接"&gt;1.4. 查看已保存的连接&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli connection show
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="15-手动激活--断开已保存的连接"&gt;1.5. 手动激活 / 断开已保存的连接&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli connection up &lt;span style="color:#e6db74"&gt;&amp;#34;SSID&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli connection down &lt;span style="color:#e6db74"&gt;&amp;#34;SSID&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="16-忘记一个已保存的网络"&gt;1.6. 忘记一个已保存的网络&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli connection delete &lt;span style="color:#e6db74"&gt;&amp;#34;SSID&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="17-开启--关闭-wi-fi-硬件"&gt;1.7. 开启 / 关闭 Wi-Fi 硬件&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli radio wifi on
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nmcli radio wifi off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2-iwd-iwctl"&gt;2. iwd (&lt;code&gt;iwctl&lt;/code&gt;)&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;iwd&lt;/code&gt;（iNet Wireless Daemon）是 Intel 推出的轻量级替代方案，部分发行版默认使用它。配置文件路径为 &lt;code&gt;/etc/iwd/&lt;/code&gt;，密码以散列形式存储（更安全）。&lt;/p&gt;</description></item></channel></rss>