FreeRouter V2 完全手册

Size: px
Start display at page:

Download "FreeRouter V2 完全手册"

Transcription

1 FreeRouter V2 完 全 手 册

2 ii 关 于 一 切 这 本 手 册 的 基 本 定 性 是 FreeRouterV2 项 目 的 完 全 手 册, 包 含 项 目 的 背 景 介 绍, 涉 及 的 原 理, 使 用 到 的 技 术, 以 及 具 体 的 实 现 方 法 但 也 可 以 作 为 普 通 网 民 了 解 GFW 1 工 作 原 理, 以 及 与 之 对 抗 的 入 门 手 册 我 希 望 的 结 果 是 这 本 手 册 写 完 之 后 可 以 解 释 项 目 中 的 所 有 问 题, 让 所 有 人 都 有 能 力 自 己 去 做 翻 墙 路 由 器, 并 且 解 决 碰 到 的 问 题, 所 以 我 可 能 不 得 不 去 解 释 一 些 在 专 业 人 士 看 来 很 简 单 的 基 本 概 念, 借 着 latex 的 优 势, 我 会 把 文 章 的 章 节 分 的 很 细, 你 可 以 很 轻 松 的 跳 过 你 觉 得 自 己 很 清 楚 的 概 念, 不 过, 你 最 好 确 定 你 真 的 清 楚 但 是 考 虑 到 文 科 生 的 电 脑 知 识, 基 本 来 自 大 一 的 «计 算 机 基 础»; 而 大 部 分 非 计 算 机 专 业 的 理 工 科 学 生 的 电 脑 知 识, 来 自 他 们 从 来 没 看 懂 的 讲 了 一 堆 他 们 这 辈 子 都 没 用 上 的 X86 汇 编 的 «计 算 机 原 理» 这 个 残 酷 的 事 实 ( 这 是 个 长 句 ), 如 果 你 们 在 阅 读 全 书 后 觉 得 有 什 么 内 容 依 然 是 不 可 理 解, 完 全 没 有 概 念 的, 欢 迎 反 馈 和 老 罗 不 同 的 是, 我 不 怎 么 爱 这 个 世 界, 所 以, 本 手 册 不 推 荐 以 下 人 类 阅 读 : 1. 绝 对 不 肯 在 翻 墙 上 花 一 分 钱, 同 时 还 没 朋 友 肯 帮 你 的 人,FreeRouter 里 的 Free= 自 由 免 费 2. 过 去 三 年 内 都 没 有 完 整 看 完 过 一 本 书 的 人, 因 为 你 可 能 也 看 不 完 本 书 3. 觉 得 我 欠 你 很 多 钱 或 者 觉 得 我 爱 你, 但 实 际 上 我 根 本 不 认 识 你 的 人 因 为 翻 墙 路 由 本 身 拥 有 对 你 网 络 的 绝 对 控 制 能 力, 而 我 并 没 有 借 此 项 目 进 行 任 何 盈 利 的 目 的, 更 不 想 把 她 变 成 另 一 套 私 人 GFW, 所 以 一 切 可 能 涉 及 到 商 业 利 益 和 主 观 判 定 的 数 据 / 选 择 / 方 法, 我 最 多 可 能 会 作 为 选 项 给 你 们 介 绍, 但 不 会 导 入 FreeRouter V2 项 目 本 身 基 于 同 样 的 原 因, 我 不 会 向 我 不 认 识 的 任 何 人, 发 布 任 何 现 成 的 路 由 器 固 件, 我 只 会 教 你 们 方 法 本 手 册 的 版 权 归 毕 勤 所 有, 任 何 人 都 可 以 自 由 分 发 和 传 播, 但 不 得 做 任 何 修 改, 亦 不 可 用 于 任 何 商 业 目 的 我 知 道 在 中 国 谈 版 权 没 什 么 现 实 意 义, 但 对 于 尊 重 版 权 的 人 来 说, 给 他 们 一 个 明 确 的 说 明 是 一 种 基 本 的 尊 重 如 果 你 还 不 知 道 FreeRouter V2 的 地 址, 同 时 还 不 小 心 没 注 意 本 文 开 始 时 的 链 接, 那 么 FreeRouter V2 当 前 的 项 目 地 址 是 : 我 说 了 这 是 当 前 地 址, 如 果 我 觉 得 这 个 项 目 不 再 适 合 公 开 发 布, 或 者 有 其 他 计 划 都 可 能 导 致 地 址 变 更, 但 是 作 者 的 Blog 在 10 年 内 都 不 会 变 更 地 址, 在 Blog 上 你 们 可 以 找 到 我 的 联 系 方 式 1 China s Great FireWall, 中 国 国 家 防 火 墙 简 称

3 目 录 第 一 章 网 络 基 础 知 识 你 的 上 网 过 程 什 么 是 IP? 什 么 是 端 口? 什 么 是 DHCP? 什 么 是 域 名? 什 么 是 DNS? 什 么 是 TCP 和 UDP? 什 么 是 VPN? 网 卡 / 接 口 / 适 配 器? 什 么 是 网 关? 第 二 章 GFW 的 工 作 方 式 DNS 劫 持 和 污 染 虚 假 IP 劫 持 空 包 劫 持 轻 松 的 扩 散 污 染 敏 感 词 过 滤 IP 阻 断 第 三 章 常 用 的 辅 助 工 具 Ping 和 TCPing 命 令 traceroute 命 令 route 命 令 Dig 命 令 正 则,SED,AWK iii

4 目 录 iv 第 四 章 FreeRouter V2 的 技 术 原 理 IP 命 令 table 概 念 把 数 据 添 加 到 table 让 table 数 据 走 VPN 接 口 IPTables 防 火 墙 IPSET 概 念 iptables 的 mark 功 能 iptables 的 m32 模 块 iptables 的 string 模 块 Dnsmasq 解 析 器 IPSET 功 能 为 Dnsmasq 指 定 DNS 添 加 多 个 DNS 屏 蔽 运 营 商 的 DNS 广 告 限 定 范 围 的 解 析 DNSSEC 的 原 理 和 实 用 性 简 介 传 统 DNS 系 统 的 弱 点 公 钥 / 私 钥 加 密 的 基 本 原 理 DNSSEC 中 公 钥 私 钥 的 应 用 DNSSEC 的 最 大 问 题, 是 域 名 签 名 部 署 的 缺 失 对 未 签 名 的 域 名,DNSSEC 几 乎 不 能 提 供 任 何 保 护 对 签 名 的 域 名, 中 间 人 攻 击 依 然 有 可 能 进 行 国 内 支 持 DNSSEC 的 DNS 服 务 器 极 度 缺 乏 给 Dnsmasq 启 用 DNSSEC 域 名 客 户 端 服 务 器 Dnsmsq 的 配 置 : DNSSEC 的 效 果 : 年 后 的 DNS 污 染 对 应 策 略 背 景 和 策 略 实 际 操 作 一 个 小 脚 本

5 目 录 v 第 章 FreeRouter 实 战 FreeRouter V2 的 工 作 流 程 OpenWRT 基 础 OpenWRT 是 什 么? 我 的 路 由 能 刷 OpenWRT 吗? 我 的 路 由 需 要 多 大 ROM? 我 应 该 下 载 选 哪 个 版 本 的 固 件? 如 何 刷 固 件? 为 什 么 刷 了 固 件 后 打 不 开 路 由 管 理 界 面? 如 何 安 装 各 种 package? FreeRouter V2 需 要 的 组 件 部 署 FreeRouterV 系 统 的 基 本 设 置 PPTP VPN 接 口 设 定 Open VPN 接 口 设 定 部 署 文 件 通 用 部 分 部 署 文 件 PPTP VPN 部 分 部 署 文 件 Open VPN 部 分 调 试 和 检 查 自 己 打 包 固 件

6 第 一 章 网 络 基 础 知 识 最 强 大 的 防 火 墙, 是 十 三 亿 中 国 人 的 自 我 审 查 与 自 我 阉 割 1.1 你 的 上 网 过 程 我 需 要 在 这 里 把 你 的 上 网 过 程 先 描 述 一 遍, 以 打 开 一 个 网 页 ( 例 如 twitter.com) 为 例 子, 这 中 间 可 能 涉 及 到 很 多 你 不 了 解 的 专 业 术 语, 但 没 关 系, 这 些 我 们 都 会 在 后 面 慢 慢 解 释 图 1.1: 浏 览 器 如 何 访 问 网 站 1. 在 你 打 开 浏 览 器 之 后, 在 地 址 栏 输 入 这 个 地 址 1 2. 浏 览 器 会 自 动 先 识 别 出 这 是 位 于 域 名 twitter.com 下 的 一 个 页 面, 需 要 访 问 twitter.com 这 个 域 名 对 应 的 服 务 器 1 你 们 早 晚 会 知 道 这 是 什 么 地 址 1

7 第 一 章 网 络 基 础 知 识 2 3. 接 着, 浏 览 器 会 调 用 相 应 的 的 操 作 系 统 的 API 去 解 析 这 个 域 名, 然 后 你 的 Windows 系 统 会 向 电 脑 连 着 的 路 由 发 送 解 析 请 求 4. 路 由 器 上 如 果 之 前 有 个 域 名 的 解 析 结 果, 并 保 留 在 了 缓 存 里, 就 可 以 直 接 返 回 解 析 结 果 了 5. 如 果 路 由 器 没 有 关 于 这 个 域 名 的 缓 存, 那 路 由 就 会 向 之 前 在 路 由 器 里 设 置 好 的 DNS 服 务 器 请 求 解 析 这 个 域 名 6. 一 般 的 DNS 服 务 器 会 经 过 一 个 递 归 解 析 过 程, 把 解 析 到 的 twitter.com 的 IP 返 回 给 路 由, 路 由 再 返 回 给 你 的 电 脑 7. 最 后, 你 的 电 脑 就 可 以 通 过 IP 地 址, 直 接 访 问 twitter.com 的 服 务 器 了, 然 后 向 服 务 器 的 443 端 口 请 求 这 个 地 址 的 内 容 8. 如 果 网 络 通 畅 的 话,twitter.com 的 服 务 器 在 收 到 请 求 后 就 会 把 结 果 返 回 给 你 的 电 脑, 网 页 就 打 开 了 专 业 词 汇 太 多 看 不 懂?OK, 一 个 个 解 释 1.2 什 么 是 IP? 我 想 这 是 困 住 很 多 人 的 第 一 个 问 题, 我 觉 得 你 们 知 道 twitter 是 什 么 的 可 能 性 都 比 这 个 高 IP, 准 确 的 说 是 IP 地 址, 解 释 过 来 就 是 Internet Protocol Address,Internet 协 议 地 址 你 可 以 把 它 假 想 成 各 家 各 户 的 门 牌 号, 你 要 找 一 个 地 址, 最 靠 谱 的 方 法 就 是 知 道 准 确 的 门 牌 号 IP 地 址 又 分 为 公 网 地 址 和 内 网 地 址 两 种, 这 个 怎 么 理 解 呢? 你 可 以 认 为 长 安 街 1 号 这 种 地 址 是 公 网 地 址, 因 为 通 过 所 有 人 都 可 以 走 2 的 公 共 道 路, 人 人 都 可 以 到 达 这 里 而 长 安 街 1 号 里 面, 2 号 楼 3F302 这 个 地 址 就 是 内 网 地 址 了, 因 为 那 是 别 人 的 私 有 领 地, 你 可 以 通 过 长 安 街 到 他 家 门 口, 但 未 必 可 以 进 入 这 个 私 有 领 地 但 私 有 领 地 的 人 却 完 全 可 以 走 出 来 访 问 公 共 道 路 上 的 任 何 其 他 地 址, 就 像 你 可 以 从 你 家 的 路 由 后 面 访 问 微 博 一 样, 但 他 们 也 同 样 不 能 直 接 进 入 别 人 的 私 有 领 地 实 用 点 说 的 话, 你 通 过 ADSL 拨 号, 光 纤 猫 接 入, 这 些 方 法 分 配 到 的 IP 一 般 都 是 公 网 IP, 直 接 接 在 电 脑 上, 别 人 通 过 这 个 IP 可 以 访 问 到 你 的 电 脑 了 但 是 一 般 你 都 会 在 猫 后 面 接 个 路 由, 然 后 分 配 出 一 些 类 似 XXX 的 地 址, 你 的 电 脑 上 往 往 是 通 过 这 些 地 址 接 入 互 联 网 的, 这 些 都 是 内 网 IP, 隔 着 路 由 别 人 是 无 法 直 接 访 问 到 你 的 电 脑 的, 因 为 这 个 内 网 地 址 对 外 面 的 人 来 说 根 本 不 可 见 内 网 地 址 的 范 围 是 有 规 范 的, 而 公 网 地 址 绝 对 不 能 使 用 这 些 地 址, 范 围 如 下 : / 好 吧, 到 后 面 你 会 知 道 公 共 道 路 也 未 必 人 人 都 能 走

8 第 一 章 网 络 基 础 知 识 / / / 上 面 的 表 格 中, 右 边 的 表 示 也 许 比 较 直 观, 而 左 边 用 的 掩 码 表 示 方 法 看 起 来 有 点 费 解, 但 这 却 是 实 际 网 络 应 用 中 最 常 用 的 格 式 首 先 我 们 要 知 道, 一 个 IP 地 址 是 计 算 机 中 的 一 个 32 位 的 2 进 制 数, 分 成 4 段, 每 段 8 位, 所 以 你 看 到 IP 地 址 每 段 的 最 大 值 是 255, 但 实 际 上 255 是 用 于 表 示 广 播 地 址 不 会 分 配 给 任 何 主 机 的, 而 0 是 用 于 表 示 整 个 网 络 号 的, 也 不 会 分 配 给 主 机, 所 以 一 般 你 路 由 能 分 配 的 IP 最 后 一 段 肯 定 是 1 254( 在 DHCP 3 支 持 的 情 况 下 ) 图 1.2: IPV4 的 IP 地 址 有 32 位 图 1.3: IP 地 址 包 含 网 络 号 和 主 机 号 一 个 IP 地 址 看 起 来 是 4 段, 其 实 是 两 个 部 分, 分 别 是 网 络 号 和 主 机 号, 按 网 络 号 范 围 的 不 同,IP 地 址 分 为 ABCDE5 类,DE 类 为 特 殊 地 址 类 我 们 不 考 虑, 现 在 看 看 A 类 地 址 是 怎 么 定 义 的 : A 类 地 址 的 网 络 号 由 一 段 (8 位 ) 数 字 表 示, 网 络 地 址 最 高 位 必 须 是 0, 所 以 A 类 地 址 有 2 7 2(126) 个 网 3 这 个 概 念 我 们 后 面 会 说

9 第 一 章 网 络 基 础 知 识 4 段 ; 剩 下 的 3 段 (24 位 ) 表 示 主 机 号, 每 个 网 段 有 ( ) 类 似 的 可 以 知 道 B 类 和 C 类 地 址 的 计 算 方 法, 如 果 还 不 清 楚 可 以 去 参 考 百 度 百 科 的 相 关 页 面 大 概 知 道 了 IP 的 格 式 和 分 类, 掩 码 表 示 法 要 怎 么 理 解 呢? 我 们 看 一 下 /12 的 解 释 过 程 1. 我 们 说 了 0 表 示 网 络 号, 准 确 的 说 应 该 是 0 提 示 网 络 号, 前 面 的 就 是 网 络 号, 这 段 是 固 定 的 值 2. 最 后 的 12 表 示 采 用 的 是 12 位 掩 码 这 个 掩 码 是 什 么 意 思? 位 掩 码 表 示 IP 地 址 的 高 12 位 和 1 进 行 与 (AND) 操 作 ( 也 就 是 不 变 ), 剩 下 低 20 位 的 空 间 和 0 进 行 与 操 作, 清 空 出 来 分 配 IP 4. 也 就 是 说, 从 开 始, 分 配 2 20 个 IP 地 址, 算 一 下 你 就 知 道 刚 好 到 了 我 们 说 了 0 和 255 分 别 表 示 网 络 号 和 广 播 地 址, 是 不 能 分 配 给 具 体 设 备 的, 所 以 实 际 可 用 范 围 是 两 者 中 间 的 值 以 上 是 关 于 IPV4 体 系 下 的 IP 地 址 的 介 绍, 也 是 我 们 现 在 基 本 都 在 用 的 体 系 但 是 你 可 能 也 看 到 了, IPV4 体 系 下 IP 地 址 的 范 围 非 常 有 限 ( 理 论 值 也 就 是 30 多 亿 ), 加 上 一 些 大 型 企 业 和 机 构 占 用 大 量 地 址, 全 球 的 IPV4 地 址 其 实 已 经 分 配 完 毕 ( 不 一 定 全 部 被 使 用 了, 但 已 经 被 分 配 完 毕 了 ) 所 以 就 有 了 新 的 IPV6 体 系,IPV6 体 系 下 的 IP 格 式 大 致 如 下 : 2a03:2880:2110: df07:face:b00c:0:1 可 以 看 到 IPV6 地 址 高 达 128 位, 总 数 就 是 个, 这 个 数 量 已 经 绝 对 不 需 要 担 心 耗 尽 的 可 能 了 具 体 的 关 于 IPV6 的 问 题, 在 我 们 的 翻 墙 过 程 中 只 有 一 小 部 分 涉 及 到, 这 里 就 不 再 讲 更 多 了 1.3 什 么 是 端 口? 在 讲 上 网 过 程 1.1 的 时 候, 我 们 提 到 了 最 后 浏 览 器 要 访 问 的 是 twitter.com 的 服 务 器 的 443 端 口, 那 么 什 么 是 端 口 呢? 专 业 上 讲 这 是 传 输 层 的 TSAP 寻 址 方 式, 不 过 你 肯 定 不 满 意 这 个 解 释 我 们 知 道 一 台 电 脑 要 联 网 的 软 件 ( 进 程 ) 其 实 是 很 多 的, 这 就 需 要 给 不 同 的 软 件 分 配 不 同 的 通 道 以 区 别 他 们 的 数 据, 否 则 所 有 的 进 程 都 在 一 条 通 道 上 收 发 数 据, 那 么 不 同 协 议 不 同 规 范 的 数 据 毫 无 规 则 的 混 在 在 一 起, 就 完 全 没 有 意 义 了, 或 者 代 价 就 是 每 个 进 程 都 要 把 所 有 数 据 都 先 截 获 下 来, 再 慢 慢 提 取 出 属 于 自 己 的 那 部 分 数 据, 这 显 然 是 不 可 能 的 那 么 端 口 就 起 了 这 样 的 作 用, 端 口 为 不 同 的 进 程 / 协 议 分 配 了 不 同 的 端 口, 例 如 针 对 浏 览 器 的 http 服 务 器 协 议 是 80 端 口,https 是 443 端 口,ftp 数 据 传 输 是 21 端 口,ssh 远 程 登 录 是 22 端 口,telnet 是 23 端 口,

10 第 一 章 网 络 基 础 知 识 5 DNS 解 析 是 53 端 口, 不 同 的 协 议 使 用 不 同 的 端 口, 数 据 就 很 清 晰 了, 对 于 一 个 端 口 上 的 数 据 就 肯 定 有 一 个 统 一 的 协 议 来 解 析 了 这 就 好 像 紫 禁 城 的 N 个 城 门, 每 个 门 都 有 自 己 特 殊 的 用 途, 给 不 同 的 人 和 不 同 的 车 走 一 样, 这 些 门 就 是 紫 禁 城 的 端 口 图 1.4: 不 同 的 服 务 对 应 不 同 的 端 口 注 意, 以 上 列 出 的 标 准 端 口 都 是 针 对 服 务 器 而 言 的, 因 为 很 多 通 信 协 议 默 认 都 是 使 用 这 些 标 准 端 口, 你 如 果 擅 自 改 成 别 的 端 口, 客 户 端 并 不 知 晓, 就 不 知 道 该 向 哪 里 请 求 了 例 如 有 些 网 站 给 自 己 的 内 部 管 理 服 务 器 改 成 了 8080 端 口 或 者 别 的 端 口, 这 样 可 以 避 免 别 人 发 现 后 台 的 地 址 ( 其 实 别 人 要 扫 描 端 口 也 可 以 发 现 ), 只 有 知 道 端 口 的 人 才 能 访 问 按 照 规 定 端 口 都 是 预 留 给 特 定 协 议 的 端 口 范 围, 其 他 的 应 用 和 私 有 的 协 议 不 应 该 使 用 这 个 范 围 内 的 关 口, 否 则 可 能 和 现 有 的 服 务 协 议 造 成 端 口 冲 突 端 口 的 连 接 是 双 方 的, 服 务 器 有 一 个 端 口, 客 户 端 要 连 接 也 必 须 有 一 个 对 应 的 端 口 服 务 器 的 端 口 一 般 要 固 定, 以 便 让 别 人 连 接 ; 而 在 客 户 端 这 里, 就 完 全 可 以 用 各 种 不 同 的 端 口 了,DNS 协 议 为 了 增 强 安 全 性, 客 户 端 的 端 口 甚 至 应 该 鼓 励 增 强 随 机 性, 最 好 每 次 都 不 同 好 比 皇 帝 出 去 祭 天 要 走 特 定 的 门 不 能 变, 可 是 要 微 服 私 访 就 得 灵 活 一 点 了, 不 然 行 踪 就 容 易 暴 露 了 1.4 什 么 是 DHCP? 我 们 前 面 说 了 一 个 问 题, 一 般 路 由 能 分 配 的 最 后 一 段 IP 一 般 是 1 254, 这 是 在 DHCP 允 许 的 条 件 下, 那 么 DHCP 是 什 么 东 西?

11 第 一 章 网 络 基 础 知 识 6 简 单 来 说,DHCP 是 一 个 自 动 分 配 IP 的 系 统 例 如 你 的 电 脑 在 不 联 网 的 时 候 是 不 会 有 任 何 IP 的, 在 接 入 一 个 路 由 器 之 后, 你 可 以 自 己 手 动 设 置 IP, 但 这 很 繁 琐, 而 且 万 一 两 个 人 设 置 了 一 样 的 IP, 就 会 导 致 网 络 冲 突 所 以 普 遍 的 做 法 是 让 路 由 自 动 分 配 IP 给 机 器 DHCP 的 实 现 过 程 大 概 是 这 样 的 : 1. 你 的 电 脑 接 入 路 由 后, 就 向 路 由 器 下 的 整 个 网 络 ( 所 有 主 机 和 设 备 ) 发 送 一 个 DHCP Discover 请 求, 查 询 看 有 没 有 DHCP 服 务 器 2. 你 的 路 由 收 到 这 个 请 求 之 后, 就 反 馈 给 你 的 电 脑 一 个 DHCP Offer, 告 诉 它 老 子 就 是 DHCP 服 务 器 3. 也 许 网 络 中 还 有 别 的 也 提 供 DHCP 服 务 的 主 机 ( 这 个 情 况 一 般 比 较 少 ), 但 一 般 来 说 你 的 电 脑 会 选 择 响 应 最 快 的 那 个 Offer, 然 后 发 送 一 个 DHCP Request 请 求 给 他 4. 路 由 收 到 这 个 DHCP Request 之 后, 就 会 开 始 和 主 机 进 行 一 些 列 握 手 协 议, 然 后 发 送 相 应 的 IP 配 置 给 他 图 1.5: Windows 通 过 DHCP 自 动 获 取 IP 和 DNS 其 实 呢,DHCP 不 光 是 分 配 IP 的, 他 同 时 还 会 分 配 DNS 服 务 器, 网 关 地 址 这 些 东 西 给 你 所 以 你 看 一 个 网 卡 的 IPV4 或 者 IPV6 协 议 属 性 的 时 候,IP 和 DNS 都 是 可 以 自 动 获 取 的, 这 就 是 通 过 DHCP 实 现 的

12 第 一 章 网 络 基 础 知 识 什 么 是 域 名? 你 可 能 也 看 到 了,IP 地 址 其 实 是 很 难 记 忆 的 一 个 东 西,30 多 亿 的 地 址 对 人 类 的 记 忆 来 说 根 本 就 是 开 玩 笑 如 果 你 要 访 问 一 台 服 务 器, 难 道 还 先 打 个 电 话 去 问 他 们 IP 是 什 么 吗? 当 然 不 可 能, 所 以 就 有 了 域 名? 没 这 么 快, 首 先 有 的 是 HOST 系 统 对 于 windows 用 户 来 说,c:/windows/system32/etc/drivers/hosts 文 件 里 一 般 只 有 一 行 内 容, 就 是 localhost 这 个 是 告 诉 计 算 机, 当 访 问 localhost 这 个 名 称 的 主 机 的 时 候, 实 际 就 是 要 访 问 , 也 就 是 计 算 机 的 本 机 IP( 访 问 自 己 ) 类 似 的, 你 可 以 把 mailserver 写 入 host 文 件, 这 样 就 告 诉 了 计 算 机, 邮 件 服 务 器 mailserver 的 IP 是 , 这 样 人 类 的 记 忆 就 稍 微 轻 松 了 一 些 可 是 随 着 互 联 网 的 发 展, 很 快 人 们 就 发 现 hosts 文 件 根 本 就 不 够 用, 而 且 很 多 主 机 你 更 根 本 不 知 道 他 的 存 在, 或 者 哪 台 服 务 器 换 了 IP 也 没 通 知 别 人, 旧 的 host 文 件 就 一 直 让 你 去 访 问 错 误 的 IP 了 终 于, 域 名 系 统 出 现 了 图 1.6: 各 种 不 同 的 顶 级 域 名 基 本 概 念 上 你 可 以 把 域 名 和 Host 文 件 等 效 起 来 理 解, 但 是 域 名 是 一 个 多 级 系 统, 它 有 着 不 同 的 域 例 如 mail.lifetyper.com 表 示 lifetyper.com 这 个 域 下 面 的 一 台 叫 mail 的 主 机, 这 样 一 个 域 就 可 以 有 了 很 多 主 机 记 录, 这 些 主 机 记 录 我 们 可 以 叫 做 lifetyper.com 这 个 父 域 的 子 域 而 lifetyper.com 其 实 也 是 com 这 个 父 域 下 面 的 一 个 子 域 你 不 知 道 的 可 能 是,com 的 完 整 写 法 应 该 是 com., 表 示 com 是. 这 个 父 域 下 的 一 个 子 域 这 个. 就 是 我 们 称 之 为 根 域 的 东 西,.net,.org,.cn 这 些 顶 级 域 名 域 其 实 都 是 根 域 的 子 域 就 像 你 用 文 件 搜 索 器 查 找 一 个 文 件 一 样, 它 除 了 告 诉 你 文 件 在 哪 里, 一 般 还 会 告 诉 你 文 件 的 大 小, 最 近 的 修 改 日 期, 文 件 的 所 有 者 等 等 同 样 的, 一 个 域 名 中 往 往 包 含 了 很 多 条 记 录, 我 们 常 用 的 几 个 记 录 有 : 1. A 记 录, 告 诉 你 这 个 域 名 对 应 的 IPV4 IP 地 址 2. AAAA 记 录, 对 应 的 是 域 名 的 IPV6 IP 地 址 ( 当 然, 目 前 很 多 域 名 并 没 有 IPV6 地 址 )

13 第 一 章 网 络 基 础 知 识 8 3. NS 记 录, 告 诉 你 这 个 域 名 的 名 称 服 务 器 4. CNAME 记 录, 也 叫 别 名 记 录 这 个 记 录 是 把 一 个 域 名 指 向 另 一 个 域 名, 例 如 给 lifetyper.com 设 置 一 个 abc.lifetyper.com 的 CNAME 记 录, 把 这 个 记 录 设 置 为 那 么 访 问 abc.lifetyper.com 实 际 上 就 是 要 去 访 问 注 意 这 个 和 单 纯 的 跳 转 不 同, 应 该 理 解 为 转 译 上 面 提 到 了 一 个 Name Server 名 称 服 务 器 ( 以 后 简 称 NS) 的 概 念, 这 个 NS, 就 是 负 责 设 置 一 个 域 名 几 乎 全 部 记 录 的 服 务 器, 并 且 在 别 人 查 询 的 时 候 把 这 些 记 录 告 诉 别 人, 就 像 一 个 传 达 室 大 爷 例 如 他 可 以 设 置 A 记 录 为 , 这 样 就 把 域 名 指 向 了 这 个 IP 上 的 服 务 器 ( 服 务 器 鸟 不 鸟 它 就 是 另 一 个 问 题 了 ) 为 什 么 说 是 几 乎 全 部 记 录, 而 不 是 全 部 呢? 因 为 NS 记 录 他 设 置 不 了, 相 反 的,NS 记 录 设 置 了 他 这 个 NS 记 录 一 般 只 有 在 域 名 的 注 册 商 那 里 才 可 以 设 置, 就 好 像 传 达 室 大 爷 可 以 负 责 告 诉 你 哪 个 教 室 美 女 多 教 务 处 在 哪 里, 但 谁 当 传 达 室 大 爷 那 是 村 长 校 长 说 了 算 的 而 且 NS 记 录 会 同 时 存 放 在 更 高 一 级 域 的 NS 服 务 器 中, 例 如 lifetyper.com 的 NS 记 录 会 存 放 在 com 域 的 NS 服 务 器 上, 否 则 一 但 lifetyper.com 的 NS 服 务 器 自 己 都 挂 了, 你 去 哪 里 查 NS 记 录 呢? 查 不 到 NS 记 录 就 找 不 到 NS 服 务 器, 那 又 怎 么 查 域 名 的 其 他 记 录 呢? 除 了 多 级 域 概 念 之 外, 域 名 系 统 最 重 要 的 一 点 是 不 需 要 人 们 自 己 去 记 录 这 些 域 名 对 应 什 么 IP, 而 是 通 过 DNS 系 统 去 查 询 就 好 像 你 打 开 windows 的 文 件 搜 索, 通 过 文 件 名 就 可 以 查 到 一 个 文 件 的 所 在 位 置 一 样 那 么 下 一 节 的 标 题 你 也 猜 到 了 1.6 什 么 是 DNS? 这 是 我 们 翻 墙 过 程 中 涉 及 到 的 一 个 非 常 重 要 的 问 题, 这 里 只 做 基 本 介 绍, 具 体 的 很 多 内 容 后 面 会 展 开 本 书 中 发 起 最 初 DNS 解 析 请 求 的 设 备 或 软 件, 我 们 统 称 为 DNS 解 析 器, 例 如 电 脑 就 是 一 个 解 析 器 我 们 说 了, 想 要 知 道 一 个 域 名 对 应 的 IP, 就 要 向 DNS 服 务 器 查 询 DNS 就 是 Domain Name Server 的 简 称 ( 域 名 称 服 务 器 ), 你 们 熟 知 的 Google DNS( ) 和 114DNS( ) 就 是 这 类 服 务 器 我 们 还 是 用 一 个 流 程 例 子 来 描 述 DNS 的 工 作 方 式 ( 这 里 以 递 归 DNS 方 式 准 ) 1. 你 的 浏 览 器 调 用 windows 的 相 关 函 数 接 口, 让 windows 发 出 了 解 析 twitter.com 的 请 求 2. 这 个 请 求 先 发 送 到 了 你 的 路 由 器, 但 路 由 器 没 有 关 于 twitter.com 的 记 录 缓 存, 就 继 续 向 路 由 器 上 设 定 的 DNS( 假 设 是 ) 请 求 解 析 这 个 域 名 收 到 解 析 请 求, 发 现 他 也 没 有 这 个 域 名 的 记 录 ( 虽 然 现 实 中 不 太 可 能 ), 他 就 会 向 根 域 ( 也 就 是. 域 ) 的 NS 服 务 器 查 询

14 第 一 章 网 络 基 础 知 识 9 4. 根 域 的 NS 服 务 器 说, 我 不 知 道, 不 过 com 域 的 NS 服 务 器 知 道, 这 是 com 域 的 NS 服 务 器 地 址 ( 例 如 是 ), 你 去 问 他 5. 然 后 就 向 com 域 的 NS 服 务 器 发 出 解 析 请 求, 说 妈 蛋, 我 也 不 知 道, 不 过 我 知 道 twitter.com 的 NS 是 啥 ( ), 你 去 问 他 吧 灰 溜 溜 的 跑 去 问 , 这 是 twitter.com 的 NS, 当 然 知 道 twitter.com 的 IP 是 什 么, 终 于 大 喊 一 声 你 咋 才 来 啊! 然 后 告 诉 了 它 twitter.com 的 IP 7. 然 后 告 诉 路 由, 路 由 告 诉 你 的 电 脑,windows 告 诉 浏 览 器, 不 出 意 外 的 话, 你 还 是 没 打 开 twitter.com( 谁 让 你 生 在 中 国!) 图 1.7: DNS 递 归 解 析 过 程 上 面 这 个 递 归 解 析 方 式, 是 目 前 最 常 见 的 DNS 服 务 器 工 作 方 式, 大 部 分 工 作 都 由 DNS 服 务 器 完 成 还 有 一 种 很 蛋 疼 的 解 析 方 式 叫 做 迭 代 解 析, 那 么 这 个 过 程 有 什 么 不 同 呢? 1. 你 的 浏 览 器 调 用 windows 的 相 关 函 数 接 口, 让 windows 发 出 了 解 析 twitter.com 的 请 求 2. 这 个 请 求 先 发 送 到 了 你 的 路 由 器, 但 路 由 器 没 有 关 于 twitter.com 的 记 录 缓 存, 就 继 续 向 路 由 器 上 设 定 的 DNS( 假 设 是 ) 请 求 解 析 这 个 域 名 收 到 解 析 请 求, 发 现 他 也 没 有 这 个 域 名 的 记 录, 然 后 蛋 疼 的 过 程 开 始 了 说 那 个 啥, 地 址 我 不 知 道, 这 个 是 根 域 名 称 服 务 器 的 地 址, 你 自 己 那 个 啥 吧 5. 然 后 你 就 得 自 己 把 上 面 干 的 那 些 活, 那 一 次 次 被 人 戏 弄 的 过 程 自 己 重 复 一 遍, 直 到 查 到 IP 为 止 怎 么 样, 这 活 挺 好 干 吧, 返 回 个 根 域 的 名 称 服 务 器 地 址 就 行 了, 这 样 的 DNS 服 务 器 到 底 有 啥 用? 我 觉 得 没 啥 用, 因 为 根 服 务 器 就 那 几 台, 我 还 需 要 你 来 告 诉 我? 所 以 基 本 已 经 没 几 个 DNS 服 务 器 是 迭 代 查

15 第 一 章 网 络 基 础 知 识 10 询 了, 基 本 都 是 递 归 解 析 1.7 什 么 是 TCP 和 UDP? 哎 呀, 怎 么 忽 然 跳 到 这 么 专 业 的 两 个 词 汇 上 了? 好 吧, 这 可 能 是 本 章 最 后 两 个 概 念 了, 你 先 忍 忍 吧, 我 尽 量 用 不 专 业 的 语 句 描 述 ( 太 专 业 的 我 也 不 会 啊 ) TCP 和 UDP 都 是 网 络 传 输 层 的 概 念, 是 两 种 机 制 不 同 的 传 输 协 议, 他 们 的 主 要 区 别 是 TCP 是 面 向 连 接 的, 而 UDP 是 无 连 接 的, 怎 么 理 解 呢? 比 如 你 要 从 上 海 送 一 件 东 西 到 北 京, 你 可 以 先 打 个 电 话 过 去 通 知 北 京 那 边 的 接 收 人, 告 诉 他 我 现 在 要 寄 东 西 过 去 了, 北 京 那 边 也 会 给 你 一 个 响 应, 告 诉 你 他 知 道 你 要 开 始 寄 送 了 打 电 话 这 个 事 情 本 身 首 先 就 在 收 发 双 方 同 步 了 一 个 寄 东 西 的 时 间, 如 果 打 完 电 话 后 3 天 东 西 都 没 到, 那 么 双 方 通 过 电 话 一 确 认 就 可 以 知 道 这 中 间 出 问 题 了, 应 该 重 新 发 送, 如 果 收 到 了, 北 京 那 边 可 以 给 你 一 个 回 复 告 诉 你 收 到 了 因 为 双 方 有 电 话 这 个 连 接 的 存 在, 就 可 以 对 寄 送 包 裹 的 信 息 和 结 果 作 确 认, 所 以 几 乎 可 以 肯 定 的 保 证 要 寄 送 的 东 西 一 定 会 到 达, 现 实 世 界 有 些 东 西 丢 了 就 没 了, 而 数 字 世 界 数 据 丢 了 重 发 的 成 本 是 极 低 的 这 种 有 电 话 这 个 沟 通 方 式 作 为 连 接 的 传 输 协 议, 就 类 似 TCP 而 UDP 就 简 单 多 了, 事 先 不 需 要 电 话 联 系, 直 接 写 个 地 址 就 把 东 西 送 过 去 了, 这 中 间 如 果 东 西 丢 了, 双 方 也 没 有 什 么 方 法 来 确 认, 只 能 看 快 递 公 司 的 良 心 了 那 你 也 许 会 问 为 什 么 要 用 UDP 这 种 看 起 来 靠 天 吃 饭 的 协 议? 一 个 包 裹 一 次 电 话 你 也 许 觉 得 没 什 么, 如 果 一 千 个 包 裹 呢? 一 万 个 呢? 如 果 送 一 个 包 括 要 两 天, 而 这 个 电 话 本 身 打 通 的 时 间 都 要 3 个 小 时 呢, 如 果 电 话 每 分 钟 5 美 元 话 费 呢? 所 以, 如 果 要 寄 送 的 东 西 并 不 是 那 么 贵 重 必 须 保 证 准 确 到 达, 而 快 递 公 司 毕 竟 也 没 有 不 靠 谱 到 10 个 包 丢 8 个 的 地 步, 这 个 电 话 连 接 过 程 就 显 得 有 些 影 响 效 率 了 就 好 像 一 家 卖 袜 子 的 淘 宝 店 一 天 如 果 要 发 1000 件 货, 一 双 袜 子 1 块 9 毛 9 包 邮 他 才 不 会 每 件 发 货 前 都 跟 你 打 电 话 通 知 一 下, 到 货 了 再 跟 你 电 话 确 认 一 下 东 西 到 了 没 ; 他 只 负 责 把 货 发 出 去, 剩 下 送 货 和 确 认 收 货 就 不 管 了, 真 要 管 的 话 打 个 电 话 可 能 就 要 赔 钱 了 这 里 我 们 归 纳 一 下 TCP 和 UDP 的 区 别 : 特 点 TCP UDP 可 靠 性 面 向 连 接, 高 无 连 接, 低 按 序 传 输 按 先 后 顺 序 到 达 随 机 实 现 难 度 需 要 进 行 数 据 重 组 恢 复, 复 杂 不 在 乎 顺 序, 简 单 传 输 单 位 数 据 流 ( 水 管 ) 数 据 包 ( 包 裹 ) 应 用 范 围 HTTP,FTP,MAIL DNS,TFTP,VOIP

16 第 一 章 网 络 基 础 知 识 什 么 是 VPN? 不 是 说 好 最 后 两 概 念 了 吗? 怎 么 又 来 一 个! 我 不 是 说 了 可 能 嘛, 章 节 规 划 这 种 事 我 从 来 都 不 擅 长 其 实 你 想 想, 做 个 翻 墙 路 由 如 果 连 VPN 4 是 啥 都 不 先 说 清 楚, 可 能 吗? 如 果 你 经 常 玩 海 外 服 的 游 戏, 你 可 能 已 经 用 过 VPN 了, 很 多 游 戏 加 速 器 什 么 的 其 本 质 就 是 VPN, 只 不 过 一 般 他 们 会 控 制 一 下 路 由 表 ( 算 了, 路 由 表 以 后 再 说 吧 ), 让 你 的 机 器 只 对 游 戏 服 务 器 走 VPN 线 路, 而 对 其 他 服 务 器 的 访 问 还 是 走 你 原 来 的 线 路, 这 其 实 已 经 类 似 一 个 FreeRouter 了, 只 不 过 翻 墙 的 范 围 不 是 你 自 己 决 定 的 如 果 你 认 为 VPN 就 是 一 个 代 理 那 就 错 了, 纯 粹 的 VPN 本 身 不 能 提 供 任 何 代 理 作 用 VPN 的 全 名 是 Virtual Private Network, 就 是 虚 拟 私 有 网 络 中 间 的 实 现 原 理 我 们 就 不 管 了, 其 结 果 就 是 : 在 客 户 端 建 立 了 一 个 虚 拟 的 网 卡, 这 个 虚 拟 的 网 卡 和 服 务 器 的 虚 拟 网 卡 之 间 建 立 了 一 条 虚 拟 的 专 用 通 道 图 1.8: VPN 等 效 结 构 所 有 经 过 这 个 通 道 传 输 的 数 据, 都 会 经 过 不 同 的 VPN 协 议 加 密 打 包 最 后 封 装 成 可 以 被 现 实 网 络 接 收 的 数 据 格 式, 通 过 现 实 的 网 络 接 口 传 达 到 对 方 之 后 5, 再 以 之 前 建 立 连 接 时 商 量 好 的 的 VPN 协 议, 对 数 据 进 行 拆 包 和 解 密 那 你 能 看 出 这 个 过 程 哪 里 像 个 代 理 吗? 当 然 没 有 4 本 文 默 认 只 讨 论 PPTP VPN 这 一 种 类 型, 其 他 类 型 的 原 理 不 同, 但 在 FreeRouter 上 的 应 用 方 式 基 本 一 样 5 虚 拟 的 始 终 是 虚 拟 的, 只 是 让 操 作 系 统 看 起 来 以 为 有 一 个 网 卡 而 已, 实 际 在 物 理 上 并 不 存 在

17 第 一 章 网 络 基 础 知 识 12 纯 粹 的 VPN 配 置, 就 是 让 你 和 服 务 器 之 间 建 立 了 一 个 连 接, 如 果 其 他 人 再 连 进 服 务 器 来, 你 和 其 他 人 就 类 似 处 于 同 一 个 局 域 网 内 了 那 么 通 过 VPN 远 程 访 问 办 公 室 的 服 务 器 资 源, 或 者 实 现 翻 墙, 游 戏 代 理 是 怎 么 实 现 的 呢? 在 Linux 系 统 上, 这 个 是 借 助 系 统 防 火 墙 的 转 发 功 能 实 现 的 VPN 建 立 之 后 相 当 于 一 个 局 域 网, 而 VPN 服 务 器 就 是 这 个 局 域 网 的 网 关, 所 有 局 域 网 客 户 端 的 数 据 都 会 先 发 送 到 服 务 器 这 个 虚 拟 网 关 上 那 么 在 防 火 墙 规 则 里, 就 可 以 把 所 有 来 自 这 个 虚 拟 局 域 网 IP 的 数 据, 全 部 转 发 到 一 个 现 实 的 网 卡 上 去, 如 果 这 个 网 卡 连 接 了 办 公 室 的 网 络, 那 么 你 就 可 以 通 过 VPN 访 问 办 公 室 网 络 了 如 果 你 还 是 觉 得 VPN 的 概 念 太 玄 幻, 你 就 把 VPN 当 做 你 计 算 机 / 路 由 上 接 入 的 另 一 条 网 线 好 了 谈 到 这 里 我 觉 得 又 不 得 不 再 补 充 两 个 概 念 了, 因 为 你 可 能 已 经 对 上 一 段 话 的 一 些 语 句 感 到 迷 茫 了, 放 心, 这 两 个 概 念 都 会 说 得 很 简 洁 ( 因 为 真 的 不 简 单 ) 1.9 网 卡 / 接 口 / 适 配 器? 网 卡 是 现 实 世 界 的 概 念, 是 你 看 的 见 摸 得 着 的 东 西 也 许 你 也 听 说 过, 对 于 Linux 系 统 来 说 一 切 事 物 都 是 文 件, 同 样 的,Linux 系 统 对 网 卡 的 操 作, 包 括 数 据 收 发 也 都 是 通 过 一 个 网 卡 的 文 件 形 式 化 身 来 实 现 的, 这 个 化 身 在 操 作 系 统 里 就 被 叫 做 接 口 在 Linux 终 端 里 输 入 ifconfig 命 令 就 可 以 看 到 你 的 机 器 有 哪 些 接 口 了 : 图 1.9: OpenWRT 路 由 下 的 接 口 可 以 看 到, 建 立 VPN 连 接 之 后, 我 的 路 由 里 有 一 个 叫 pptp-vpn 的 接 口, 这 对 路 由 的 系 统 来 说 就 是

18 第 一 章 网 络 基 础 知 识 13 一 个 可 用 的 网 卡 在 windows 里 面, 这 个 一 般 被 叫 做 网 络 适 配 器, 可 以 通 过 ipconfig /all 来 查 看 你 可 以 把 网 卡 / 接 口 / 适 配 器 看 做 是 护 照, 当 你 有 了 一 国 的 护 照, 你 至 少 就 有 了 在 这 个 国 家 行 走 的 权 利, 在 这 个 国 家 行 走 的 权 利 就 是 这 本 护 照 对 应 着 的 网 络 1.10 什 么 是 网 关? 我 们 速 战 速 决 解 决 这 个 概 念, 因 为 真 的 展 开 起 来 将 非 常 麻 烦 汉 子 汉 字 是 非 常 美 妙 的 ( 一 不 小 心 差 点 出 柜 了 ), 网 关 这 两 个 字 其 实 就 已 经 告 诉 了 你 们 它 的 含 义 : 一 个 网 络 的 关 卡 我 们 说 了 接 口 好 像 护 照, 颁 发 护 照 的 国 家 就 是 对 应 的 网 络, 但 你 如 果 想 要 出 国, 就 必 须 通 过 出 入 境 关 卡 才 行, 哪 怕 你 要 去 的 国 家 是 免 签 的, 这 个 出 入 境 关 卡 就 是 网 关 默 认 网 关, 顾 名 思 义, 就 是 当 一 个 访 问 网 络 的 请 求 没 有 被 指 定 要 走 哪 个 特 定 网 关 的 时 候, 就 走 默 认 网 关, 就 好 像 日 本 人 进 出 国 门 一 般 都 走 成 田 机 场 一 样 但 那 并 不 是 强 制 要 求, 谁 还 禁 止 你 从 东 京 飞 洛 杉 矶 吗 一 般 来 说, 当 你 连 接 上 路 由 之 后, 路 由 就 是 你 的 默 认 网 关, 你 所 有 的 数 据 都 是 通 过 路 由 收 发 的 如 6 果 有 人 进 行 ARP 欺 骗 让 你 误 以 为 他 的 机 器 是 默 认 网 关, 那 么 你 所 有 的 网 络 数 据 都 会 通 过 他 的 机 器, 对 于 FTP 和 SMTP 这 种 连 密 码 都 是 明 文 的 协 议, 他 就 可 以 在 自 己 机 器 上 完 全 截 获, 轻 松 获 得 你 的 密 码 我 们 也 说 了, 默 认 网 关 是 当 网 络 请 求 没 有 指 定 网 关 的 时 候 走 的 通 路, 如 果 你 愿 意, 你 也 可 以 要 求 走 其 他 的 网 关 例 如 你 可 以 设 定 访 问 某 个 IP 的 时 候, 不 走 默 认 网 关 而 走 特 定 的 网 关 当 然, 同 时 伴 随 着 的 是, 你 肯 定 要 使 用 这 个 网 关 所 对 应 的 接 口 来 使 用 这 个 网 关 例 如 你 现 在 在 太 平 洋 中 间 的 公 海, 你 要 去 看 兵 马 俑, 你 就 可 以 拿 着 中 国 护 照 ( 接 口 ) 从 北 京 出 入 境 关 卡 ( 网 关 ) 进 入 中 国 ; 而 如 果 你 要 去 看 自 由 女 神, 你 就 可 以 拿 着 美 国 护 照 ( 另 一 个 接 口 ) 从 纽 约 ( 另 一 个 网 关 ) 入 境 你 也 可 以 在 使 用 一 个 接 口 访 问 网 络 的 时 候 不 指 定 这 个 接 口 的 网 关, 这 个 时 候 就 会 使 用 这 个 接 口 的 默 认 网 关, 我 们 一 般 面 对 的 都 是 这 个 情 况 而 针 对 不 同 的 目 的 地, 选 择 性 的 使 用 网 关 / 接 口, 这 个 其 实 就 是 FreeRouter 实 现 针 对 网 站 ( 准 确 的 说 是 域 名 ) 选 择 性 翻 墙 的 关 键 所 在 6 这 个 真 不 能 再 讲 了, 自 己 搜

19 第 二 章 GFW 的 工 作 方 式 你 可 以 很 轻 易 的 欺 骗 全 世 界, 但 你 这 辈 子 也 骗 不 了 自 己 在 有 了 一 些 基 本 的 网 络 知 识 之 后, 我 们 现 在 讲 讲 GFW 的 工 作 方 式, 所 谓 知 己 知 彼 百 战 不 殆 嘛 不 过 GFW 本 身 是 一 个 人 人 都 知 道 它 存 在, 却 从 来 不 会 被 官 方 承 认 的 机 构, 就 好 像 秘 密 警 察 部 门 一 样 所 以 对 于 它 的 工 作 方 式, 各 方 也 都 只 能 是 通 过 分 析 和 模 拟 来 大 致 猜 测, 也 许 已 经 接 近 真 相, 但 永 远 都 不 等 于 真 相 首 先 你 要 明 白 GFW 的 目 的 是 什 么, 它 不 是 要 阻 止 你 访 问 所 有 的 境 外 网 站, 也 不 是 允 许 你 访 问 所 有 的 境 内 网 站 如 果 一 个 国 内 网 站 出 现 它 不 想 看 到 的 东 西, 基 于 现 在 中 国 宽 带 网 络 的 现 状, 网 警 要 动 手 清 理 一 个 境 内 网 站 实 在 太 容 易 了, 不 过 这 就 不 在 我 们 的 关 心 范 围 里 了 话 说 回 来, 在 国 内 开 反 动 网 站 的 话, 这 种 智 商 的 确 令 人 心 痛 对 于 境 外 的 网 站,GFW 的 封 锁 重 点 是 : 新 闻, 社 交, 政 治, 色 情, 文 件 共 享 类 网 站 其 他 几 种 很 好 理 解, 社 交 类 的 原 因 是 因 为 阿 拉 伯 之 春 的 很 多 串 联 都 是 通 过 facebook 完 成 的, 而 twitter 又 是 实 际 上 的 最 大 的 即 时 新 闻 发 布 站 点, 文 件 共 享 类 网 站 可 以 让 人 们 很 方 便 的 传 播 一 些 它 不 想 看 到 的 东 西 对 于 GFW 来 说, 最 有 效 的 方 式 是 什 么? 请 参 考 第 一 章 的 题 注 一 2.1 DNS 劫 持 和 污 染 如 果 从 技 术 实 现 上 来 说,GFW 做 有 效 的 方 式 当 然 是 DNS 劫 持 和 污 染 了, 也 许 你 对 这 个 东 西 完 全 没 概 念, 但 实 际 上 你 这 么 多 年 来 可 能 一 直 在 被 这 东 西 祸 害 着 在 这 里 先 教 你 一 个 简 单 的 命 令 :nslookup 开 始 菜 单, 运 行 (win8 用 户 win+r 键 ), 输 入 cmd, 回 车 分 别 用 nslookup 查 一 下 facebook.com(nslookup facebook.com) 和 twitter.com(nslookup twitter.com) 的 域 名, 重 复 几 次 是 不 是 发 现 点 问 题? 这 两 个 网 站 怎 么 IP 是 一 样 的?facebook 准 备 收 购 twitter 了? 你 再 试 试 14

20 第 二 章 GFW 的 工 作 方 式 15 youtube.com, 嗯, 你 总 不 会 觉 得 Google 要 把 youtube 卖 给 facebook 吧 之 所 以 会 看 到 这 种 奇 怪 的 景 象, 就 是 GFW 的 DNS 污 染 在 作 怪 我 们 前 面 已 经 说 了, 要 访 问 一 个 网 站, 首 先 的 步 骤 是 通 过 DNS 服 务 器 解 析 这 个 网 站 域 名 对 应 的 IP, 可 是 如 果 DNS 服 务 器 返 回 给 你 的 IP 都 是 错 的, 你 又 怎 么 可 能 访 问 到 网 站 呢? 好 比 你 想 从 广 州 去 北 京, 阻 止 你 的 最 好 办 法 不 是 半 路 截 杀 你, 而 是 告 诉 你 上 船 一 路 往 南 走 GFW 的 DNS 劫 持 是 造 成 劫 持 和 污 染 的 根 源! 很 多 人 可 能 对 GFW 的 DNS 污 染 的 概 念 始 终 停 留 在 DNS 缓 存 投 毒 这 个 概 念 上, 什 么 叫 缓 存 投 毒? 首 先 要 了 解 什 么 是 DNS 缓 存 因 为 DNS 系 统 设 计 的 时 候, 就 考 虑 到 这 是 一 个 需 要 频 繁 响 应 的 系 统, 所 以 一 条 域 名 记 录 被 查 询 到 之 后, 都 会 在 DNS 服 务 器 的 缓 存 中 驻 留 一 段 时 间, 这 样 下 次 查 询 的 时 候 就 直 接 从 缓 存 中 读 取 记 录 而 不 需 要 再 次 进 行 递 归 查 询 了 如 果 错 误 的 记 录 进 入 了 DNS 服 务 器, 这 个 错 误 的 记 录 就 会 被 保 持 一 段 时 间 1, 如 果 在 缓 存 过 期 后 又 有 一 次 错 误 的 信 息 进 入, 那 么 还 是 继 续 保 留 这 错 误 的 记 录, 这 个 过 程 如 果 一 直 重 复, 服 务 器 就 永 远 无 法 返 回 正 确 的 记 录 了, 这 就 成 了 缓 存 中 毒 而 一 般 意 义 上 的 黑 客 的 缓 存 投 毒, 是 通 过 生 日 攻 击 2 这 种 方 式 进 行 的,GFW 需 要 用 这 么 低 级 的 手 段 吗? 黑 客 需 要 发 送 生 日 攻 击, 目 的 是 通 过 两 边 大 量 的 数 据 碰 撞 猜 到 查 询 者 发 起 的 查 询 的 Transaction ID, 因 为 只 有 响 应 包 的 Transaction ID 和 请 求 包 的 一 样 才 会 被 查 询 者 接 受 但 是 GFW 完 全 控 制 了 中 国 网 络 的 对 外 出 口 网 关, 他 还 需 要 猜 你 的 Transaction ID 吗? 他 只 要 直 接 嗅 探 就 行 了, 就 好 像 你 在 自 己 的 路 由 上 用 TcpDump 抓 取 所 有 通 过 路 由 的 网 路 数 据 一 样, 既 然 可 以 嗅 探 到 你 全 部 的 DNS 查 询 数 据,GFW 想 要 伪 造 一 个 响 应 包 也 就 完 全 没 有 困 难 了 除 了 嗅 探 DNS 查 询 数 据, 其 实 所 有 的 明 文 传 输 的 密 码 (FTP,SMTP 等 ) 都 是 可 以 轻 松 被 嗅 探 到 的 我 们 前 面 已 经 说 了,DNS 是 基 于 UDP 协 议 的, 而 UDP 这 种 不 面 向 连 接 的 协 议 是 极 度 缺 乏 安 全 性 的, 你 完 全 不 能 保 证 当 你 向 一 个 服 务 器 查 询 DNS 记 录 后, 返 回 记 录 给 你 的 真 的 就 是 那 台 DNS 服 务 器 我 们 知 道,13 套 根 域 名 服 务 器 系 统 没 有 一 套 是 在 中 国 的, 中 国 只 有 镜 像, 而.com,.net 这 些 顶 级 域 名 称 服 务 器 在 中 国 连 镜 像 都 没 有, 而 twitter facebook youtube 这 些 域 名 的 权 威 名 称 服 务 器 更 是 毫 无 疑 问 的 全 部 在 国 外, 所 以 DNS 服 务 器 在 递 归 查 询 这 些 网 站 域 名 的 A 记 录 的 时 候, 信 息 一 定 会 经 过 GFW 到 国 外 现 在 GFW 知 道 了 你 ( 某 台 DNS 服 务 器 ) 要 向 国 外 的 某 个 服 务 器 查 询 twitter.com 的 A 记 录, 在 国 外 服 务 器 返 回 正 确 的 信 息 给 你 之 前,GFW 就 伪 造 一 个 响 应 包 给 你, 告 诉 你 twitter.com 的 服 务 器 在 新 疆 某 个 山 沟 里,IP 是 什 么 什 么 再 强 调 一 次,UDP 包 是 无 法 判 断 来 源 的 真 实 性 的, 而 GFW 伪 造 的 包 里 所 有 信 息 都 符 合 DNS 协 议 规 范,DNS 服 务 器 就 接 受 了 这 个 错 误 的 记 录 1 不 光 是 服 务 器, 我 们 自 己 的 机 器 也 会 对 DNS 记 录 有 一 个 缓 存, 可 以 用 命 令 ipconfig /flushdns 来 清 空 这 个 缓 存 2 一 边 向 服 务 器 发 动 大 量 未 知 域 名 的 解 析 请 求, 促 使 服 务 器 向 上 级 名 称 服 务 器 也 发 出 大 量 请 求, 一 边 同 时 伪 造 大 量 响 应 数 据 给 服 务 器, 当 数 目 足 够 大 的 时 候, 伪 造 响 应 的 Transaction ID 就 可 能 和 服 务 器 查 询 的 Tranaction ID 重 合, 使 得 伪 造 的 响 应 被 服 务 器 接 受

21 第 二 章 GFW 的 工 作 方 式 16 图 2.1: DNS 劫 持 流 程 那 么 国 外 的 服 务 器 就 不 会 返 回 正 确 的 信 息 过 来 了 吗? 会, 一 定 会, 因 为 UDP 虽 然 不 安 全, 但 基 本 上 还 是 可 以 送 达 的 但 是 你 别 忘 了, 错 误 的 信 息 已 经 抢 先 进 入 了 DNS 服 务 器 的 缓 存, 后 面 再 过 来 的 数 据 DNS 服 务 器 已 经 完 全 当 它 不 存 在 了 谁 先 到 谁 就 是 对 的, 这 就 是 扯 淡 的 DNS 逻 辑, 而 国 外 服 务 器 再 快, 也 不 可 能 快 过 守 在 边 境 的 GFW 网 关, 所 以 你 在 用 配 合 dig 这 些 工 具 查 询 域 名 的 时 候 会 发 现, 也 许 解 析 taobao.com 花 了 200 毫 秒, 而 解 析 twitter.com 只 花 了 30 毫 秒, 那 是 因 为 这 个 根 本 就 是 GFW 在 国 内 发 回 给 你 的 以 上 所 描 述 的,GFW 抢 先 于 境 外 服 务 器 返 回 给 你 一 个 错 误 结 果 的 行 为, 就 叫 做 DNS 劫 持 根 据 我 的 观 察 分 析,GFW 这 个 劫 持 行 为 是 发 生 在 所 有 对 国 外 IP 进 行 敏 感 域 名 查 询 的 时 候, 不 是 说 只 有 你 在 往 这 些 知 名 国 外 DNS 查 询 的 时 候 才 会 发 生 劫 持, 你 也 不 要 指 望 说 能 不 能 找 到 个 比 较 低 调 没 被 GFW 发 现 的 DNS 服 务 器 IP 可 以 不 被 劫 持, 没 用 的 GFW 甚 至 都 不 用 判 断 目 标 IP 是 什 么, 只 要 是 通 过 出 口 网 关 往 外 面 跑 的, 查 询 敏 感 域 名 的 全 部 劫 持, 这 个 我 可 以 很 明 确 的 告 诉 你 说 到 这 个 什 么 低 调 的 没 被 GFW 发 现 的 DNS, 我 又 忍 不 住 要 说 个 题 外 话 Google 被 封 锁 之 后, 有 些 人 知 道 可 以 通 过 查 找 未 被 封 锁 IP 的 方 式 访 问 Google, 这 本 来 没 什 么, 各 有 各 的 方 法 可 偏 偏 有 些 人, 自 己 知 道 了 这 些 IP 之 后 就 把 这 些 信 息 当 成 了 自 己 的 私 有 财 产 你 不 肯 分 享 给 别 人 就 算 了, 还 要 去 攻 击 那 些 分 享 这 些 IP 的 人, 说 什 么 这 会 让 GFW 赶 尽 杀 绝 的 我 只 想 说 这 几 条 : 1. 没 别 人 的 分 享, 你 他 妈 哪 里 知 道 这 些 IP 的? 真 正 自 己 去 找 到 这 些 IP 的 人 根 本 不 会 说 这 种 话 2. 你 他 妈 真 以 为 GFW 会 需 要 你 来 告 诉 他 哪 些 IP 没 被 封? 真 要 想 动 手, 全 国 局 域 网 + 白 名 单 模 式 早 就

22 第 二 章 GFW 的 工 作 方 式 17 可 以 启 动 了 3. 自 我 阉 割 的 人 只 有 做 太 监 一 条 路 可 以 走, 还 未 必 做 得 成 4. Google 的 IP 从 来 就 不 是 你 的 私 有 财 产, 这 种 想 法 的 本 质, 除 了 自 私 还 是 自 私 好 吧 我 骂 完 了, 关 于 DNS 劫 持 的 具 体 发 生 阶 段 和 一 些 实 例 分 析, 可 以 参 考 我 网 站 上 的 文 章 : 重 新 理 解 GFW 的 DNS 污 染 和 劫 持 策 略 虚 假 IP 劫 持 那 么,GFW 会 返 回 一 些 什 么 样 的 错 误 信 息 给 你 呢? 就 目 前 各 方 面 统 计 的 信 息 来 看,GFW 返 回 给 你 的 虚 假 信 息, 其 实 就 是 篡 改 了 域 名 的 A 记 录 部 分, 把 你 指 引 导 错 误 的 IP 就 行 了 准 确 的 说, 不 只 是 A 记 录, 对 于 记 录 IPV6 地 址 的 AAAA 记 录 他 们 也 是 一 样 会 劫 持 的, 相 关 信 息 参 考 本 站 文 章 :GFW 的 DNS 劫 持 也 会 干 扰 IPV6 的 AAAA 记 录 目 前 还 值 的 庆 幸 的 是,GFW 返 回 的 虚 假 记 录 只 用 了 一 些 特 定 的 IP, 我 们 可 以 通 过 一 些 手 段 3 来 过 滤 掉 这 些 信 息, 从 而 获 得 正 确 的 解 析 结 果 3 目 前 已 知 的,GFW 用 于 DNS 劫 持 污 染 的 IP 有 48 个 4, 如 下 表 : 第 三 章 iptables 部 分 会 提 到 4 从 2015 年 年 初 开 始, 这 个 数 字 已 经 达 到 几 千, 对 应 的 防 污 染 办 法 也 跟 随 着 修 改, 传 统 的 依 靠 防 火 墙 过 滤 规 则 挡 住 污 染 的 方 法 已 经 失 效

23 第 二 章 GFW 的 工 作 方 式 关 于 为 什 么 使 用 特 定 IP 而 不 是 随 机 IP, 可 能 的 原 因 有 以 下 几 点 : 1. 因 为 劫 持 工 作 量 巨 大, 如 果 使 用 随 机 数 的 话, 生 成 随 机 数 的 计 算 负 担 会 更 重 2. 随 机 IP 可 能 指 向 正 常 工 作 的 网 站, 加 上 这 种 解 析 请 求 的 数 量 巨 大, 会 破 坏 全 球 网 络 的 稳 定 性 3. 部 分 IP 指 向 的 是 制 作 自 由 门 等 翻 墙 软 件 的 公 司, 通 过 这 种 方 式 实 际 上 是 对 他 们 发 起 DDOS 5 攻 击 空 包 劫 持 除 了 返 回 错 误 的 信 息 之 外, 我 还 观 察 到 一 次 很 特 殊 的 GFW 对 境 内 DNS 的 空 包 劫 持 没 错, 境 内, 这 也 在 提 醒 我 们 GFW 不 是 简 单 的 只 工 作 在 出 国 网 关 上, 而 是 同 时 也 分 部 在 全 国 各 个 骨 干 网 络 上 的 这 次 劫 持 发 生 在 我 用 114DNS 查 询 instagram 的 一 个 CDN 节 点 域 名 scontent-a.cdninstagram.com 的 时 候 我 们 的 查 询 包 默 认 是 要 求 服 务 器 做 递 归 查 询 的, 按 标 准 服 务 器 在 返 回 包 中 也 应 该 注 明 它 知 道 了 你 发 出 了 递 归 的 请 求, 可 是 GFW 劫 持 了 我 向 114 的 这 个 请 求, 返 回 了 一 个 不 需 要 递 归 请 求 的 响 应 包, 同 时 没 有 任 何 A 记 录, 而 Reply Code 中 的 错 误 代 码 是 没 有 错 误 5 分 布 式 拒 绝 服 务 攻 击

24 第 二 章 GFW 的 工 作 方 式 19 和 不 检 查 返 回 源 的 真 实 性 一 样,DNS 甚 至 都 不 会 检 查 应 答 包 中 关 于 递 归 请 求 的 部 分 是 否 发 生 了 变 化, 这 样 一 个 不 需 递 归 请 求, 没 有 A 记 录, 没 有 无 错 误 代 码 的 结 果 就 被 DNS 的 解 析 器 ( 客 户 端, 我 们 的 路 由 或 者 电 脑 ) 接 受 了, 因 为 格 式 完 全 符 合 协 议 规 范 啊, 然 后 一 个 明 明 存 在 的 域 名 就 成 了 找 不 到 IP 的 域 名 了 关 于 这 个 问 题, 具 体 细 节 参 考 文 章 GFW 的 DNS 劫 持 中 的 空 包 污 染 问 题 空 包 劫 持 的 问 题, 因 DNS ISP 不 同 有 很 大 的 区 别, 且 针 对 的 域 名 很 少, 总 的 来 说 这 种 行 为 是 GFW 的 DNS 劫 持 中 的 少 数 派 而 对 于 空 包 污 染 的 过 滤, 规 则 很 容 易 和 迭 代 查 询 的 数 据 包 匹 配 上, 所 以 会 阻 止 本 地 发 起 的 迭 代 查 询 的 结 果 但 我 们 的 OS 所 发 出 的 DNS 请 求 默 认 都 是 递 归 请 求, 基 本 上 不 用 担 心 这 个 问 题, 如 果 你 在 使 用 某 些 调 试 工 具 ( 例 如 Dig+trace 选 项 ) 的 时 候 发 现 没 有 数 据 返 回, 请 先 禁 用 这 个 空 包 过 滤 规 则 轻 松 的 扩 散 污 染 GFW 劫 持 搞 定 了 所 有 对 境 外 服 务 器 发 起 的 DNS 解 析 请 求 的, 就 从 源 头 上 保 证 了 我 们 的 递 归 DNS 服 务 器 只 可 能 获 得 敏 感 域 名 的 错 误 IP 那 剩 下 的 工 作 就 是 扩 散 污 染 了 我 们 前 面 说 过,DNS 服 务 器 有 两 种 工 作 方 式 1.6, 分 别 是 递 归 和 迭 代, 迭 代 是 一 种 很 蛋 疼 的 工 作 方 式, 但 现 实 中 总 还 是 有 部 分 DNS 服 务 器 是 在 以 迭 代 的 方 式 工 作 的 按 理 说, 这 些 DNS 服 务 器 几 乎 是 没 有 什 么 解 析 能 力 的 可 实 际 上 呢, 大 部 分 情 况 下 他 们 又 可 以 对 几 乎 所 有 域 名 的 解 析 请 求 都 做 出 响 应 那 么 他 们 自 己 不 能 做 递 归 查 询 去 获 取 域 名 的 各 种 记 录, 这 些 记 录 是 哪 里 来 的 呢?DNS 体 系 里, 还 有 一 个 东 西 叫 做 Zone Transfer 普 通 的 DNS 查 询, 一 般 只 是 查 询 域 名 的 A 记 录 1.5,DNS 服 务 器 也 只 是 响 应 一 条 A 记 录 但 是 DNS 中 还 有 一 种 特 殊 的 记 录 查 询, 叫 做 AXFR 记 录 当 一 个 DNS 服 务 器 接 收 到 这 种 记 录 查 询 的 时 候, 如 果 系 统 的 配 置 没 有 禁 止 这 条 命 令 的 查 询, 他 就 会 把 自 己 服 务 器 内 所 存 储 的 全 部 域 名 的 全 部 记 录 都 传 输 给 请 求 者, 这 个 过 程 因 为 数 据 量 庞 大 需 要 进 行 持 久 的 连 续 传 输, 且 安 全 性 要 求 高, 一 般 是 通 过 TCP 协 议 传 输 的, 如 果 走 UDP 的 话 可 以 被 黑 客 用 于 实 现 能 量 恐 怖 的 DNS 放 大 攻 击 7 这 样 一 个 查 询 AXFR 记 录, 并 取 得 另 一 台 DNS 服 务 器 上 所 有 记 录 的 过 程, 就 叫 做 Zone Transfer 不 过 一 般 来 说 DNS 服 务 器 都 不 会 支 持 或 允 许 你 任 意 查 询 AXFR 记 录, 否 则 负 担 会 大 的 不 可 思 议, 一 般 他 们 会 有 防 火 墙 策 略 只 允 许 特 定 的 主 机 查 询 AXFR 记 录 进 行 Zone Transfer 对 于 那 些 不 支 持 递 归 的 ISP 的 DNS 服 务 器, 只 可 能 是 以 这 样 的 形 式 取 得 域 名 记 录 的 ( 别 跟 我 说 拿 U 盘 拷 啊 ) 那 么 好 了, 支 持 递 归 解 析 的 DNS 服 务 器 已 经 被 劫 持 了, 而 只 能 迭 代 的 DNS 服 务 器 又 只 能 从 递 归 服 务 器 那 里 通 过 Zone Transfer 复 制 记 录, 毫 无 疑 问 复 制 到 的 也 是 被 污 染 的 数 据, 那 么 全 国 的 DNS 就 已 经 被 6 具 体 的 规 则 会 在 后 面 的 章 节 讨 论 7 指 利 用 伪 造 UDP 包 的 查 询 源 ( 被 攻 击 者 的 IP), 通 过 DNS 查 询 数 据 量 大 的 域 名 记 录 ( 例 如 TXT 记 录 ), 最 终 让 DNS 服 务 器 把 这 个 庞 大 的 响 应 包 返 回 到 被 攻 击 者 的 过 程, 而 庞 大 的 DNS 响 应 一 般 会 转 以 TCP 协 议 传 送, 这 就 造 成 了 被 攻 击 者 的 TCP 端 口 阻 塞

25 第 二 章 GFW 的 工 作 方 式 20 GFW 搞 定 了 你 也 许 会 说, 万 一 我 从 国 外 的 DNS 服 务 器 进 行 Zone Transfer 呢, 你 不 是 说 Zone Transfer 还 是 走 TCP 的 吗, 这 一 般 不 会 被 劫 持 了 吧 我 很 感 激 你 有 这 么 聪 明, 这 的 确 是 个 办 法 ( 其 实 我 也 是 临 时 想 到 的 ) 但 是 我 们 也 说 了, 绝 大 部 分 DNS 主 机 不 会 允 许 你 做 Zone Transfer, 这 个 负 担 太 重 了, 基 本 上 你 只 能 自 己 去 国 外 架 设 服 务 器, 搜 集 递 归 数 据, 然 后 Zone Transfer 到 国 内 了, 所 以 国 内 确 实 有 些 私 人 的 DNS 是 没 被 污 染 的 啊 当 然 我 觉 得 他 们 更 可 能 的 是 在 服 务 器 上 用 写 死 hosts 的 方 式 实 现 的, 这 种 方 式 怎 么 说 呢, 事 实 正 义, 而 程 序 不 正 义, 任 何 人 为 干 预 修 改 域 名 记 录 的 行 为 我 觉 得 本 质 都 是 劫 持 而 对 于 各 大 ISP 8 的 DNS 来 说, 你 觉 得 国 营 企 业, 有 这 可 能 吗? 2.2 敏 感 词 过 滤 我 对 这 种 技 术 的 研 究 比 较 少, 只 能 大 概 的 介 绍 一 下, 如 果 需 要 具 体 的 细 节, 可 以 在 你 能 翻 墙 之 后 参 考 这 篇 文 章, 还 有 这 篇 文 章, 或 者 wikipedia 上 关 于 TCP 重 置 攻 击 的 描 述 我 们 平 常 浏 览 网 页 所 用 的 协 议 叫 做 HTTP 协 议, 基 本 上 你 在 每 个 网 页 的 开 头 都 可 以 看 到 的 字 样 HTTP 协 议 本 身 是 一 个 比 TCP,UDP 更 高 一 层 的 ( 更 贴 近 用 户 ) 的 应 用 层 协 议, 但 上 层 协 议 最 终 都 是 要 以 封 包 后 以 更 底 层 传 输 层 的 方 式 进 行 传 输 例 如 DNS 协 议 是 用 UDP 协 议 传 输,HTTP 协 议 使 用 的 就 是 TCP 协 议 我 们 说 TCP 相 对 UDP 来 说 是 更 为 安 全 的, 但 这 只 是 相 对 的,TCP 数 据 依 然 是 可 以 被 中 间 人 修 改 的 最 简 单 的 例 子, 就 是 你 们 可 能 用 过 的 一 些 屏 蔽 优 酷, 土 豆 视 频 广 告 的 插 件 和 脚 本, 这 些 东 西 的 原 理 就 是 拦 截 并 修 改 HTTP 数 据 流, 将 涉 及 广 告 的 部 分 代 码 进 行 替 换 这 说 明 了 两 点,TCP 协 议 的 内 容 是 可 以 被 感 知 和 识 别 的 ( 比 如 找 到 广 告 代 码 的 部 分 ), 也 是 可 以 被 修 改 的 ( 替 换 成 无 广 告 的 代 码 ) 虽 然 TCP 协 议 不 会 像 UDP 那 么 容 易 让 第 三 方 伪 造 和 修 改 数 据, 但 肯 定 位 于 你 和 境 外 服 务 器 中 间 的 GFW 还 是 可 以 做 到 的, 没 见 过 圣 旨 的 情 况 下 伪 造 圣 旨 有 困 难, 可 是 让 传 旨 太 监 拿 着 现 成 的 圣 旨 改 个 字 还 是 很 容 易 的 8 Internet Service Provider, 网 络 服 务 提 供 商, 也 就 是 电 信, 联 通, 长 宽, 铁 通 之 类 的

26 第 二 章 GFW 的 工 作 方 式 21 图 2.2: TCP 重 置 注 入 HTTP 连 接 的 建 立, 有 一 个 著 名 的 三 次 握 手 过 程 : 客 户 端 先 向 服 务 器 发 出 连 接 请 求, 服 务 器 返 回 一 个 连 接 许 可, 客 户 端 再 发 起 连 接 确 认 如 果 GFW 检 测 到 你 要 访 问 的 某 个 地 址 中 包 含 了 敏 感 信 息 ( 域 名 本 身 可 能 就 是 敏 感 信 息 ), 他 就 修 改 或 冒 充 服 务 器 返 回 的 连 接 许 可, 告 诉 你 服 务 器 拒 绝 连 接, 这 样 客 户 端 就 会 自 己 放 弃 连 接, 你 们 平 常 上 网 经 常 看 到 的 大 部 分 网 络 连 接 被 重 置 就 是 这 个 的 结 果, 当 然, 少 数 情 况 下 可 能 服 务 器 真 的 出 问 题 也 会 拒 绝 连 接 你 也 许 会 问 我 们 能 不 能 忽 略 这 个 重 置 (RST) 消 息? 当 然 可 以, 可 是 GFW 比 你 想 得 更 多, 他 不 光 发 送 RST 给 你, 还 发 送 RST 给 服 务 器, 这 样 服 务 器 也 会 认 为 你 已 经 断 开 连 接 了, 就 不 再 发 送 数 据 给 你 了 GFW 这 种 做 法 的 优 势 很 明 显 : 不 需 要 对 完 整 的 HTTP 页 面 数 据 进 行 检 测, 只 要 发 现 URL( 网 页 地 址 ) 中 有 敏 感 信 息, 就 直 接 断 开 了 你 和 服 务 器 之 间 的 连 接, 大 大 减 轻 了 他 自 己 系 统 的 负 担 但 这 种 做 法 的 缺 点 也 很 明 显, 检 测 力 度 太 弱 了 大 家 最 熟 悉 的 例 子 莫 过 于 SexInSex 和 草 榴 这 些 色 情 网 站, 你 直 接 输 入 他 们 的 主 站 域 名 一 般 都 是 连 接 被 重 置, 但 只 要 找 个 其 他 的 IP 替 代 域 名, 一 点 问 题 都 没 有, 因 为 GFW 对 这 些 网 站 检 测 的 敏 感 信 息 仅 仅 是 URL 中 的 域 名, 在 你 把 域 名 替 换 为 不 敏 感 的 IP 之 后, 你 查 看 的 页 面 里 面 有 100 个 无 码 200 个 3P 它 也 完 全 不 在 乎 但 不 是 说 GFW 对 敏 感 信 息 的 检 测 仅 限 于 域 名, 对 于 一 些 数 据 量 很 大, 内 容 庞 杂 的 网 站,GFW 的 URL 检 测 会 精 确 到 页 面 例 如 你 在 wikipedia 上 查 种 猪 饲 养 技 术, 党 和 国 家 会 为 多 了 一 个 纳 税 人 感 到 高 兴 而 绝 对 不 拦 你, 可 是 如 果 你 要 查 八 九 年 天 安 门 学 运, 那 90 秒 内 你 就 别 想 访 问 wikipedia 了 我 们 也 经 常 碰 到 另 一 种 情 况, 就 是 某 些 网 站 使 用 的 是 HTTPS 协 议, 似 乎 在 使 用 这 些 网 站 的 时 候 我 们 从 来 不 会 碰 到 页 面 连 接 被 重 置 的 问 题, 这 是 为 什 么 呢? 这 是 因 为 HTTPS 采 用 了 公 钥 + 私 钥 9 加 密 技 术, 数 据 在 封 包 成 TCP 包 之 前 就 已 经 被 加 密 过, 敏 感 的 信 息 被 加 密 之 后 就 是 一 堆 无 法 解 读 的 乱 码, 这 些 信 息 对 于 GFW 来 说 是 无 法 解 读 的, 或 者 说 解 读 成 本 是 巨 大 的, 这 就 使 得 一 直 到 今 天 ( 2015 年 1 月 21 日 ), 我 们 也 没 有 看 到 哪 个 HTTPS 页 面 被 GFW 连 接 重 置 9 在 下 一 章 讲 DNSSEC 的 时 候 会 再 谈 公 钥 + 私 钥 加 密 体 系

27 第 二 章 GFW 的 工 作 方 式 IP 阻 断 这 应 该 是 我 所 知 道 的 GFW 的 最 后 绝 招 了 我 们 前 面 说 了 GFW 的 手 段 有 DNS 污 染, 敏 感 词 检 测 重 置, 如 果 一 个 网 站 不 用 域 名 直 接 用 IP, 或 者 有 很 多 方 法 可 以 让 别 人 知 道 它 域 名 的 真 实 IP( 草 榴 在 这 方 面 就 很 出 色 嘛 ), 同 时 页 面 还 都 是 HTTPS 形 式 加 密 过 的,GFW 就 没 办 法 了?Naive! 没 办 法 骗 你 去 南 半 球 看 兵 马 俑 了, 骗 你 说 紫 禁 城 被 拆 迁 了 你 也 不 相 信 了, 老 子 就 把 你 要 走 的 路 直 接 给 断 了 其 实 我 觉 得 我 应 该 在 第 一 章 补 充 一 个 路 由 概 念 的, 好 吧, 就 在 这 里 说 吧 首 先 我 们 要 知 道, 网 络 上 的 任 意 两 个 IP, 他 们 之 间 建 立 连 接 几 乎 都 不 可 能 是 直 连 的, 如 果 任 意 两 个 IP 都 可 以 直 连,GFW 就 只 能 裁 掉 全 部 技 术 人 员 改 建 爆 破 大 队 直 接 破 门 了, 就 好 像 如 果 你 从 广 州 到 北 京 是 通 过 一 条 直 通 的 封 闭 管 道 进 行 的, 那 车 匪 路 霸 早 饿 死 了 无 论 是 面 向 连 接 的 TCP, 还 是 不 面 向 连 接 的 UDP, 数 据 在 网 络 上 的 两 个 IP 之 间 的 传 送, 都 是 通 过 一 级 一 级 的 路 由 中 继 完 成 的, 只 不 过 TCP 的 中 继 路 径 在 连 接 建 立 之 后 是 固 定 的, 而 UDP 的 中 继 路 径 每 次 都 不 同 例 如 你 要 从 国 内 的 A 到 国 外 的 B, 数 据 传 送 的 实 际 路 径 可 能 是 这 样 的 : 图 2.3: 静 态 路 由 丢 弃 别 的 节 点 都 可 能 会 变, 但 GFW 肯 定 会 在 这 条 路 的 中 间 出 现 是 不 用 怀 疑 的 你 看,GFW 这 个 位 置 不 当 车 匪 路 霸 都 可 惜 了 一 个 数 据 到 达 一 个 节 点 后, 下 一 个 节 点 发 往 哪 里 是 由 一 个 叫 路 由 表 的 东 西 控 制 的, 动 态 路 由 10 表 是 由 一 套 路 由 算 法 得 出 的, 而 静 态 路 由 表 则 是 可 以 人 为 指 定 的 GFW 觉 得 静 态 路 由 表 是 个 好 东 西, 就 充 分 发 挥 了 它 的 错 误 利 用 10 虽 然 现 在 针 对 动 态 路 由 表 的 BGP 劫 持 技 术 GFW 也 早 就 掌 握 了, 但 我 们 先 不 考 虑 这 么 复 杂 的 东 西

28 第 二 章 GFW 的 工 作 方 式 23 假 定 GFW 发 现 某 个 境 外 反 动 网 站, 并 且 知 道 了 他 的 IP 是 我 们 已 经 知 道 GFW 是 控 制 了 中 国 的 网 络 出 口 网 关 的, 也 就 是 说 不 管 你 怎 么 访 问, 不 管 前 面 后 面 的 节 点 是 什 么, 最 终 都 要 通 过 GFW 这 个 节 点 那 么 一 个 对 发 起 的 网 络 请 求, 在 数 据 到 达 GFW 节 点 之 后, 根 据 路 由 表 下 一 个 节 点 应 该 发 往 哪 里 呢?GFW 猥 琐 地 猛 吸 一 口 烟 屁 股, 嗯, 发 往 达 美 克 星! 达 美 克 星? 没 错! 那 是 什 么 鬼 地 方? 不 知 道! 那 怎 么 办? 爱 咋 办 咋 办! 反 正 这 个 网 络 请 求 最 终 的 命 运 我 是 不 知 道, 只 知 道 它 被 发 送 到 了 一 个 黑 洞 地 址 同 样 的, 所 有 发 往 的 请 求 全 部 要 被 发 往 这 个 根 本 不 存 在 的 黑 洞 地 址 当 然 你 要 觉 得 达 美 克 星 太 残 忍, 撒 哈 拉 沙 漠 正 中 央 也 是 可 以 考 虑 的 选 项, 总 之 是 一 个 让 你 进 得 去 就 出 不 来 的 地 址 那 么, 毫 无 疑 问 的, 国 内 网 络 通 往 的 路 径 就 被 切 断 了, 你 知 道 IP 有 什 么 用, 部 署 了 HTTPS 加 密 又 有 什 么 用?

29 第 三 章 常 用 的 辅 助 工 具 这 个 世 界, 没 有 什 么 是 比 时 间 更 宝 贵 的 再 经 过 一 些 更 进 阶 的 知 识 准 备 ( 你 不 会 真 以 为 第 一 章 那 些 文 科 生 普 及 文 档 就 足 够 了 吧 ), 我 们 很 快 就 可 以 开 始 正 题 了 注 意! 本 章 的 命 令 默 认 都 是 Linux 系 统 命 令, 因 为 我 们 最 后 要 面 对 的 OpenWRT 就 是 一 个 Linux 系 统 3.1 Ping 和 TCPing 命 令 Ping 命 令, 是 一 个 基 于 网 络 层 ( 比 传 输 层 还 底 层 ) 的 ICMP(Internet Control Message Protocol) 协 议 的 命 令, 主 要 用 于 检 测 和 目 标 主 机 之 间 的 网 络 是 否 通 畅, 以 及 网 络 的 延 时 Ping 命 令 的 使 用 非 常 简 单, 开 始, 运 行,cmd, 回 车, 打 开 命 令 提 示 符 ( 我 想 linux 用 户 应 该 不 需 要 我 来 教 你 们 怎 么 打 开 terminal), ping IP 地 址, 或 者 ping 网 站 域 名 Ping 命 令 的 解 读 实 在 太 人 性 化 了, 我 觉 得 我 就 没 必 要 再 解 释 了 ping 命 令 我 们 一 般 很 少 加 别 的 参 数 运 行,windows 下 默 认 ping 只 运 行 4 次, 加 上 参 数 -t 后 可 以 让 命 令 持 续 运 行, 直 到 我 们 手 工 停 止 1 但 是 前 几 年, 有 一 种 很 流 行 的 网 络 攻 击 手 段 就 是 利 用 ping 命 令 进 行 的, 所 以 很 多 主 机 现 在 都 会 在 防 火 墙 规 则 里 禁 止 ping 响 应, 即 使 你 可 以 访 问 网 站 也 未 必 就 可 以 ping 通 这 种 情 况 下 我 们 可 以 利 用 另 一 个 tcping 工 具, 通 过 对 远 程 服 务 器 的 TCP 端 口 的 通 畅 与 否 进 行 检 测, 来 判 断 网 络 的 畅 通 tcping 在 windows 和 linux 系 统 中 都 不 是 内 建 的 命 令, 需 要 我 们 自 己 去 下 载,TCPING 的 官 方 网 站 在 这 里 TCPing 的 命 令 参 数 和 使 用 方 法 和 Ping 很 相 似, 主 要 的 区 别 是 Ping 是 通 过 既 有 的 ICMP 协 议 进 行, 而 TCPing 是 通 过 TCP 协 议 进 行, 所 以 可 以 再 最 后 加 入 一 个 端 口 参 数, 对 服 务 器 的 不 同 端 口 进 行 探 测, 例 如 网 页 服 务 器 默 认 是 探 测 80 端 口 ( 不 指 定 端 口 时 默 认 就 是 80), 而 邮 件 服 务 器 可 以 探 测 SMTP 的 25 端 口 基 本 上 对 于 一 个 网 站 来 说,80 端 口 是 不 可 能 关 闭 的, 所 以 我 们 一 般 会 用 TCPing 来 代 替 Ping 对 本 地 到 服 务 器 之 间 的 网 络 通 断 进 行 探 测 1 ping flood 24

30 第 三 章 常 用 的 辅 助 工 具 traceroute 命 令 我 们 在 上 一 章 最 后 一 节 2.3 提 到 另 一 个 路 由 表 的 概 念, 我 们 说 了 路 由 表 决 定 了 两 个 IP 之 间 的 连 接 最 终 是 通 过 那 些 节 点 连 接 起 来 的 如 果 我 们 想 要 查 看 两 个 IP 之 间 的 连 接 实 际 经 过 了 哪 些 节 点, 就 可 以 借 助 traceroute 命 令 来 查 看 traceroute 命 令 的 使 用 非 常 简 单, traceroute+ 目 标 IP 然 后 就 会 开 始 追 踪 出 你 和 目 标 IP 之 间 经 过 的 路 由 节 点 了, 当 然 你 也 可 以 直 接 用 traceroute+ 域 名 的 方 式, 前 提 是 你 执 行 traceroute 命 令 的 机 器 有 个 正 常 工 作 的 DNS 系 统, 能 正 常 解 析 域 名 在 windows 下, 有 一 个 等 效 的 命 令 叫 做 tracert 如 果 你 有 兴 趣 的 话, 可 以 去 这 个 页 面 看 看 traceroute 的 详 细 解 释 我 们 在 windows 下 用 tracert 命 令 跟 踪 一 下 twitter.com 试 试 : 图 3.1: 通 过 翻 墙 路 由 的 tracert 第 三 行 的 目 标 IP 因 为 是 我 VPN 服 务 器 的 IP, 所 以 抹 黑 隐 藏 掉 可 以 看 到,tracert 会 对 每 一 个 节 点 发 出 3 次 探 测 包, 并 检 查 每 一 次 节 点 响 应 的 速 度, 但 这 三 次 探 测 并 不 一 定 每 一 次 都 会 有 响 应, 于 是 就 出 现 了 星 号 * 一 般 来 说, 如 果 到 一 个 节 点 之 后 出 现 了 3 个 星 号, 就 意 味 着 到 这 个 节 点 之 后 网 路 已 经 中 断 了 ( 大 部 分 是 被 GFW 通 过 静 态 路 由 丢 弃 了 ) 但 也 有 可 能 是 某 些 节 点 因 为 自 身 的 设 置 不 响 应 tracert 的 探 测, 碰 到 这 种 情 况 继 续 等 待 一 下, 如 果 在 等 待 过 几 个 节 点 之 后 探 测 信 息 又 恢 复 了, 那 说 明 只 是 个 别 节 点 不 响 应 而 已, 但 网 路 还 是 通 的 而 对 于 没 有 VPN 转 发 的 普 通 中 国 网 路 来 说, 到 twitter 的 通 路 一 般 都 是 断 的, 结 果 会 是 这 样 : root@openwrt:~# traceroute twitter.com traceroute to twitter.com ( ), 30 hops,max 38 byte packets

31 第 三 章 常 用 的 辅 助 工 具 ( ) ms ms ms in-addr.arpa ( ) ms ms * in-addr.arpa ( ) ms ms ms ( ) ms ( ) ms ms ( ) ms ms ms ( ) ms ms ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 可 以 看 到 从 第 六 个 几 点 之 后 就 再 也 没 有 跟 踪 信 息 了, 通 过 一 些 查 IP 的 网 站 我 们 可 以 看 到, 最 后 一 个 节 点 是 中 国 移 动 的 骨 干 网, 也 就 是 说 我 们 对 twitter 的 访 问 在 这 个 位 置 被 路 由 丢 弃 了, 根 本 就 没 达 到 国 外, 更 不 要 说 twitter 的 服 务 器 了 3.3 route 命 令 既 然 GFW 可 以 通 过 静 态 路 由 丢 弃 我 们 的 网 络 请 求, 那 么 我 们 自 己 可 以 用 静 态 路 由 表 来 绕 过 GFW 吗? 当 然 可 以, 这 就 是 route 命 令 的 一 个 重 要 作 用 了 Route 命 令 的 Man Pange 在 这 里, 有 时 间 一 定 要 多 去 看 看 这 些 命 令 的 man page, 我 不 可 能 把 每 一 条 都 很 详 细 的 给 你 翻 译 过 来 我 们 说 了 traceroute 是 检 查 两 个 IP 之 间 实 际 的 路 由 状 况, 而 route 命 令 就 是 查 看 当 前 主 机 上 已 有 的 路 由 表 的 命 令 直 接 输 入 route, 我 们 就 会 看 到 类 似 如 下 的 信 息 (VPN IP 隐 去 ): root@openwrt:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default UG eth * U eth * UH pptp -VPN 106.XXX.XXX.XXX UGH eth XXX.XXX.XXX UGH eth * UH pptp -VPN * U br-lan 分 栏 解 释 :Destination 是 目 标 地 址,default 就 是 默 认 的 所 有 地 址 Gateway 是 网 关 我 解 释 过 了,Gen- Mask 是 掩 码, 其 实 我 也 解 释 过 了 Iface 是 对 应 的 接 口 名, 我 也 解 释 过 了 Metric,Ref 和 Use 在 很 多 内 核 中 都 不 使 用, 我 们 不 用 管 Flags 里 的 字 母 含 义 分 别 如 下 : 1. U, 表 示 这 个 路 由 活 着 (Up)

32 第 三 章 常 用 的 辅 助 工 具 H, 表 示 这 货 是 台 主 机 (Host), 在 网 络 中 主 机 和 路 由 是 不 同 的 3. G, 表 示 要 通 过 网 关 访 问 (Use Gateway) 上 面 这 个 例 子 中, 是 我 路 由 接 入 的 默 认 网 关, 我 默 认 的 所 有 网 络 (default) 都 是 通 过 这 个 网 关 访 问 的, 这 个 网 关 对 应 的 接 口 是 eth0.2 而 /24 是 我 路 由 后 面 分 配 出 来 的 内 网 网 络, 我 在 这 个 内 网 里 互 访 主 机 是 不 需 要 经 过 网 关 的, 所 以 这 里 没 有 G 当 然 我 们 主 要 的 目 的 不 是 查 看 路 由 表, 而 是 修 改 路 由 表 我 们 可 以 看 到 上 面 的 是 VPN 服 务 器 对 应 的 网 关, 我 们 到 VPN 服 务 器 的 网 络 是 通 畅 的,VPN 服 务 器 到 twitter 的 网 络 也 是 通 畅 的, 那 么 我 们 就 可 以 通 过 VPN 网 关 来 访 问 twitter 了 最 简 单 粗 暴 的 做 法 是 直 接 把 我 们 的 默 认 接 口 改 成 VPN 接 口, 这 样 我 们 所 有 的 网 络 请 求 都 会 通 过 VPN 接 口 进 行 了, 只 要 GFW 不 拦 截 我 们 到 VPN 的 通 路, 那 就 没 什 么 可 以 阻 拦 我 们 了 route add default dev pptp -VPN 这 里 的 pptp-vpn 要 根 据 实 际 情 况 来 确 定, 我 们 在 前 面 说 过 可 以 通 过 ifconfig 命 令 来 查 看 各 个 接 口 的 名 称, 但 我 们 也 可 以 通 过 一 些 脚 本 来 自 动 提 取 这 个 信 息, 这 个 可 以 用 后 面 提 到 的 SED 配 合 正 则 表 达 式 很 轻 松 的 实 现 如 果 我 们 不 需 要 让 所 有 网 络 都 走 VPN 了, 只 要 删 除 这 条 路 由 表 就 行 了, 命 令 很 简 单 只 要 把 add 改 成 del 就 行 了 route del default dev pptp -VPN 如 果 让 路 由 上 的 所 有 网 络 访 问 都 走 VPN, 其 实 和 我 们 直 接 在 本 机 挂 全 局 VPN 也 没 什 么 区 别, 唯 一 的 区 别 就 是 可 能 方 便 了 一 些 不 能 拨 VPN 的 设 备 使 用, 节 约 了 一 些 连 VPN 的 动 作 时 间 而 已 一 种 更 精 确 的 做 法, 是 指 针 对 被 GFW 屏 蔽 的 IP 走 VPN, 这 也 是 FreeRouter V1 的 做 法 例 如 我 们 假 定 twitter.com 的 IP 是 , 只 需 要 执 行 如 下 命 令 即 可 : route add -host dev pptp -VPN 这 个 -host 是 默 认 选 项, 不 写 也 可 以, 指 的 是 添 加 一 个 IP 作 为 目 标 地 址 有 的 时 候 一 些 网 站 有 很 多 个 IP, 但 一 般 都 是 处 于 同 一 个 网 段 内, 例 如 我 们 假 设 google 的 IP 范 围 是 , 我 们 就 用 -net 选 项 表 示 添 加 一 个 网 段 作 为 目 标 地 址 : route add -net /24 dev pptp -VPN 具 体 的 掩 码 要 写 多 少 可 以 根 据 实 际 情 况 调 整, 但 很 多 时 候 我 们 不 知 道 确 切 的 范 围, 只 好 把 整 个 C 地 址 网 段 全 部 加 入 VPN 路 由 表 了 由 此 可 以 看 出,FreeRouter V1 一 个 很 大 的 问 题 就 是 IP 的 搜 集 非 常 困 难, 如 果 发 生 IP 变 动 的 话 更 是 难 上 加 难 多 加 了 关 系, 顶 多 是 多 消 耗 一 点 VPN 的 流 量 ; 如 果 漏 加 了 就 非 常 麻 烦 了, 对 于 dropbox 这 些 靠 客 户 端 形 式 工 作 的 东 西 来 说, 除 了 抓 包 都 没 有 直 观 的 方 式 可 以 获 取 服 务 器 的 IP 这 也 就 是 为 什 么 我 会 最 终 停 止 V1 的 更 新, 全 力 投 入 V2 的 维 护 的 主 要 原 因

33 第 三 章 常 用 的 辅 助 工 具 Dig 命 令 我 们 前 面 讲 了 如 何 用 traceroute 来 检 查 网 络 中 的 路 由 跳 跃 情 况, 现 在 来 讲 讲 如 何 用 Dig 命 令 检 查 域 名 的 解 析 情 况 在 windows 和 linux 系 统 中, 有 一 个 很 基 本 的 域 名 解 析 工 具 叫 nslookup, 但 相 对 而 言 dig 的 功 能 和 返 回 的 信 息 要 强 大 得 多 在 这 里 下 载 bind, 就 可 以 获 得 dig 工 具 了 你 们 看 一 下 Dig 的 Man Page 就 会 发 现 这 货 的 参 数 多 得 吓 人, 我 们 只 挑 一 些 可 能 常 用 的 讲 解 首 先 讲 一 下 Dig 命 令 的 基 本 使 用 格 式 : Domain QueryType 例 如 我 们 要 通 过 Google DNS 来 查 facebook.com 的 IPV6 地 址 (AAAA 记 录 ) 就 是 这 样 的 : facebook.com AAAA 返 回 的 信 息 是 这 样 的 : root@openwrt:~# facebook.com A ; <<>> DiG facebook.com A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER <<- opcode:,query status:,noerror id: 702 ;; flags: qr rd ra; QUERY:,1 ANSWER:,1 AUTHORITY:,0 ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version:,0 flags:; udp: 512 ;; QUESTION SECTION: ;facebook.com. IN A ;; ANSWER SECTION: facebook.com. 723 IN A ;; Query time: 74 msec ;; SERVER: #53( ) ;; WHEN: Mon Jul 28 15:56:07 CST 2014 ;; MSG SIZE rcvd: 57 所 有 以 分 号 ; 开 始 的 内 容 都 是 dig 命 令 对 获 取 到 的 原 始 返 回 信 息 的 注 释 部 分, 没 有 注 释 的 部 分 才 是 我 们 真 正 要 查 询 的 内 容 这 里 解 释 部 分 内 容 : status:noerror 这 是 DNS 返 回 的 信 息 中 Reply Code 部 分, 用 于 告 知 客 户 端,DNS 服 务 器 这 次 进 行 的 查 询 是 否 成 功 还 是 有 错 误 发 生

34 第 三 章 常 用 的 辅 助 工 具 29 id:702 这 个 就 是 DNS 查 询 和 返 回 信 息 中 的 Transaction ID, 因 为 UDP 协 议 不 是 按 顺 序 到 达 的, 所 以 这 个 ID 用 于 把 查 询 和 返 回 信 息 配 对 flags:qr rd ra 这 个 是 DNS 返 回 信 息 中 的 Flag 部 分,QR 表 示 这 是 一 个 返 回 响 应 包 ( 对 应 查 询 包 ),rd 表 示 客 户 端 请 求 进 行 递 归 查 询,ra 表 示 服 务 器 支 持 递 归 查 询 QUERY:1 表 示 收 到 一 个 查 询 ANSWER: 表 示 回 应 了 一 个 答 复 AUTHORITY:0 表 示 没 有 从 域 名 的 权 威 名 称 服 务 器 查 询 数 据, 可 能 因 为 DNS 缓 存 中 已 经 有 这 个 记 录 了, 就 不 需 要 查 询 了 ADDITIONAL:1 表 示 有 一 条 额 外 的 信 息, 一 般 是 域 名 的 权 威 名 称 服 务 器 的 地 址 中 间 就 是 查 询 的 内 容 和 回 复 的 内 容 了, 应 该 很 好 理 解 最 后 是 整 个 查 询 过 程 的 耗 时, 以 及 原 始 信 息 有 多 少 个 字 节 除 了 这 种 基 本 的 查 询,dig 有 很 多 选 项 可 以 用, 常 用 的 有 : +short 表 示 不 显 示 所 有 注 释 部 分 的 代 码, 只 显 示 要 查 询 的 数 据, 这 个 选 项 可 以 用 在 脚 本 里 给 其 他 命 令 提 供 域 名 的 IP +vc 表 示 用 TCP 方 式 查 询, 而 不 是 用 UDP 方 式,TCP 模 式 查 询 受 到 GFW 劫 持 的 影 响 非 常 小 ( 不 是 没 有, 只 是 范 围 很 小 ) +dnssec 表 示 查 询 域 名 的 DNSSEC 签 名 信 息, 关 于 DNSSEC 会 在 后 面 讲 解 +trace 表 示 禁 止 服 务 器 用 递 归 方 式 查 询, 一 般 来 说 就 是 让 DNS 返 回 根 域 服 务 器 的 地 址, 然 后 客 户 端 自 己 去 做 迭 代 查 询, 后 面 的 查 询 和 DNS 服 务 器 不 再 有 关 系, 只 取 决 于 客 户 端 和 各 级 名 称 服 务 器 之 间 的 网 络 关 于 dig +trace 可 能 是 我 们 实 际 调 试 中 用 到 最 多 的 命 令 了, 关 于 这 个 命 令 的 一 些 使 用 实 例, 可 以 参 考 本 站 文 章 : 重 新 理 解 GFW 的 DNS 污 染 和 劫 持 策 略 3.5 正 则,SED,AWK 正 则 表 达 式 是 一 件 屠 龙 神 器, 但 是 要 把 它 讲 好 非 常 困 难, 我 的 建 议 是 阅 读 这 篇 正 则 表 达 式 30 分 钟 入 门, 这 是 我 目 前 见 过 最 好 的 正 则 表 达 式 入 门 的 文 章 了 我 只 讲 一 个 SED 配 合 正 则 表 达 式 使 用 的 例 子, 让

35 第 三 章 常 用 的 辅 助 工 具 30 你 们 有 一 点 基 本 的 概 念, 因 为 如 果 你 完 全 不 了 解 正 则 表 达 式, 这 几 个 命 令 在 你 看 起 来 可 能 会 跟 天 书 一 样 难 懂 我 写 过 一 篇 文 章 讲 的 是 如 何 从 greatfire.org 网 站 上 抓 取 在 中 国 被 屏 蔽 率 超 过 70% 的 网 站 域 名, 然 后 生 成 用 于 FreeRouter V2 的 配 置 文 件, 这 个 脚 本 的 代 码 如 下 : set -x Output="./greatfire.conf" if [ -f $Output ] then rm $Output fi Threshold=70 for i in do curl -s --insecure " -top domains?page=$i" \ grep 'class="first"' grep 'class="blocked"' grep -ve "google" \ sed -e "s#^[^\/]*\/\([^\"]*\)[^\%]*\%...\([^\%]*\)\%.*#\1 \2#g" \ awk '$2>='"$Threshold"' {print "ipset=/"$1"/vpn" }'\ >>$Output done 看 不 懂 没 关 系, 一 行 行 解 释 : 1. set -x 表 示 打 开 调 试, 方 便 查 看 脚 本 运 行 信 息 2. 刚 开 始 是 清 理 掉 之 前 的 输 出 文 件 3. Threshold=70 是 一 个 表 示 屏 蔽 率 的 变 量, 我 们 说 了 是 70% 4. curl -s insecure... 是 用 curl 下 载 一 个 网 页,-s 表 示 静 默 模 式 工 作, insecure 是 因 为 这 是 个 https 网 页, 因 为 一 些 证 书 的 问 题 我 用 这 个 选 项 绕 过 去 5. 最 后 面 的 $i 表 示 上 面 从 1 到 9 的 数 字, 因 为 要 抓 很 多 个 页 面 6. 另 外 提 一 下,openwrt 的 shell 是 ash, 非 常 精 简 也 很 简 陋, 连 for 循 环 都 只 能 这 样 一 个 个 的 写 那 个 网 页 中, 关 于 被 屏 蔽 的 网 站 部 分 的 源 码 是 这 样 的 : tr class="odd"><td class="first"><a href="/facebook.com">facebook.com </a></td><td 月 >2 2011</td><td class="blocked" style="background -size: 100%;" >100%</td><td class="tags"><a href="/search/ blocked" class="tag">blocked </a, > 继 续 解 释 :

36 第 三 章 常 用 的 辅 助 工 具 grep class=first grep class= blocked 是 表 示 把 网 页 众 多 行 的 源 码 中, 包 含 这 两 个 字 符 串 的 行 提 取 出 来, 2. grep -ve google 是 表 示 把 包 含 google 这 个 字 符 串 的 行 剔 除 掉 ( 因 为 Google 太 多 子 域 名 了, 我 觉 得 没 必 要 全 部 提 取 ) sed -e "s#^[^\/]*\/\([^\"]*\)[^\%]*\%...\([^\%]*\)\%.*#\1 \2#g" \ 1. SED 是 基 于 一 行 一 行 输 入 的 流 编 辑 工 具,-e 是 为 了 使 用 多 个 命 令, 其 实 这 里 没 必 要. 2. 后 面 的 s# 一 大 堆 东 西 # 又 是 一 大 堆 #g 是 VIM 用 户 很 熟 悉 的 查 找 替 换 命 令, 我 们 的 目 的 是 把 域 名 和 屏 蔽 率 提 取 出 来. 3. 表 示 一 个 字 符 串 的 开 始, 然 后 中 间 通 过 一 次 次 的 反 斜 线 逐 步 往 后 定 位. 4. 用 括 号 括 起 来 的 部 分, 就 是 一 个 分 组, 这 里 的 分 组 1 就 是 域 名, 分 组 2 就 是 被 屏 蔽 率 awk '$2>='"$Threshold"' {print "ipset=/"$1"/vpn" }'\ 1. 你 可 以 认 为 awk 是 一 个 类 似 excel 的 工 具, 他 可 以 把 输 入 的 数 据 按 列 进 行 处 理 2. $2 就 是 分 组 2, 也 就 是 被 屏 蔽 率, 我 们 和 设 定 的 70 去 比 较, 就 是 说 如 果 屏 蔽 率 大 于 70% 就 进 行 后 面 的 操 作 3. 如 果 被 屏 蔽 率 大 于 70%, 就 在 $1, 也 就 是 域 前 后 分 别 添 加 一 些 别 的 字 符, 最 终 组 成 我 们 要 的 配 置 文 件 说 到 底 我 还 是 没 怎 么 讲 清 正 则 表 达 式 的 理 解, 其 实 每 次 写 正 则 表 达 式 都 很 头 痛 要 调 半 天, 你 们 还 是 自 己 去 上 面 提 到 的 那 个 链 接 里 字 自 己 好 好 学 学 吧. 其 实 FreeRouter2 项 目 本 身 并 不 依 赖 这 些 工 具, 只 是 一 些 辅 助 脚 本 用 到 了, 不 过 我 说 了 要 尽 量 让 每 一 个 细 节 都 被 你 们 理 解, 所 以 至 少 要 在 这 里 把 用 到 的 工 具 和 相 关 的 教 程 交 给 你 们.

37 第 四 章 FreeRouter V2 的 技 术 原 理 你 在 干 什 么, 没 有 人 可 以 阻 止 他 们 我 就 是 没 有 人! 如 果 你 觉 得 前 面 的 几 个 命 令 要 么 你 早 就 会 了, 要 么 你 用 不 上, 那 么 从 这 节 开 始 的 内 容 你 必 须 一 个 字 一 个 字 仔 细 的 去 看, 因 为 这 章 的 前 三 节 是 FreeRouterV2 用 到 的 关 键 技 术 所 在, 如 果 你 不 理 解 ip 命 令 如 何 工 作, 不 理 解 iptables 是 怎 么 工 作, 不 理 解 Dnsmasq 是 怎 么 工 作 的, 你 根 本 就 无 法 理 解 FreeRouter V2 是 怎 么 工 作 的 4.1 IP 命 令 除 了 前 面 提 到 的 route 命 令 之 外, 我 们 其 实 还 有 一 个 更 强 大 的 用 于 维 护 路 由 表 的 工 具, 就 是 ip 命 令, 它 的 说 明 请 参 考 man page IP 命 令 的 功 能 太 过 强 大, 我 们 只 讲 我 们 后 面 会 用 到 的 几 种 情 况 table 概 念 首 先 我 们 这 里 要 先 建 立 一 个 table 概 念, 你 可 以 认 为 table 是 一 个 网 络 访 问 请 求 ( 数 据 流 ) 的 容 器 一 般 情 况 下, 我 们 可 以 把 符 合 一 定 特 征 的 网 络 访 问 请 求 ( 数 据 流 ) 都 收 集 到 一 个 table 中, 这 样 当 我 们 需 要 对 有 这 一 类 特 征 的 网 络 访 问 请 求 进 行 处 理 时, 就 可 以 直 接 操 作 这 个 table 了, 而 不 需 要 一 条 一 条 的 去 处 理 在 linux 操 作 系 统 中,table 就 是 一 个 0 到 255 的 数 字, 当 然 我 们 也 可 以 在 /etc/iproute2/rt_tables 文 件 中 给 table 数 字 对 应 上 一 个 名 称, 然 后 就 可 以 用 这 个 名 称 来 操 作 这 个 table 了 例 如 我 们 的 OpenWRT 系 统 里 的 rt_tables 文 件 默 认 是 这 样 的 : # # reserved values # 255 local 254 main 253 default 32

38 第 四 章 FREEROUTER V2 的 技 术 原 理 33 0 unspec # # local # #1 inr.ruhep local,main,default,unspec 这 些 都 是 系 统 内 建 的 ip table, 可 以 看 到 他 们 分 别 都 对 应 了 一 个 数 字, 你 操 作 table 254 和 操 作 table main 其 实 是 完 全 一 样 的 我 们 也 可 以 修 改 这 个 文 件, 建 立 一 个 自 己 的 table, 例 如 我 们 可 以 建 立 一 个 ID 为 10, 名 字 叫 vpn 的 table 如 果 我 们 想 要 在 访 问 被 封 锁 网 站 的 时 候 通 过 VPN 接 口 出 去, 那 我 们 就 可 以 先 对 这 些 数 据 打 上 标 签 4.2.2, 然 后 用 ip rule 命 令 把 有 这 些 标 签 的 数 据 全 部 加 入 一 个 table 把 数 据 添 加 到 table 假 定 我 们 现 在 已 经 把 要 访 问 全 部 被 封 锁 网 站 的 数 据 打 上 了 标 签 1(fwmark 1), 我 们 又 已 经 建 立 了 一 个 名 叫 vpn 的 table, 那 么 命 令 就 可 以 这 样 写 : ip rule add fwmark 1 priority 1984 table vpn 先 阅 读 一 下 man page 上 对 这 个 命 令 的 注 释 : ip rule [ list add del flush ] SELECTOR ACTION SELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ] [ dev STRING ] [ pref NUMBER ] ACTION := [ table TABLE_ID ] [ nat ADDRESS ] [ prohibit reject unreachable ] [ realms [SRCREALM/] DSTREALM ] TABLE_ID := [ local main default NUMBER ] 说 明 如 下 : 1. ip rule add 表 示 添 加 一 条 规 则 2. fwmark 1 表 示 符 合 fwmark( 标 签 ) 值 等 于 1 的 数 据 3. priority 1984, 表 示 这 条 规 则 的 优 先 级 是 1984, 每 条 命 令 必 须 有 独 立 的 优 先 级 优 先 级 从 0 到 32767, 数 字 越 小 优 先 级 越 高, 但 一 般 都 是 已 经 分 配 的, 所 以 你 要 在 这 几 个 数 中 间 选 一 个 数 作 为 优 先 级 4. table vpn 表 示 把 这 些 数 据 全 部 添 加 到 vpn 这 个 table 里 去

39 第 四 章 FREEROUTER V2 的 技 术 原 理 34 如 果 想 检 查 已 有 的 ip rule, 可 以 用 以 下 的 命 令 : ip rule list 一 般 情 况 下 你 会 看 到 如 下 的 回 显 : 0: from all lookup local 1984: from all fwmark 0x1 lookup vpn 32766: from all lookup main 32767: from all lookup default 让 table 数 据 走 VPN 接 口 现 在 我 们 已 经 有 了 一 个 table 了, 如 何 让 这 个 table 走 VPN 接 口 呢? 先 阅 读 一 下 man page 上 的 说 明 : ip route { add del change append replace monitor } ROUTE SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ] [ table TABLE_ID ] [ proto RTPROTO ] [ type TYPE ] [ scope SCOPE ] ROUTE := NODE_SPEC [ INFO_SPEC ] NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ] [ table TABLE_ID ] [ proto RTPROTO ] [ scope SCOPE ] [ metric METRIC ] INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ]... NH := [ via ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ] [ rtt TIME ] [ rttvar TIME ] [ window NUMBER ] [ cwnd NUMBER ] [ initcwnd NUMBER ] [ ssthresh REALM ] [ realms REALM ] [ rto_min TIME ] [ initrwnd NUMBER ] TYPE := [ unicast local broadcast multicast throw unreachable prohibit blackhole nat ] TABLE_ID := [ local main default all NUMBER ] SCOPE := [ host link global NUMBER ] FLAGS := [ equalize ] NHFLAGS := [ onlink pervasive ] RTPROTO := [ kernel boot static NUMBER ] 很 复 杂? 那 我 们 看 看 实 际 用 到 的 命 令 :

40 第 四 章 FREEROUTER V2 的 技 术 原 理 35 ip route add default dev pptp -VPN table vpn 是 不 是 瞬 间 觉 得 很 亲 切 了?ip route 和 前 面 的 route 命 令 几 乎 是 一 样 的, 只 不 过 后 面 多 了 一 个 table vpn, 表 示 添 加 默 认 接 口 这 个 动 作 只 是 用 于 table vpn 里 的 数 据 的, 这 个 灵 活 性 就 是 route 命 令 所 没 有 的 了 注 意! 这 里 的 pptp-vpn 也 是 要 根 据 你 系 统 实 际 VPN 接 口 的 名 称 修 改 的 我 们 这 里 没 有 指 定 网 关 IP( 例 如 via ) 之 类 的, 因 为 一 般 一 个 接 口 连 接 上 之 后, 如 果 网 关 支 持 DHCP, 那 么 在 分 配 IP 的 时 候 也 就 会 把 默 认 网 关 通 告 给 客 户 端, 不 需 要 我 们 去 额 外 指 定 除 非 你 的 VPN 不 支 持 DHCP, 但 这 这 种 VPN 我 还 没 见 过 如 果 你 想 确 认 某 个 table 是 不 是 走 了 VPN 接 口 还 是 别 的 接 口, 可 以 用 如 下 命 令 : ip route show table vpn 如 果 确 实 添 加 默 认 接 口 成 功 了, 你 应 该 看 到 default dev pptp -VPN scope link 其 实 这 个 添 加 默 认 接 口 的 命 令 是 应 该 早 于 你 往 这 个 table 添 加 数 据 的, 以 免 数 据 进 来 了 却 不 知 道 要 从 哪 里 走, 所 以 完 整 的 顺 序 是 : 1. 修 改 /etc/iprout2/rt_tables 建 立 一 个 table 2. 给 这 个 table 指 定 一 个 默 认 的 网 络 接 口 3. 给 指 定 的 数 据 打 上 标 签 4. 把 打 上 了 标 签 的 数 据 添 加 到 这 个 table 里 去 我 们 都 知 道 怎 么 做 了, 那 么 如 何 给 指 定 的 数 据 打 上 标 签 呢? 这 就 用 到 了 iptables 防 火 墙 了 4.2 IPTables 防 火 墙 后 记 : 从 2015 年 年 初 开 始,GFW 用 于 DNS 污 染 的 IP 已 经 达 到 几 千 个, 有 些 甚 至 还 是 正 常 运 营 的 网 站 的 IP 这 使 得 我 们 本 来 的, 依 靠 linux 防 火 墙 过 滤 有 限 投 毒 IP 的 策 略 彻 底 失 效, 除 非 你 愿 意 去 维 护 一 个 几 千 IP 的 防 火 墙 规 则, 而 且 没 有 证 据 可 以 证 明 这 些 IP 的 产 生 不 是 随 机 的 所 以, 以 下 章 节 已 经 没 有 实 用 意 义, 但 出 于 学 习 的 话 依 然 可 以 看 看 netfilter 是 linux 内 核 的 一 个 模 块, 这 个 模 块 当 于 linux 系 统 的 防 火 墙, 它 会 对 所 有 进 出 linux 系 统 的 网 路 数 据 进 行 管 理,netfilter 防 火 墙 模 块 的 结 构 如 下 图 所 示 :

41 第 四 章 FREEROUTER V2 的 技 术 原 理 36 图 4.1: netfilter 防 火 墙 结 构 1 我 们 可 以 看 到 棕 色 框 框 住 的 部 分 就 是 iptables 的 几 个 链, 分 别 是 PREROUTING INPUT FORWARD OUTPUT POSTROUTING, 大 致 讲 一 下 这 几 个 链 的 工 作 流 程 当 一 个 数 据 通 过 网 络 接 口 进 入 系 统 之 后, 首 先 进 入 PREROUTING 链 进 行 处 理 PREROUTING 链 中 根 据 对 数 据 的 不 同 处 理, 分 别 把 处 理 方 法 写 在 mangle 表 和 nat 表 中,mangle 表 一 般 用 于 对 数 据 添 加 标 签 方 便 后 面 的 链 处 理,nat 表 一 般 是 进 行 网 络 地 址 转 换 和 转 发 的 动 作 2 在 经 过 两 道 PREROUTING 链 处 理 之 后, 数 据 会 根 据 需 求 分 别 交 给 INPUT 和 FORWARD 链 处 理 INPUT 链 再 经 过 打 标 签, 过 滤 等 动 作 后, 再 把 数 据 交 给 上 层 应 用 的 协 议 栈 去 处 理 例 如 我 们 可 以 在 INPUT 链 末 端 把 数 据 交 给 我 们 写 的 一 个 应 用, 在 应 用 中 分 析 和 提 取 数 据, 当 应 用 处 理 过 数 据 之 后, 就 要 把 数 据 返 还 到 OUTPUT 链,OUTPUT 链 再 经 过 一 次 NAT 表 看 是 否 要 转 址 ( 只 是 要 经 过, 不 一 定 真 的 会 发 生 转 址 操 作 ), 然 后 交 给 POSTROUTING 链 FORWARD 链 一 般 只 是 经 过 filter 表 的 过 滤 筛 选 就 会 把 数 据 交 给 POSTROUTING 链, 从 OUTPUT 链 过 来 的 数 据 和 从 FORWARD 链 过 来 的 数 据 经 过 POSTROUTING 链 处 理 后 就 交 给 了 后 面 的 输 出 设 备 了 netfilter 是 linux 内 核 模 块 的 名 称, 可 是 用 户 要 如 何 操 作 这 个 模 块, 给 防 火 墙 添 加 和 修 改 规 则 呢? 这 里 用 到 的 就 是 iptables,netfilter 才 是 防 火 墙 的 实 体,iptables 是 这 个 实 体 的 管 理 工 具 因 为 二 者 的 结 合 非 常 紧 密, 所 以 我 们 一 般 都 习 惯 性 的 称 之 为 iptables 防 火 墙 完 整 的 iptables 命 令 说 明, 请 参 考 iptables 的 man page 和 extention man page 关 于 netfilter 各 个 扩 展 模 块 的 功 能 说 明, 可 以 参 考 openwrt 网 站 上 的 这 个 页 面 IPSET 概 念 在 讲 iptables 的 功 能 之 前, 我 们 先 引 入 一 个 额 外 的 概 念 :ipset 1 如 果 不 是 棕 色 也 很 正 常, 我 是 色 盲 2 NAT,Network Address Translate, 其 实 是 个 很 重 要 的 概 念, 只 是 和 我 们 的 主 题 关 系 不 大 所 以 我 没 提

42 第 四 章 FREEROUTER V2 的 技 术 原 理 37 ipset 和 前 面 讲 的 table 有 点 像, 但 更 好 理 解, 它 就 是 一 个 存 储 了 IP 值 的 数 组, 一 般 以 内 存 变 量 的 形 式 驻 留 在 系 统 内 存 中, 一 重 启 就 会 消 失 要 建 立 一 个 ipset, 我 们 可 以 ipset 的 create 命 令 : ipset create vpn iphash -exist 这 里 表 示 建 立 一 个 名 叫 VPN 的 iphash 类 型 的 ipset,iphash 类 型 的 IPSET 可 以 存 储 个 IP 地 址,-exist 表 示 如 果 这 个 叫 这 个 名 字 的 ipset 已 经 存 在 了, 就 跳 过 不 建 立 了 如 果 要 把 一 个 IP( 例 如 ) 加 入 一 个 IPSET( 例 如 刚 刚 建 立 的 vpn set), 那 就 是 : ipset add vpn 如 果 要 删 除, 把 add 改 成 del 就 行 了 ipset del vpn 如 果 我 们 要 清 空 整 个 ipset, 就 用 flush 选 项 : ipset flush vpn 如 果 我 们 要 测 试 一 个 IP( 还 是 ) 在 不 在 IPSET( 还 是 vpn set) 里, 就 用 TEST 选 项 : ipset test vpn iptables 的 mark 功 能 我 们 前 面 说 了, 要 把 访 问 被 封 锁 网 站 数 据 加 入 一 个 table 让 它 走 VPN 接 口, 首 先 就 要 对 数 据 打 上 标 签, 那 么 如 何 用 iptables 给 数 据 打 上 标 签 呢? 我 们 得 先 把 所 有 被 封 锁 网 站 的 IP 加 入 一 个 IPSET, 然 后 我 们 再 用 iptables 的 一 个 名 叫 set 的 模 块 来 对 这 个 IPSET 进 行 打 标 签 的 操 作 下 面 是 man page 上 对 这 个 模 块 的 说 明 : set This module matches IP sets which can be defined by ipset(8). [!] --match -set setname flag[,flag]... where flags are the comma separated list of src and/or dst specifications and there can be no more than six of them. Hence the command iptables -A FORWARD -m set --match -set test src,dst will match packets, for which (if the set type is ipportmap) the source address and destination port pair can be found in the specified set. If the set type of the specified set is single dimension (for example ipmap), then the command will match packets for which the source address can be found in the specified set.

43 第 四 章 FREEROUTER V2 的 技 术 原 理 38 我 们 实 际 的 命 令 是 : iptables -t mangle -I PREROUTING -m set --match -set vpn dst -j MARK --set-mark 1 解 释 说 明 : 1. iptables -t mangle 默 认 情 况 下 iptables 是 对 filter 表 操 作 的, 如 果 要 指 定 某 个 表, 就 要 用 -t 选 项 -t mangle 表 示 我 们 操 作 mangle 表, 为 什 么 是 mangle 表? 因 为 PREROUTING 链 是 存 放 在 mangle 表 里 的, 默 认 的 filter 表 里 没 有 PREROUTING 链, 那 为 什 么 是 PREROUTING 链 呢? 往 下 看 2. -I,I 表 示 insert, 也 就 是 插 入 一 条 规 则 3. PREROUTING 不 管 是 从 外 部 网 线 输 入 的 数 据, 还 是 从 我 们 从 电 脑 上 发 出 的 数 据, 对 于 路 由 来 说 都 是 输 入 的 数 据, 这 里 的 进 和 出 是 从 路 由 的 角 度 来 看 的, 原 始 数 据 进 来, 处 理 过 的 数 据 输 出, 和 你 是 上 传 还 是 下 载 无 关 我 们 也 知 道 PREROUTING 链 是 整 个 防 火 墙 链 的 最 前 端, 如 果 我 们 要 从 源 头 上 处 理 数 据, 就 需 要 对 这 个 链 动 手 4. -m set 表 示 调 用 set 模 块, 所 有 调 用 模 块 的 格 式 都 是 -m 模 块 名 5. match-set vpn dst, 表 示 匹 配 一 个 名 叫 vpn 的 ipset,dst 表 示 这 是 目 标 地 址, 因 为 我 们 要 访 问 的 那 些 被 封 锁 的 服 务 器 对 路 由 来 说 只 可 能 是 目 的 地 而 不 是 源 头 (src),src 是 我 们 自 己 6. -j MARK,-j 是 一 个 通 用 选 项, 表 示 把 数 据 交 给 后 面 的 动 作 进 行 处 理, 也 就 是 MARK 7. set-mark 1, 这 是 iptables 的 一 个 叫 CONNMARK 的 extension 提 供 的 功 能, 就 是 给 数 据 打 上 标 签 了 iptables 的 规 则 插 入 是 有 顺 序 的, 如 果 在 -I 后 面 指 定 一 个 规 则 号, 就 表 示 在 这 个 规 则 号 前 面 插 入 一 条 规 则, 如 果 不 指 定 规 则 号, 就 表 示 在 所 有 规 则 的 最 前 面 插 入 一 条 规 则 而 iptables 规 则, 是 从 最 前 面 的 规 则 开 始 一 个 个 尝 试 的, 如 果 一 个 数 据 和 前 面 的 某 条 规 则 匹 配 上 了, 后 面 的 规 则 就 对 他 无 效 了, 所 以 你 最 后 插 入 的 规 则 其 实 是 优 先 级 最 高 的 规 则 如 果 你 要 加 入 一 条 优 先 级 不 是 那 么 高 的 规 则, 可 以 用 -A,Append, 表 示 在 特 定 或 所 有 规 则 后 面 加 入 这 条 规 则 所 以 插 入 规 则 的 命 令 格 式 是 3 : iptables -t 表 名 -I 链 名 \ 规 则 号 \ 规 则 令 : 在 用 iptables 添 加 了 规 则 之 后, 如 果 想 看 看 这 些 规 则 是 否 添 加 成 功, 以 及 他 们 的 顺 序, 可 以 用 这 个 命 iptables -t 表 名 -L 链 名 3 命 令 中 的 反 斜 线 是 不 需 要 的, 因 为 latex 中 的 lstlisting 原 生 就 不 支 持 中 文, 无 法 正 确 显 示 空 格 我 才 加 入 的, 如 果 你 知 道 怎 么 解 决 这 个 问 题 请 告 诉 我, 不 胜 感 激

44 第 四 章 FREEROUTER V2 的 技 术 原 理 39 如 果 要 删 除 一 条 规 则, 就 用 -D 选 项, 后 面 可 以 跟 规 则 号 表 示 删 除 指 定 规 则 号, 如 果 不 跟 规 则 号, 则 从 最 上 面 ( 最 优 先 ) 的 0 号 规 则 开 始 删 除 iptables -t 表 名 -D 链 名 \ 规 则 号 如 果 你 的 自 定 义 规 则 已 经 太 多 太 乱, 你 想 把 整 个 链 里 的 规 则 都 清 空, 就 用 -F,flush 选 项 iptables -t 表 名 -F 链 名 所 以 现 在 我 们 已 经 知 道 了 可 以 让 一 个 table 里 的 数 据 走 VPN 接 口, 也 知 道 了 如 何 把 打 标 签 的 数 据 加 入 一 个 table, 也 知 道 了 如 何 把 一 个 IPSET 的 数 据 都 打 上 标 签, 那 么, 如 何 把 被 封 锁 网 站 的 IP 加 入 一 个 IPSET 呢? 这 里 我 们 还 是 先 把 IPTABLES 的 其 他 功 能 讲 完 吧, 等 到 下 一 节 我 们 再 处 理 这 个 问 题 iptables 的 m32 模 块 我 们 在 前 面 2.1 提 到 了 GFW 对 DNS 劫 持 和 污 染 的 根 源 是 在 向 境 外 DNS 发 起 解 析 请 求 时, 抢 先 返 回 虚 假 的 IP 信 息 给 解 析 器 根 据 观 察 分 析,GFW 伪 造 的 虚 假 信 息 格 式 是 非 常 固 定 的, 甚 至 可 以 说 是 非 常 便 于 识 别 和 拦 截 的 我 们 只 要 利 用 iptables 的 过 滤 规 则, 就 可 以 很 轻 松 的 丢 弃 这 些 污 染 信 息 我 们 在 前 面 也 说 了, 境 外 DNS 的 正 确 信 息 不 是 不 会 返 回, 只 是 被 GFW 的 虚 假 信 息 抢 先 占 了 位 置 导 致 不 被 解 析 器 接 受 而 已, 而 防 火 墙 是 一 个 在 解 析 器 之 前 的 关 卡, 只 要 在 这 里 丢 弃 了 污 染 信 息, 那 么 境 外 DNS 返 回 的 正 确 信 息 就 可 以 作 为 第 一 个 到 达 的 信 息 顺 利 被 解 析 器 接 受 了 工 欲 善 其 事, 必 先 利 其 器, 我 们 要 想 过 滤 GFW 的 劫 持 信 息, 就 要 先 了 解 这 个 数 据 的 格 式 在 网 络 数 据 抓 取 上, 业 界 公 认 的 神 器 莫 过 于 WireShark 了, 启 动 wireshare 之 后 选 择 网 卡, 在 过 滤 项 中 写 port 53, 表 示 我 们 只 查 看 数 据 信 息 中 包 含 53 端 口 的 信 息 为 什 么 是 53 端 口? 因 为 DNS 服 务 器 的 查 询 端 口 是 53, 然 后 我 们 通 过 Dig 命 令, 指 定 使 用 去 查 询 twitter.com 的 A 记 录 可 以 看 到 如 下 的 查 询 和 返 回 信 息 : 图 4.2: 虚 假 信 息 和 正 确 信 息 混 杂 可 以 看 到,GFW 凭 借 自 己 的 位 置 优 势 ( 离 我 们 近 ) 抢 先 返 回 了 两 个 虚 假 的 IP 地 址 给 我 们, 但 后 面 Google DNS 的 正 确 信 息 也 返 回 了, 只 是 没 有 被 解 析 器 接 受, 我 们 要 干 掉 的 就 是 前 面 两 条 错 误 信 息 观 察 多 次 之 后 我 们 发 现 这 种 信 息 的 格 式 是 完 全 一 样 的, 区 别 仅 仅 是 IP 地 址 会 在 一 个 数 组 范 围 内 变 化 : 可 以 看 到 GFW 伪 造 的 这 个 虚 假 信 息 非 常 粗 糙, 一 般 DNS 都 会 返 回 一 些 Additional 信 息, 例 如 告 诉 你 这 个 域 名 的

45 第 四 章 FREEROUTER V2 的 技 术 原 理 40 图 4.3: 污 染 信 息 实 例 权 威 名 称 服 务 器 地 址 之 类 的 GFW 的 目 的 就 是 污 染, 只 要 把 错 误 IP 传 达 给 你 就 完 了, 所 以 他 整 个 消 息 包 在 虚 假 IP 之 后 就 没 了, 还 真 是 精 打 细 算 节 约 流 量 呢 我 目 前 搜 集 和 统 计 到 的 GFW 用 于 DNS 劫 持 的 污 染 IP 有 48 个, 如 下 表 所 示

46 第 四 章 FREEROUTER V2 的 技 术 原 理 转 换 成 16 进 制 就 是 : B2 0807C62D C 253D369E 2E52AE B38 364C8701 3B1803AD A F 4042A3FB 4168CAFC 41A0DB71 422DFCED 480ECD63 480ECD68 4A7D2766 4A7D2771 4A7D7F66

47 第 四 章 FREEROUTER V2 的 技 术 原 理 42 4A7D9B66 4D04075C 4E10310F 5D2E E8B 9F6A794B A9840D67 BC BDA31105 C043C606 C504040C CA6A0102 CAB50755 CB CBA1E6AB CF0C5862 D0381F2B D D155E58A D D1DC1EAE D35E4293 D5A9FB23 D8DDBCB6 D8EAB30D F3B9BB27 F9812E30 FD9D0EA5 我 不 一 定 会 及 时 更 新 本 文 档, 最 新 的 数 据 我 会 发 布 到 FreeRouter V2 项 目 本 身 和 这 篇 文 章 里 为 什 么 这 里 要 把 IP 地 址 转 换 成 16 进 制 呢? 因 为 你 知 道 整 个 计 算 机 是 基 于 2 进 制 的, 从 上 面 的 抓 包 你 也 可 以 看 到 实 际 的 IP 地 址 都 是 16 进 制 的, 我 们 过 滤 这 些 地 址 要 用 的 iptables 的 u32 模 块 也 只 认 识 16 进 制 的 数 字 u32 模 块 是 iptables 的 一 个 扩 展 包, 他 允 许 你 从 一 个 IP 数 据 包 中 抓 取 4 个 字 节 (32 比 特 ) 的 数 据, 然 后 对 这 个 4 个 字 节 的 数 据 进 行 数 值 分 析, 在 符 合 条 件 之 后 交 给 iptables 进 行 各 种 处 理 而 IP 地 址 刚 好 就 是 4 个 字 节, 那 么 我 们 只 需 要 在 DNS 返 回 信 息 的 IP 包 中 提 取 出 IP 地 址 信 息, 然 后 和 上 面 的 这 个 列 表 对 比, 如 果 发 现 匹 配 就 丢 弃 这 个 数 据 就 可 以 了 我 们 用 到 的 完 整 命 令 如 下 : iptables -t mangle -I PREROUTING -p udp --sport 53 -m u32 --u32 "0&0x0F000000=0x && 22&0 xffff@16=0x4a7d7f66,0x4a7d9b66,0x4a7d2766,0x4a7d2771,0xbda31105,0xd155e58a,0xf9812e30,0x80797e8b,0 x9f6a794b,0xa9840d67" -j DROP iptables -t mangle -I PREROUTING -p udp --sport 53 -m u32 --u32 "0&0x0F000000=0x && 22&0 xffff@16=0xc043c606,0xca6a0102,0xcab50755,0xcba1e6ab,0xcb620741,0xcf0c5862,0xd0381f2b,0xd ,0 xd1dc1eae,0xd " -j DROP

48 第 四 章 FREEROUTER V2 的 技 术 原 理 43 iptables -t mangle -I PREROUTING -p udp --sport 53 -m u32 --u32 "0&0x0F000000=0x && 22&0 x3b1803ad,0x402158a1" -j DROP iptables -t mangle -I PREROUTING -p udp --sport 53 -m u32 --u32 "0&0x0F000000=0x && 22&0 x0807c62d,0x5d2e0859" -j DROP iptables -t mangle -I PREROUTING -p udp --sport 53 -m u32 --u32 "0&0x0F000000=0x && 22&0 -j DROP 命 令 有 5 条 是 因 为 u32 模 块 一 次 最 多 允 许 我 们 匹 配 10 个 数 据, 具 体 格 式 的 分 析 我 们 只 需 要 看 一 条 就 够 了, 以 第 一 条 为 例 详 细 说 明 : 1. iptables -t mangle -I PREROUTING, 这 些 和 上 一 节 是 一 样 的, 不 重 复 了 2. -p udp, 表 示 只 分 析 UDP 协 议 的 数 据, 因 为 DNS 查 询 默 认 都 是 UDP 协 议 的 3. sport 53, 表 示 源 端 口 是 53 的 数 据, 因 为 DNS 服 务 器 返 回 的 数 据 都 是 从 它 的 53 端 口 返 回 的 4. -m u32 u32, 这 里 表 示 使 用 u32 模 块, 这 是 个 标 准 命 令 格 式 在 开 始 后 面 的 u32 模 块 分 析 前, 我 们 先 补 充 介 绍 一 下 DNS 响 应 包 的 数 据 组 成 首 先 这 是 一 个 IP 包, 就 有 IP 报 头, 另 外 这 是 UDP 协 议 的, 就 有 UDP 报 头, 后 面 的 UDP 数 据 就 是 DNS 服 务 器 的 响 应 数 据 了, 所 以 格 式 是 这 样 的 : [IP_Header]::[ UDP_Header]::[ UDP_Data==DNS_Response] u32 模 块 部 分 的 匹 配 代 码 是 这 样 的 : 0&0x0F000000=0x && 22&0xFFFF@16=0x4A7D7F66 0 第 一 个 0 表 示 从 第 0 个 字 节 开 始 抓 4 个 字 节, 计 算 机 世 界 一 直 都 是 从 0 开 始 数 的 &0x0F & 表 示 把 前 面 抓 到 的 4 个 字 节 和 & 后 面 的 掩 码 进 行 与 操 作, 这 个 就 算 是 文 科 生 也 应 该 在 计 算 机 基 础 课 上 学 过, 不 解 释 了 0x0F 就 是 这 个 掩 码 了, 这 表 示 其 他 位 全 部 置 0, 只 保 留 第 0 字 节 的 低 4 位 =0x

49 第 四 章 FREEROUTER V2 的 技 术 原 理 44 =0x 表 示 判 断 前 面 进 行 完 与 操 作 的 数 是 不 是 等 于 0x 如 果 你 知 道 IP 包 的 数 据 格 式, 就 知 道 第 0 个 字 节 的 低 4 位 表 示 的 是 IP 报 头 的 长 度, 一 般 来 说 都 是 20 字 节 但 也 有 特 例 这 里 我 们 要 确 定 这 个 报 头 没 有 什 么 特 殊 格 式, 长 度 确 实 是 20, 为 什 么 要 判 断 这 个 长 度 后 面 会 解 释 22&0xFFFF 这 个 表 示 从 第 22 个 字 节 开 始 取 4 个 字 节 (22 25), 和 掩 码 0xFFFF(0x0000FFFF) 与 操 作, 也 就 是 取 24,25 字 节 的 内 容, 得 到 一 个 数 X 你 抓 包 分 析 看 一 下 就 会 发 现,24,25 字 节 对 应 的 数 字 是 UDP_Header 里 表 示 UDP 包 的 长 度, 也 就 是 UDP_Header+UDP_Data 的 总 长 这 的 作 用 非 常 大, 一 定 要 理 表 示 从 IP 包 的 最 开 始 往 后 跳 跃 X 个 字 节, 具 体 跳 跃 多 少 呢? 就 前 面 的 数 值 了 我 们 说 前 面 的 一 个 与 操 作 得 到 了 UDP 包 的 长 度, 也 就 是 说 这 里 我 们 要 从 0 开 始 往 后 跳 过 UDP 包 的 长 度 整 个 IP 包 的 长 度 是 IP 头 长 度 (20)+UDP 包 的 长 度 (X), 现 在 我 们 从 0 开 始 跳 过 了 UDP 包 的 长 度 (X), 就 位 于 了 整 个 IP 包 的 最 末 再 往 前 倒 退 20 个 字 节 的 位 置 16 我 们 前 面 的 抓 包 已 经 看 到 了, 虚 假 的 IP 信 息 刚 好 位 于 整 个 IP 包 的 最 后 4 个 字 节, 我 们 现 在 已 经 处 在 最 末 -20 个 字 节 的 位 置 了, 那 么 从 这 个 位 置 开 始 数, 抓 第 16 个 字 节 开 始 的 4 个 字 节 就 行 了, 也 就 是 字 节, 为 什 么 不 是 17 20? 我 们 是 从 第 0 个 字 节 开 始 算 的, 别 忘 了 这 点 后 面 的 -j DROP 就 很 好 理 解 了, 直 接 丢 弃 在 我 们 的 防 火 墙 中 应 用 以 上 规 则,GFW 的 对 境 外 DNS 查 询 的 劫 持 信 息 就 被 过 滤 掉 了, 剩 下 的 就 是 正 确 的 解 析 信 息 了 但 是 要 记 住! 只 有 对 境 外 DNS 查 询 的 污 染 包 是 GFW 发 出 的, 也 只 有 这 个 情 况 下 这 个 数 据 格 式 才 是 和 我 们 的 命 令 匹 配 的 虽 然 这 可 以 解 决 大 部 分 问 题 了, 但 有 的 时 候 我 们 还 是 需 要 境 内 DNS+ 境 外 DNS 组 合 的 方 式, 因 为 境 内 DNS 的 速 度 比 较 快, 而 且 他 们 对 一 些 大 网 站 的 节 点 解 析 都 比 较 适 合 我 们 但 是 我 们 在 使 用 这 些 境 内 DNS 面 对 的 问 题 不 是 GFW 的 劫 持, 而 是 他 们 给 出 的 原 始 数 据 就 是 被 污 染 ( 被 劫 持 后 污 染 ) 的 这 样 的 结 果 是, 他 们 给 出 的 DNS 响 应 包 会 因 为 服 务 器 配 置 的 格 式 不 同 而 千 差 万 别, 而 且 基 本 确 定 的 是 IP 都 不 是 在 最 末 的 4 字 节 上, 因 为 正 常 的 响 应 包 末 尾 一 般 都 是 Additional RRs 数 据 我 们 想 要 使 用 境 内 DNS 获 得 高 速 的 解 析 又 不 想 被 污 染, 就 要 对 境 内 DNS 的 响 应 数 据 也 做 过 滤, 那 么 这 种 IP 位 置 不 固 定 的 响 应 包 要 如 何 过 滤 呢? 这 里 我 们 就 要 用 到 更 强 大 的 string 模 块 了 iptables 的 string 模 块 通 过 上 一 节 的 介 绍, 我 们 也 看 到 了 u32 模 块 第 一 个 缺 点 是 只 能 针 对 特 定 位 置 的 4 个 字 节 数 据 进 行 分 析, 如 果 位 置 不 固 定 就 没 有 办 法 了 如 果 要 对 位 置 不 固 定 的 数 据 进 行 分 析, 我 们 就 要 使 用 string 模 块, 它

50 第 四 章 FREEROUTER V2 的 技 术 原 理 45 可 以 帮 我 们 在 一 个 IP 包 里 搜 索 任 意 位 置, 看 是 否 有 匹 配 的 字 符 串 当 然 u32 的 固 定 位 置 分 析 也 不 能 算 是 完 全 的 缺 点, 只 针 对 固 定 位 置 固 定 长 度 的 数 据 分 析 意 味 着 u32 模 块 消 耗 的 CPU 资 源 非 常 少, 因 为 我 们 基 本 上 只 需 要 做 一 些 简 单 的 与 或 操 作 和 比 较 计 算 就 可 以 了 而 string 模 块 强 大 的 搜 索 功 能, 其 代 价 就 是 消 耗 了 更 多 的 CPU 资 源 和 u32 一 样,string 模 块 搜 索 IP 时 也 是 使 用 16 进 制, 因 为 原 始 数 据 就 是 这 样 的 因 为 计 算 复 杂 度 很 高, 一 条 string 匹 配 的 iptables 命 令 只 能 一 次 只 能 匹 配 一 个 IP( 字 符 串 ), 所 以 我 们 得 写 48 条 命 令 : iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " B2 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 0807C62D " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " C " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 253D369E " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 2E52AE44 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 31027B38 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 364C8701 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 3B1803AD " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " A1 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " F " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4042A3FB " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4168CAFC " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 41A0DB71 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 422DFCED " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 480ECD63 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 480ECD68 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4A7D2766 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4A7D2771 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4A7D7F66 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4A7D9B66 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4D04075C " --from

51 第 四 章 FREEROUTER V2 的 技 术 原 理 46 iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 4E10310F " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 5D2E0859 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 80797E8B " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " 9F6A794B " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " A9840D67 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " BC " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " BDA31105 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " C043C606 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " C504040C " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " CA6A0102 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " CAB50755 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " CB " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " CBA1E6AB " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " CF0C5862 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D0381F2B " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D155E58A " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D1DC1EAE " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D35E4293 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D5A9FB23 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D8DDBCB6 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " D8EAB30D " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " F3B9BB27 " --from

52 第 四 章 FREEROUTER V2 的 技 术 原 理 47 iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " F9812E30 " --from iptables -t mangle -I PREROUTING -p udp --sport 53 -m string --algo bm --hex-string " FD9D0EA5 " --from 相 对 来 说 string 模 块 的 命 令 就 好 理 解 多 了, -m string 表 示 启 用 string 模 块 进 行 匹 配, algo bm 表 示 启 用 贝 叶 (Boyer-Moore) 字 符 串 搜 索 算 法, 另 一 种 算 法 是 kmp(knuth-pratt-morris), 具 体 应 该 只 是 效 率 和 不 同 应 用 的 区 别, 算 法 原 理 我 们 就 不 细 究 了 hex-string 表 示 要 匹 配 HEX 格 式 的 IP 地 址 了, 注 意 这 里 前 面 不 要 有 0x 表 示 16 进 制 了, 直 接 写 16 进 制 数 据 就 行, 后 面 跟 着 的 就 是 IP 地 址 的 16 进 制 格 式 from 60 to 180 这 表 示 的 是 搜 索 的 偏 置 范 围 (offset), 从 第 60 字 节 开 始 到 180 字 节 结 束, 一 般 来 说 DNS 返 回 包 的 长 度 很 少 有 超 过 180 字 节, 而 A 记 录 IP 值 的 位 置 因 为 IP 和 UDP 协 议 报 文 格 式 的 关 系, 基 本 上 不 可 能 出 现 在 60 字 节 之 前, 所 以 指 定 这 个 范 围 是 足 够 的, 同 时 也 可 以 大 大 减 轻 搜 索 算 法 的 运 算 压 力 如 果 你 担 心 有 什 么 奇 葩 DNS 返 回 的 结 果 在 这 范 围 之 外, 删 除 这 两 个 偏 置 选 项 就 行 了, 这 样 会 默 认 搜 索 整 个 字 符 串, 但 相 应 的 搜 索 消 耗 的 CPU 资 源 就 更 多 了 和 u32 模 块 的 使 用 一 样, 把 这 些 规 则 保 存 为 防 火 墙 规 则 就 可 以 过 滤 所 有 境 内 和 境 外 DNS 中 的 污 染 和 劫 持 信 息 了, 要 注 意 string 模 块 的 过 滤 其 实 已 经 包 含 了 u32 模 块 的 功 能, 不 需 要 再 添 加 u32 模 块 的 过 滤 规 则 了 但 是 境 内 DNS 的 原 始 数 据 都 是 污 染 的, 你 过 滤 掉 这 些 污 染 的 信 息 后 也 不 会 给 你 返 回 正 确 的 信 息 而 你 希 望 的 结 果 肯 定 是 同 时 享 受 境 内 DNS 的 高 速 解 析 速 度, 又 可 以 让 境 外 DNS 给 我 们 某 些 敏 感 网 站 的 正 确 解 析 结 果 要 实 现 这 样 的 组 合, 就 要 在 iptables 的 过 滤 规 则 之 下, 继 续 配 合 下 一 节 提 到 的 Dnsmasq 了

53 第 四 章 FREEROUTER V2 的 技 术 原 理 Dnsmasq 解 析 器 Dnsmasq 是 OpenWRT 系 统 默 认 内 置 的 DNS 解 析 器, 要 注 意 这 个 解 析 器 不 等 同 于 nslookup 和 dig, 后 面 的 只 是 调 试 工 具, 除 了 返 回 一 些 查 询 信 息 外 不 能 给 任 何 系 统 和 应 用 提 供 解 析 结 果, 而 Dnsmasq 可 以 我 们 需 要 对 Dnsmasq 的 性 质 有 个 基 本 认 识,Dnsmasq 并 不 能 算 是 一 个 DNS 服 务 器 软 件, 他 的 准 确 定 义 是 一 个 DNS 转 发 器 就 是 说, 它 把 收 到 的 DNS 解 析 请 求, 转 发 到 一 些 DNS 服 务 器 上 去, 然 后 从 DNS 服 务 器 接 收 返 回 的 结 果, 最 后 再 返 回 给 你? 你 也 许 会 觉 得 这 玩 意 这 么 蛋 疼, 我 自 己 查 询 不 好 吗, 干 嘛 要 你 来 转 发? 其 实 它 能 做 的 不 仅 仅 是 转 发, 转 发 仅 仅 是 他 实 现 DNS 查 询 的 方 式, 我 们 知 道 它 即 不 能 递 归 查 询, 又 不 是 蛋 疼 的 迭 代, 能 做 的 当 然 就 是 转 发 了 首 先 它 提 供 了 一 个 缓 存 功 能, 这 可 以 大 大 减 轻 你 查 询 的 网 络 请 求 次 数, 这 也 是 为 什 么 很 多 时 候 我 们 可 以 把 他 当 一 个 DNS 服 务 器 来 用 的 原 因 除 此 之 外 Dnsmasq 提 供 了 非 常 多 灵 活 的 选 项 让 我 们 可 以 完 全 掌 控 DNS 解 析 的 行 为, 具 体 的 内 容 请 参 考 它 的 Man Page, 我 们 在 FreeRouter V2 中 要 用 到 的 是 他 的 以 下 几 个 功 能 IPSET 功 能 我 记 得 前 面 我 挖 了 个 坑, 就 是 关 于 如 何 把 被 屏 蔽 网 站 的 IP 全 部 搜 集 到 一 个 IPSET 里 的 问 题 4.2.2, 现 在 我 们 就 来 解 决 它 Dnsmasq 从 2 66 版 开 始 就 支 持 IPSET 功 能 了, 注 意 OpenWRT 默 认 自 带 的 Dnsmasq 是 精 简 版 本 并 没 有 IPSET 功 能, 需 要 我 们 自 己 替 换 为 dnsmasq-full, 也 就 是 完 整 版 如 果 要 确 定 自 己 的 Dnsmasq 有 没 有 IPSET 功 能 支 持, 可 以 SSH 登 录 路 由 后 输 入 dnsmasq version 查 看 当 前 的 版 本 和 编 译 信 息, 可 以 看 到 下 面 的 信 息 中 已 经 包 含 了 ipset, 如 果 显 示 的 是 no-ipset, 就 说 明 没 有 IPSET 功 能 支 持 root@openwrt:~# dnsmasq --version Dnsmasq version 2.71 Copyright (c) Simon Kelley Compile time options: IPv6 GNU-getopt no-dbus no-i18n no-idn DHCP DHCPv6 no-lua TFTP no-conntrack ipset auth DNSSEC This software comes with ABSOLUTELY NO WARRANTY. Dnsmasq is free software, and you are welcome to redistribute it under the terms of the GNU General Public License, version 2 or 3. 这 个 功 能 的 作 用, 就 是 把 指 定 域 名 的 解 析 结 果 存 入 一 个 IP, 具 体 哪 些 域 名 可 以 通 过 配 置 文 件 来 指 定 例 如 我 们 现 在 不 能 访 问 google 了 4, 那 么 我 们 就 把 Google.com 的 IP 都 加 入 一 个 叫 vpn 的 IPSET, 然 后 配 合 我 们 前 面 学 过 的 iptables mark 功 能,ip route 命 令 把 对 google IP 的 访 问 全 部 通 过 VPN 接 口 进 行 我 们 的 命 令 是 这 样 的 : 4 不 知 道 以 后 你 们 看 到 这 段 是 什 么 感 想, 反 正 中 国 在 现 在 ( 2015 年 1 月 21 日 ) 是 真 的 不 能 访 问 Google 了

54 第 四 章 FREEROUTER V2 的 技 术 原 理 49 ipset=/google.com/vpn 非 常 令 人 感 动 的 一 点 是,dnsmasq 是 支 持 从 顶 级 域 往 下 匹 配 的, 也 就 是 说 你 写 了 google.com 之 后, 什 么 mail google.com,maps google.com 的 二 级 三 级 四 级 域 名 也 全 部 被 匹 配 了, 后 面 vpn 就 是 我 们 事 先 通 过 ipset 命 令 建 立 好 的 用 于 存 储 这 些 IP 的 IPSET 你 也 许 会 想,Google 那 么 多 IP,Dnsmasq 能 全 部 都 查 到? 查 不 到! 可 是 也 完 全 没 必 要 查 到 因 为 你 能 用 到 的 IP 就 是 DNS 解 析 给 你 的 IP, 其 他 的 IP 如 果 你 连 解 析 都 没 去 解 析 他, 为 什 么 要 知 道 呢? 就 好 比 你 要 去 美 国 出 差, 但 是 老 板 只 让 你 坐 国 航 的 飞 机, 那 为 什 么 还 要 去 查 东 航 的 机 票 价 格 呢? 这 其 实 也 就 是 FreeRouter V2 里 相 对 V1 最 优 美 的 地 方 了, 只 有 在 你 需 要 访 问 某 个 被 封 锁 的 IP 时 它 才 会 起 作 用, 而 且 具 体 什 么 IP 可 能 被 封 锁 是 完 全 由 你 自 己 指 定 的, 因 为 域 名 是 你 指 定 的 在 FreeRouter V1 里 这 一 切 是 通 过 静 态 路 由 表 的 方 式 实 现 的, 这 种 方 法 的 缺 点 是 : 1. 要 精 确 搜 集 一 个 网 站 的 全 部 子 域 名 和 对 应 的 全 部 IP 极 度 困 难 2. 以 为 精 确 搜 集 很 难, 所 以 经 常 不 得 不 把 整 个 网 段 加 入 静 态 路 由 表, 但 整 个 网 段 中 有 很 多 IP 其 实 是 没 被 屏 蔽 的 3. 很 多 IP 对 应 的 网 站 普 通 人 听 都 没 听 过, 这 辈 子 可 能 也 都 不 会 上, 但 是 如 果 不 加 注 释 的 话, 你 根 本 不 知 道 IP 对 应 的 到 底 是 什 么 网 站, 4. 因 为 IP 的 可 读 性 太 差, 如 果 哪 个 网 站 解 封 了, 或 者 根 本 就 停 掉 了, 要 找 出 网 站 对 应 的 IP 再 删 除 都 很 繁 琐 而 用 Dnsmasq 的 IPSET 功 能 就 完 全 没 有 这 种 问 题 了, 一 个 域 名 就 基 本 能 帮 你 搞 定 一 个 网 站 的 访 问 了 5, 虽 然 有 可 能 出 现 部 分 解 析 的 IP 并 没 有 被 屏 蔽 也 被 走 了 VPN 的 情 况 ( 因 为 Google 的 IP 实 在 太 多 了 ), 但 肯 定 都 还 是 google 的 IP, 不 会 影 响 到 其 他 任 何 网 站 所 以 我 们 唯 一 需 要 维 护 的, 就 是 被 封 锁 的 网 站 的 域 名 列 表, 这 也 就 是 我 对 FreeRouter V2 最 主 要 的 维 护 工 作 了 其 实 你 自 己 就 可 以 去 维 护 这 个 列 表, 我 想 只 要 智 商 正 常 的 人 看 到 这 里 应 该 都 知 道 这 个 列 表 该 怎 么 写 我 只 是 提 醒 你 们 一 下,windows 格 式 和 unix 格 式 对 于 换 行 符 的 处 理 是 不 同 的, 这 使 得 在 windows 下 编 辑 的 文 件 在 linux 系 统 下 可 能 会 无 法 被 正 确 识 别 最 稳 妥 的 办 法 是 SSH 登 录 进 路 由 之 后 用 vim 编 辑, 或 者 在 windows 平 台 用 vim 以 unix 编 辑 ;vim 可 以 保 留 文 件 的 unix 格 式 不 变, 而 且 如 果 有 多 余 的 换 行 符, 你 在 vim 下 是 可 以 看 得 出 来 的 你 们 也 许 听 说 过 一 些 什 么 gfw_list 之 类 的 域 名 列 表, 那 个 列 表 里 有 几 千 个 被 封 锁 的 域 名, 但 是 我 看 了 一 下 觉 得 那 个 列 表 的 质 量 实 在 是 太 糟 糕 了 那 个 列 表 似 乎 是 一 个 论 坛 社 区 的 人 自 己 在 维 护, 人 人 都 可 以 5 Google 和 facebook 这 类 大 网 站 还 有 很 多 负 责 存 储 静 态 文 件 和 其 他 内 容 的 独 立 域 名, 也 要 一 并 加 入 列 表 才 行

55 第 四 章 FREEROUTER V2 的 技 术 原 理 50 提 交, 但 从 来 没 人 检 查, 很 多 明 显 是 部 署 在 国 内 的 网 站 也 被 他 们 加 进 去 了 这 年 头 靠 得 住 的 人 真 没 几 个, 所 以 我 决 定 还 是 自 己 搜 集 比 较 好 目 前 这 个 列 表 还 不 到 200 个 域 名, 可 是 我 几 乎 已 经 感 觉 不 到 墙 的 存 在 了, 至 少 你 们 在 讨 论 Google 被 封 和 解 封 这 两 个 话 题 的 时 候 我 根 本 察 觉 不 到,youtube 该 看 啥 就 看 啥,twitter 的 推 送 都 很 正 常 Porntube 什 么 的 虽 然 也 可 以 上 但 口 味 太 重 不 适 合 我, 中 国 人 嘛, 就 该 上 草 榴 ( 敢 求 邀 请 码 一 律 拉 黑 )! 为 Dnsmasq 指 定 DNS 我 们 说 了 Dnsmasq 其 实 是 一 个 DNS 转 发 器, 只 是 把 我 们 的 DNS 解 析 请 求 转 发 到 各 个 公 共 DNS 上, 那 么 我 们 就 必 须 为 Dnsmasq 指 定 好 使 用 哪 些 DNS 在 OpenWRT 系 统 中,Dnsmasq 的 默 认 DNS 服 务 器 来 源 是 通 过 在 /etc/config/dhcp 文 件 中 配 置 实 现 的 : config dnsmasq option domainneeded '1' option boguspriv '1' option filterwin2k '0' option localise_queries '1' option rebind_protection '1' option rebind_localhost '1' option local '/lan/' option domain 'lan' option expandhosts '1' option nonegcache '0' option authoritative '1' option readethers '1' option leasefile '/tmp/ dhcpleases ' option resolvfile '/tmp/resolv. confauto ' 我 们 看 到 最 后 一 行 是 resolvfile, 查 一 下 Dnsmasq 的 Man Page 就 会 看 到 Dnsmasq 会 通 过 读 取 这 个 选 项 中 指 定 的 文 件 来 获 取 DNS 服 务 器 列 表, 如 果 没 有 通 过 这 个 选 项 指 定 DNS 服 务 器 的 配 置 文 件 的 话,dnsmasq 默 认 会 去 读 取 /etc/resolv.conf 文 件 读 取 DNS 服 务 器 列 表 我 们 再 看 看 这 个 /etc/resolv.conf auto 文 件 的 内 容, 不 同 设 备 可 能 有 区 别, 但 格 式 基 本 如 此 : # Interface WAN nameserver nameserver 8844 # Interface VPN nameserver nameserver 8844

56 第 四 章 FREEROUTER V2 的 技 术 原 理 51 这 个 数 据 是 怎 么 来 的 呢? 原 来 当 我 们 的 每 一 个 网 络 接 口 成 功 连 接 上 之 后 (interface up), 如 果 这 个 接 口 上 有 配 置 DNS 服 务 器, 或 者 DHCP 服 务 器 通 告 了 DNS 服 务 器, 就 会 在 这 个 文 件 里 写 入 这 个 接 口 的 DNS 服 务 器 因 为 我 们 自 己 在 WAN 和 VPN 的 接 口 设 定 中 都 指 定 了 Google DNS, 结 果 就 生 成 了 我 们 上 面 的 文 件 如 果 我 们 要 指 定 DNS 服 务 器, 而 不 是 让 Dnsmasq 自 动 从 各 个 接 口 获 取 ( 因 为 ISP 分 配 给 我 们 的 DNS 基 本 都 是 被 污 染 的 ), 最 简 单 也 是 最 简 陋 的 方 法 就 是 手 工 在 每 个 接 口 的 配 置 界 面 中 指 定 DNS, 这 样 自 动 获 取 到 的 也 是 我 们 指 定 的 DNS 但 是 如 果 网 络 环 境 发 生 了 变 化, 或 者 需 要 重 新 设 置 接 口, 就 又 要 重 新 设 置 一 次 而 且 这 实 际 上 就 修 改 到 了 /etc/config/network 文 件, 倒 不 是 说 不 能 这 样 改, 只 是 每 个 人 的 网 路 环 境 是 不 同 的, 这 个 文 件 也 会 因 人 而 异, 这 样 让 我 们 很 难 提 供 一 个 统 一 的 解 决 方 案 还 有 一 个 方 法 就 是 修 改 /etc/config/dhcp 文 件, 把 最 后 的 resolvefile 选 项 改 成 我 们 指 定 的 文 件, 然 后 在 那 个 文 件 里 写 入 DNS 服 务 器 列 表, 但 是 和 上 面 的 原 因 一 样, 修 改 config 目 录 的 文 件 会 导 致 无 法 提 供 统 一 的 解 决 方 案 最 后 我 发 现 dnsmasq 提 供 了 一 个 参 数 叫 做 no-resolv, 这 个 选 项 允 许 不 从 任 何 文 件 中 读 取 DNS 服 务 器 列 表, 改 用 server 参 数 手 工 指 定 DNS 服 务 器 这 个 时 候 我 们 就 只 需 要 在 Dnsmasq.conf(Dnsmasq 的 配 置 文 件 ) 中 写 如 下 命 令 就 可 以 了 : #disable resolv file no-resolv server= 井 号 # 开 始 的 部 分 是 注 释 代 码, 会 被 Dnsmasq 忽 略 掉,no-resolv 就 是 不 读 取 任 何 任 何 列 表 文 件, server= 就 表 示 用 作 为 一 个 DNS 服 务 器 如 果 我 们 想 知 道 Dnsmasq 到 底 使 用 了 什 么 DNS 服 务 器, 可 以 先 重 启 Dnsmasq 服 务 : /etc/ initd/dnsmasq restart 然 后 通 过 logread 命 令 查 看 dnsmasq 启 动 过 程 的 记 录, 所 有 用 到 的 DNS 服 务 器 信 息 都 会 显 示 出 来 添 加 多 个 DNS 我 们 知 道 基 本 上 只 有 境 外 的 DNS 才 可 能 给 我 们 返 回 某 些 敏 感 域 名 的 正 确 解 析 结 果, 国 内 DNS 从 源 头 上 就 被 污 染 了 但 访 问 境 外 DNS 的 一 个 问 题 是 他 们 的 速 度 普 遍 比 国 内 的 慢,ISP 提 供 的 DNS 延 时 可 能 只 有 两 三 毫 秒, 而 Google DNS 在 国 内 某 些 地 区 的 延 时 高 达 400 毫 秒 ( 忽 然 变 30 毫 秒 的 那 是 GFW 劫 持 ) 而 且 大 部 分 时 间 我 们 访 问 的 网 站 可 能 还 是 普 通 的 国 内 网 站, 这 些 网 站 用 境 内 DNS 解 析 的 时 候 往 往 会 返 回 给 我 们 一 个 更 合 理 的 数 据

57 第 四 章 FREEROUTER V2 的 技 术 原 理 52 例 如 淘 宝 的 一 些 静 态 文 件 是 存 放 在 CDN 6 节 点 上 的, 这 些 节 点 可 能 用 了 类 似 a tbcdn cn 这 样 的 域 名 这 些 节 点 在 国 内 外 都 有 分 布, 因 为 这 些 域 名 本 身 的 名 称 服 务 器 有 比 较 智 能 的 动 态 分 配 功 能, 当 你 用 Google DNS 去 解 析 的 时 候, 他 们 会 以 为 你 是 一 个 美 国 客 人, 就 返 回 了 一 个 美 国 节 点 的 IP 给 你, 而 用 114DNS 的 时 候 他 们 觉 得 你 是 个 中 国 客 人, 就 给 你 返 回 了 一 个 中 国 节 点 的 IP, 后 者 明 显 才 是 我 们 要 的 结 果 如 果 只 是 分 配 到 国 外 节 点 速 度 慢 也 就 罢 了, 可 是 淘 宝 的 一 些 日 本 节 点 IP 在 国 内 根 本 就 是 被 屏 蔽 了 的, 结 果 就 出 现 了 访 问 taobao 的 时 候 很 多 内 容 加 载 不 了, 页 面 不 完 整 所 以 我 们 希 望 的 就 是 同 时 使 用 境 内 和 境 外 DNS, 第 一 步 首 先 是 添 加 这 些 境 内 境 外 的 DNS 服 务 器 : #Local Process server= #Google DNS server= #Nortorn DNS server= #Comodo DNS server= #DNS Advantage server= #Verizon DNS server= #NTT DNS server= #114 DNS server= #Ali DNS server= #CNNIC server= 按 照 Dnsmasq 的 说 法, 第 一 条 添 加 是 为 了 让 Dnsmasq 成 为 路 由 器 自 身 的 Dns 缓 存, 实 际 上 我 测 下 来 这 个 好 像 可 有 可 无, 加 上 也 没 坏 处 后 面 我 们 依 次 添 加 了 国 内 和 国 外 公 共 DNS 但 是 这 并 不 等 于 工 作 就 完 成 了, 因 为 默 认 情 况 下 Dnsmasq 只 会 使 用 第 一 个 DNS( 会 被 忽 略 ), 也 就 是 , 这 和 我 们 所 要 的 结 果 完 全 不 同 我 们 还 需 要 添 加 一 个 参 数 : all-servers 这 个 参 数 是 告 诉 Dnsmasq, 在 收 到 一 个 DNS 解 析 请 求 之 后, 向 所 有 的 DNS 服 务 器 都 发 起 查 询, 然 后 接 受 并 返 回 最 先 返 回 的 那 个 结 果 给 客 户 端 所 以 现 在 的 工 作 情 况 是 : 6 Content Deliver Network, 一 种 网 络 加 速 技 术

58 第 四 章 FREEROUTER V2 的 技 术 原 理 对 于 绝 大 部 分 国 内 的 和 没 被 GFW 盯 上 的 网 站, 因 为 他 们 的 域 名 解 析 结 果 并 没 有 被 污 染, 所 以 速 度 最 快 的 国 内 DNS 优 先 返 回 了 解 析 结 果 给 我 们, 这 个 结 果 是 真 实 的, 不 会 被 iptables 过 滤 2. 而 对 于 被 GFW 污 染 了 的 域 名, 境 内 DNS 返 回 的 信 息 全 是 被 污 染 的, 但 已 经 被 我 们 的 iptables 防 火 墙 挡 掉 了, 这 个 结 果 对 Dnsmasq 来 说 是 不 可 见 的 3. 所 以 Dnsmsq 只 能 继 续 等 境 外 Dnsmasq 返 回 的 结 果 (GFW 对 境 外 DNS 的 劫 持 信 息 会 被 iptables 挡 掉 ), 当 第 一 个 境 外 DNS 返 回 的 正 确 结 果 到 达 后, 就 返 回 给 客 户 端 屏 蔽 运 营 商 的 DNS 广 告 所 以, 我 们 现 在 在 速 度 和 正 确 的 结 果 上 达 到 了 最 佳 的 平 衡 但 是 还 有 个 残 留 的 小 问 题 : 这 就 是 如 果 你 在 添 加 境 内 DNS 的 时 候 使 用 了 ISP 的 DNS 的 话, 你 会 发 现 当 你 不 小 心 输 错 域 名, 访 问 了 一 个 不 存 在 的 域 名 的 时 候, 会 被 指 向 到 一 个 运 营 商 提 供 的 网 页 那 里 这 个 网 页 可 能 是 什 么 电 信 导 航 首 页, 也 可 能 是 他 们 的 合 作 伙 伴 的 导 航 首 页 之 类 的, 如 果 你 觉 得 这 都 没 什 么 问 题 那 这 节 可 以 不 看 这 种 行 为 本 质 上 其 实 也 是 一 种 DNS 劫 持, 对 于 不 存 在 的 域 名, 标 准 的 DNS 服 务 器 不 应 该 返 回 任 何 A 记 录 地 址, 而 且 应 该 在 返 回 包 的 Reply Code 中 置 03(status: NXDOMAIN), 表 示 这 是 一 个 不 存 在 的 域 名 但 是 OpenDNS 和 国 内 的 运 营 商 的 DNS 就 会 利 用 这 个 机 会, 对 不 存 在 的 域 名 返 回 一 个 他 们 制 定 的 服 务 器 IP, 从 而 引 导 所 有 对 不 存 在 域 名 的 访 问 都 访 问 他 们 的 广 告 商 页 面, 从 而 赚 取 广 告 收 益 如 果 你 很 讨 厌 这 种 行 为, 那 你 可 以 选 择 不 用 他 们 的 DNS, 但 他 们 的 DNS 往 往 还 都 是 最 快 的 ( 毕 竟 他 是 你 的 运 营 商 ), 所 以 如 果 要 既 用 他 们 的 DNS 又 避 免 这 些 广 告, 就 可 以 用 Dnsmasq 的 一 个 bogus-nxdomain 的 选 项 这 个 选 项 的 诞 生 原 因 和 我 们 面 对 的 情 况 几 乎 是 一 样 的 : -,B --bogus -nxdomain=<ipaddr > Transform replies which contain the IP address given into "No such domain" replies. This is intended to counteract a devious move made by Verisign in September 2003 when they started returning the address of an advertising web page in response to queries for unregistered, names instead of the correct NXDOMAIN response. This option tells dnsmasq to fake the correct response when it sees this behaviour. As at Sept 2003 the IP address being returned by Verisign is 当 我 们 搜 集 到 运 营 商 把 不 存 在 域 名 指 向 了 哪 些 IP 之 后, 我 们 用 这 个 选 项 加 入 dnsmasq 的 配 置 中, 如 果 DNS 服 务 器 返 回 的 IP 是 这 些 IP,Dnsmasq 就 认 为 这 些 是 虚 假 的 信 息, 直 接 忽 略 它 然 后 告 诉 客 户 端 这 个 域 名 不 存 在 关 于 这 些 IP 地 址, 这 里 有 一 个 比 较 全 面 的 搜 集 列 表, 摘 录 如 下 : #Some DNS server will return certain IP for non -exist domain for their, advertisementblock these IP here. #OpenDNS bogus -nxdomain = bogus -nxdomain =

59 第 四 章 FREEROUTER V2 的 技 术 原 理 54 bogus -nxdomain = bogus -nxdomain = #DNSPai bogus -nxdomain = bogus -nxdomain= #Nanfang Unicom (nfdnserror1.wo.com.cn to nfdnserror17.wo.com.cn) bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = #Shandong Unicom (sddnserror1.wo.com.cn to sddnserror9.wo.com.cn) bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = #Wuhan Telecom bogus -nxdomain= bogus -nxdomain= #Nanjing Telecom bogus -nxdomain = bogus -nxdomain = #Shanghai Telecom bogus -nxdomain = #Beijing Unicom (bjdnserror1.wo.com.cn to bjdnserror5.wo.com.cn) bogus -nxdomain =

60 第 四 章 FREEROUTER V2 的 技 术 原 理 55 bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = bogus -nxdomain = #Chengdu Telecom bogus -nxdomain= bogus -nxdomain= bogus -nxdomain= bogus -nxdomain= #Hangzhou Telecom bogus -nxdomain = 如 果 使 用 了 ISP 的 DNS, 把 这 个 文 件 也 加 入 我 们 的 Dnsmasq 配 置 项 之 后, 我 们 的 DNS 节 方 案 基 本 就 是 完 美 的 了 我 前 面 说 了 不 做 任 何 涉 及 商 业 利 益 的 选 项, 所 以 这 个 文 件 只 会 是 个 选 项 而 不 会 部 署 到 FreeRouter V2 中, 在 你 使 用 了 ISP 的 DNS 之 后 可 以 自 己 选 择 是 否 使 用, 如 果 你 不 用 ISP 的 DNS, 可 以 忽 略 限 定 范 围 的 解 析 目 前 为 止 我 们 的 DNS 解 决 方 案 都 是 基 于 用 iptables 过 滤 来 阻 挡 GFW 的 污 染 信 息, 虽 然 这 些 规 则 其 实 已 经 有 效 的 工 作 了 好 几 年 (GFW 的 更 新 真 的 很 慢 ), 但 是 我 们 不 能 保 证 哪 天 会 不 会 有 新 的 污 染 IP 被 投 入 使 用, 这 样 我 们 的 防 火 墙 规 则 可 能 就 过 滤 不 了 了 其 实 我 们 从 一 开 始 就 提 到 了,GFW 可 以 对 DNS 进 行 劫 持 的 根 源 是 UDP 协 议 本 身 的 不 安 全, 如 果 我 们 可 以 保 证 路 由 器 到 DNS 服 务 器 之 间 的 网 络 是 安 全 的, 那 么 GFW 的 DNS 劫 持 也 就 没 办 法 了 进 行 了 例 如 我 们 现 在 可 以 把 所 有 到 Google DNS 的 访 问 都 通 过 route 命 令 添 加 到 VPN 接 口 进 行 : route add -host dev pptp -VPN 这 个 时 候 我 们 和 的 通 信 就 是 通 过 加 密 过 的 PPTP 协 议 进 行 的 了, 目 前 来 说 GFW 还 是 不 能 分 析 和 劫 持 PPTP 协 议 的 7, 这 样 我 们 就 可 以 获 得 正 确 的 DNS 解 析 了 那 国 内 DNS 怎 么 办? 不 用 吧, 速 度 太 慢 用 吧, 走 VPN 也 没 用 啊, 因 为 服 务 器 上 的 原 始 数 据 就 是 被 污 染 的 Dnsmasq 的 server 选 项 还 有 一 个 特 殊 的 应 用 方 法, 就 是 让 指 定 的 域 名 用 指 定 的 DNS 解 析, 这 样 我 们 可 以 默 认 用 走 VPN 的 Google DNS 解 析, 但 对 于 那 些 没 有 被 污 染 又 经 常 访 问 的 域 名 就 指 定 让 国 内 DNS 来 解 析, 例 如 : 7 虽 然 有 研 究 证 明 PPTP 的 加 密 方 式 强 度 不 够, 如 果 运 用 强 大 的 运 算 力, 花 上 几 天 也 可 以 解 密 PPTP 协 议, 但 是 我 真 的 不 能 想 象 GFW 要 疯 到 什 么 地 步 才 会 去 对 所 有 PPTP 协 议 解 密, 如 果 是 针 对 性 的 解 密, 我 想 大 部 分 人 都 还 没 这 个 待 遇

61 第 四 章 FREEROUTER V2 的 技 术 原 理 56 ##local.conf generated date:sun Jul 13 20:53:40 CST 2014## ##All.CN Domain## server=/cn/ ##Alexa Top500 In China## server=/baidu.com/ server=/qq.com/ server=/taobao.com/ server=/weibo.com/ server=/hao123.com/ 我 们 说 了 Dnsmasq 是 可 以 从 顶 级 域 开 始 往 下 匹 配 的,server=/cn/ 表 示 所 有 的 CN 域 名 都 交 给 114 来 解 析, 因 为 CN 域 名 的 特 殊 性 ( 这 是 中 国 的 国 别 域 名, 控 制 权 完 全 在 党 国 手 里 ), 基 本 上 不 可 能 有 什 么 反 动 网 站 会 用 这 个 后 缀 的 域 名, 其 实 稍 微 有 点 远 见 的 商 业 网 站 也 不 该 用 cn 域 名 在 国 外 注 册 个.com 域 名, 这 就 是 你 的 私 有 财 产, 只 要 不 违 反 相 关 的 规 定 谁 能 动 你? 国 内 虽 说 有 法 律, 但 是, 你 懂 的 这 种 限 定 范 围 解 析 的 方 法, 是 在 GFW 做 重 大 更 新 导 致 现 有 规 则 失 效 的 情 况 下 的 备 选 项, 但 在 解 析 速 度 和 效 果 上 肯 定 不 是 最 佳 的, 所 以 这 个 限 定 国 内 域 名 的 列 表 我 只 会 作 为 一 个 参 考 选 项 在 FreeRouter V2 里 提 供, 但 并 不 会 导 入, 如 果 需 要 你 可 以 自 己 决 定 是 否 使 用 4.4 DNSSEC 的 原 理 和 实 用 性 以 下 两 节 原 文 在 这 里 和 这 里,DNSSEC 是 未 来 的 DNS 系 统 的 一 个 趋 势 有 必 要 了 解 一 下, 但 不 了 解 并 不 影 响 我 们 对 FreeRouter V2 项 目 工 作 原 理 的 理 解 另 外 讲 解 DNSSEC 原 理 的 时 候 讲 解 了 前 面 提 到 的 公 钥 + 私 钥 非 对 称 加 密 体 系, 这 是 网 络 安 全 中 非 常 重 要 的 一 个 概 念, 也 是 密 码 学 出 现 以 来 最 伟 大 的 创 造, 非 常 有 必 要 了 解 一 下 它 的 基 本 原 理 我 只 整 理 一 下 格 式 稍 微 合 并 一 下 内 容 简 介 DNSSEC 是 为 了 解 决 传 统 DNS 系 统 中 的 各 种 不 安 全 性, 由 IETF 制 定 的 一 套 配 合 现 有 DNS 系 统 的 安 全 扩 展 系 统, 目 标 在 于 解 决 各 种 DNS 缓 存 投 毒 / 生 日 攻 击 /DNS 劫 持 等 问 题, 从 源 头 上 保 证 DNS 数 据 的 正 确 性 和 完 整 性 这 里 我 大 致 讲 一 下 它 的 工 作 原 理, 并 分 析 一 下 这 个 系 统 目 前 的 实 用 性 传 统 DNS 系 统 的 弱 点 DNS 系 统 的 通 讯 采 用 的 是 UDP 协 议, 这 种 不 面 向 连 接 的 协 议 适 用 于 快 速 大 量 的 传 输 小 数 据, 这 也 是 DNS 系 统 采 用 UDP 的 原 因 之 一 当 然 DNS 也 可 以 使 用 TCP 协 议, 不 过 那 是 默 认 用 于 NameServer( 名 称

62 第 四 章 FREEROUTER V2 的 技 术 原 理 57 服 务 器, 以 下 简 称 NS) 之 间 的 Zone Transfer 的, 普 通 的 DNS 解 析 器 并 不 会 使 用 TCP 协 议 向 NS 发 起 请 求 作 为 整 个 互 联 网 最 重 要 的 基 础 协 议 之 一,DNS 其 实 是 一 个 非 常 脆 弱 的 系 统, 它 面 对 的 主 要 可 能 问 题 有 DNS 缓 存 投 毒 /DNS 劫 持 / 生 日 攻 击 /DNS 数 据 泄 露 等, 前 两 者 对 普 通 用 户 的 危 害 是 非 常 恐 怖 的, 它 完 全 可 以 把 一 个 银 行 域 名 指 向 黑 客 的 服 务 器 这 些 弱 点 的 根 本 原 因 是 UDP 协 议 是 不 面 向 连 接 的 协 议, 没 人 可 以 保 证 端 对 端 的 传 输 是 安 全 的, 而 DNS 协 议 本 身 在 建 立 初 期 又 实 在 太 纯 洁 了, 根 本 没 有 考 虑 各 种 后 来 可 能 出 现 的 攻 击,DNS 协 议 本 身 对 数 据 的 验 证 是 非 常 脆 弱 的 基 本 的 验 证 只 有 一 个 Transaction ID, 这 种 东 西 用 生 日 攻 击 就 可 以 猜 测 出 来, 成 功 率 根 本 不 用 你 操 心 ; 如 果 是 在 局 域 网, 直 接 在 网 关 监 听 甚 至 可 以 捕 获 Transaction ID, 捕 获 后 直 接 用 于 伪 造 DNS 解 析 数 据 返 回 给 客 户 端 就 行 了, 在 你 用 Google DNS 查 询 twitter.com 的 时 候,GFW 就 是 这 么 干 的 在 讲 解 DNSSEC 的 原 理 之 前, 我 们 必 须 先 科 普 一 下 : 公 钥 / 私 钥 加 密 的 基 本 原 理 公 钥 私 钥 加 密 体 系 是 基 于 这 样 两 个 前 提 : 你 产 生 一 对 公 钥 / 私 钥 之 后, 如 果 你 仅 仅 持 有 公 钥 或 者 私 钥 中 的 一 个 密 钥, 无 论 你 配 合 明 文, 密 文 还 是 别 的 数 据, 都 不 可 能 推 导 出 另 一 个 密 钥 无 论 公 钥 还 是 私 钥 都 可 以 用 于 加 密 数 据, 但 加 密 后 的 数 据 要 想 解 密, 就 必 须 由 另 一 半 完 成 所 以 公 钥 / 私 钥 体 系 的 应 用 主 要 有 两 种 : 加 密 数 据 例 如 现 在 A 要 给 B 发 送 数 据, 他 就 先 用 B 的 公 钥 加 密 消 息 ( 因 为 公 钥 是 公 开 的, 人 人 都 可 以 有 的 ), 然 后 发 送 给 B, 即 使 是 广 播 发 送 也 无 所 谓, 因 为 只 有 B 才 持 有 B 的 私 钥, 所 以 只 有 B 才 能 解 密 这 个 消 息 验 证 签 名 例 如 我 要 告 诉 你 我 是 总 统, 我 就 用 总 统 的 私 钥 加 密 一 个 签 名 然 后 给 你 看, 因 为 你 们 都 有 总 统 的 公 钥, 所 以 都 可 以 解 密 这 个 签 名 看 看 是 不 是 我 其 实 我 用 任 何 私 钥 加 密 数 据, 你 们 都 可 以 用 总 统 的 公 钥 解 密, 但 是 只 有 用 总 统 的 私 钥 加 密 的 数 据, 解 密 后 的 签 名 才 是 有 意 义 的, 否 则 可 能 只 是 一 堆 乱 码, 你 们 一 看 : 我 靠, 神 经 病 啊, 打 死!

63 第 四 章 FREEROUTER V2 的 技 术 原 理 DNSSEC 中 公 钥 私 钥 的 应 用 在 传 统 的 DNS 系 统 中, 各 种 A 记 录 CNAME 记 录 MX 记 录 统 称 为 RR(Resource Record ), 这 些 RR 一 旦 DNS 服 务 器 发 送 给 解 析 器, 解 析 器 就 无 条 件 接 受, 也 不 管 数 据 对 不 对 ( 可 能 被 缓 存 投 毒 了 ), 甚 至 到 底 是 不 是 服 务 器 发 回 来 的 ( 可 能 被 DNS 劫 持 了 ), 其 实 也 不 是 解 析 器 想 这 样 无 条 件 接 受, 而 是 解 析 器 除 了 接 受 也 没 办 法 验 证 啊 为 了 解 决 这 个 问 题,DNSSEC 增 加 了 RRSIG(Resource Record Signature,RR 签 名 ), DNSKEY(Domain s Public Key, 域 名 公 钥 ),DS(DiaoSiDelegation Signer, 上 级 授 权 签 名 ) 这 三 种 记 录, 同 时 从 根 域 名 到 顶 级 域 名 服 务 器 都 各 自 增 加 了 一 套 公 钥 / 私 钥 我 们 用 一 个 例 子 来 解 释 DNSSEC 如 何 利 用 这 几 个 记 录 图 4.4: DNSSEC 中 RRSIG 的 作 用

64 第 四 章 FREEROUTER V2 的 技 术 原 理 59 图 4.5: DNSSEC 中 DS 和 DNSKEY 记 录 的 作 用 1. 我 们 ( 一 台 DNS 服 务 器 ) 现 在 要 查 询 paypal.com 的 DNS 记 录,paypal.com 的 名 称 服 务 器 ( 以 下 简 称 PP_NS) 返 回 了 对 应 的 A 记 录 IP 数 据 (RR,Resource Record,A 记 录 MX 记 录 这 些 记 录 都 统 称 为 RR) 和 一 长 串 字 符 (RRSIG), 还 有 对 应 的 DNSKEY 和 DS 记 录, 那 我 怎 么 知 道 这 个 IP 是 真 的 A 记 录, 而 不 是 被 修 改 了 的 呢? 2. 先 看 看 RRSIG 是 什 么 产 生 的,PP_NS 对 RR 做 哈 希, 然 后 用 自 己 的 私 钥 对 这 个 哈 希 进 行 加 密, 就 产 生 了 RRISG 3. 而 查 询 到 的 DNSKEY, 就 是 PP_NS 的 公 钥, 我 们 用 这 个 公 钥 对 这 个 RRSIG 解 密 就 得 到 了 RR 的 哈 希 值, 然 后 我 们 自 己 再 对 RR 做 一 次 哈 希, 通 过 判 断 两 个 哈 希 是 否 一 样 就 可 以 知 道 数 据 是 否 正 确 了 4. 你 也 许 会 想, 我 tm 怎 么 知 道 这 些 DNSKEY 真 的 就 是 PP_NS 发 回 来 的, 说 不 定 连 你 整 套 公 钥 / 密 钥 都 是 黑 客 伪 造 的 呢? 这 里 就 用 到 了 DS 5. DS 的 产 生 是 这 样 的,PP_NS 把 自 己 的 公 钥 交 给 给 上 级 的 NS, 也 就 是.com 顶 级 域 名 的 名 称 服 务 器 ( 以 下 简 称 COM_NS) 那 里, 用 COM_NS 的 私 钥 对 PP_NS 的 公 钥 加 密, 就 得 到 了 DS 6. 如 果 你 不 相 信 PP_NS 的 公 钥, 你 可 以 去 COM_NS 那 里 查 COM_NS 的 公 钥, 然 后 对 PP_NS 的 DS 记 录 解 密, 如 果 解 密 结 果 和 DNSKEY 对 上 了, 就 说 明 DNSKEY 是 对 的.COM_NS 这 个 级 别 的 数 据 你 总 该 相 信 了 吧 7. 如 果 连 COM_NS 的 公 钥 都 不 相 信, 没 关 系,COM_NS 自 己 也 有 DS 记 录, 这 个 DS 是 由 跟 服 务 器 (ROOT_NS) 用 自 己 的 私 钥 加 密 产 生 的, 你 再 用 ROOT_NS 的 公 钥, 做 一 样 的 解 密 验 证 就 可 以 了 8. 如 果 你 不 相 信 ROOT_NS 的 公 钥, 那 你 他 妈 别 玩 了! 这 个 公 钥 是 你 自 己 告 诉 DNS 服 务 器 的, 根 本 不 用 你 去 查 询 ROOT_NS 的 公 钥, 就 是 一 般 的 解 析 器 和 DNS 服 务 器 里 设 定 的 Trust Anchor, 因 为 这 个 数 据 最 终 是 你

65 第 四 章 FREEROUTER V2 的 技 术 原 理 60 自 己 设 定 的, 所 以 整 个 验 证 链 最 后 的 安 全 阀 其 实 在 你 手 里, 但 你 有 责 任 自 己 去 维 护 这 个 Trust Anchor 的 正 确 性 如 果 ROOT_NS 的 公 钥 变 动, 就 必 须 跟 着 修 改, 否 则 顶 层 一 级 的 解 密 校 验 就 会 失 败 这 个 Trust Anchor 虽 然 是 你 自 己 输 入, 但 并 不 是 你 随 意 产 生 的, 这 个 实 际 上 已 经 由 IANA 公 布, 可 以 在 这 里 找 到 最 新 的 Root Trust Anchor 以 上 就 是 DNSSEC 的 大 致 原 理, 简 单 来 说 就 是 从 已 知 的 根 域 开 始, 一 级 级 对 下 级 签 名, 然 后 查 询 者 可 以 通 过 这 个 签 名 链 的 逆 过 程 验 证 每 一 个 数 据 是 否 真 实 DNSSEC 的 最 大 问 题, 是 域 名 签 名 部 署 的 缺 失 一 个 非 常 严 重 的 问 题 是, 整 个 数 据 验 证 过 程, 必 须 是 在 域 名 做 了 签 名, 并 且 向 上 级 NS 提 交 生 成 了 DS 的 情 况 下 才 可 能 实 现 ( 没 有 向 上 级 域 提 交 并 通 过 签 名 的 Key 是 无 法 验 证 的, 自 然 没 有 意 义 ) 那 么 现 在 又 多 少 域 名 做 了 这 样 的 签 名 呢? 千 分 之 三! 没 错, 一 个 害 得 老 子 都 不 知 道 怎 么 打 千 分 号 的 数 据 你 常 用 的 大 网 站, 什 么 google.com,twitter.com,youtube.com,facebook.com, 嗯 统 统 没 有 DNSSEC 签 名! 造 成 这 个 问 题 的 根 本 原 因 不 是 这 些 网 络 巨 头 不 知 道 域 名 安 全 的 重 要 性,Google 的 Public DNS 甚 至 是 全 球 最 早 支 持 DNSSEC 的 公 共 DNS 服 务 器 之 一 他 们 的 问 题 在 于 网 站 规 模 过 于 庞 大, 一 个 域 名 对 应 的 IP 数 目 多 得 难 以 想 象, 而 且 为 了 实 现 网 络 的 最 佳 优 化, 这 些 IP 记 录 经 常 会 变 动, 这 就 使 得 RRSIG 几 乎 不 可 能 在 他 们 上 面 实 现, 一 旦 记 录 出 错 造 成 用 户 无 法 访 问, 每 一 秒 的 损 失 都 难 以 估 量 目 前 来 说, 部 署 DNSSEC 的 网 站 主 要 是 Paypal 这 种 金 融 网 站 和 一 些 政 府 网 站, 因 为 这 些 网 站 的 特 殊 性 要 求 他 们 在 安 全 性 上 不 能 有 任 何 缺 失, 而 且 相 对 来 说 他 们 不 会 面 对 Google,facebook 这 些 网 站 的 IP 过 多 的 问 题 至 于 在 顶 级 域 名 与 以 下 的 各 个 域 名 TLD 的 支 持, 情 况 倒 还 算 理 想,ICANN 在 2010 年 的 时 候 忽 然 急 速 推 进 DNSSEC 的 部 署, 使 得 整 个 体 系 的 上 层 都 还 算 健 全 如 果 一 个 域 名 没 有 做 DNSSEC 签 名, 那 么 DNSSEC 还 能 保 护 它 吗? 对 未 签 名 的 域 名,DNSSEC 几 乎 不 能 提 供 任 何 保 护 我 们 说 了,DNSSEC 只 是 DNS 的 一 个 扩 展, 添 加 了 一 套 可 用 于 数 据 验 证 的 域 名 记 录, 并 没 有 对 DNS 协 议 的 数 据 传 输 方 式 和 报 文 格 式 做 任 何 改 进 修 改 就 好 像 加 入 DNS 原 来 没 有 CNAME 记 录, 现 在 添 加 了 CNAME 记 录 的 支 持, 但 是 你 并 没 有 去 用 它, 那 这 个 记 录 对 你 有 用 吗? 当 然 没 有 对 于 没 有 签 名 的 域 名, 不 管 你 用 什 么 样 的 解 析 器, 使 用 什 么 样 的 DNS 服 务 器, 你 所 查 询 到 的 DNS 记 录 和 之 前 都 没 有 发 生 任 何 变 化 只 是 在 你 向 一 个 支 持 DNSSEC 的 DNS 服 务 器 查 询 的 时 候, 他 的 返 回 包 里 会 多 一 个 DO 的 Flag, 表 示 他 知 道 你 的 解 析 器 支 持 DNSSEC 了, 可 是 域 名 本 身 并 没 有 提 供 DNSSEC 数 据 给 你 啊, 我 也 没 法 给 你 造 出 来

66 第 四 章 FREEROUTER V2 的 技 术 原 理 对 签 名 的 域 名, 中 间 人 攻 击 依 然 有 可 能 进 行 除 了 RRSIG,DS,DNSKEY 这 三 条 记 录 之 外, 支 持 DNSSEC 的 解 析 器 和 DNS 服 务 器 通 信 中, 还 会 增 加 两 个 标 签 位 : AD(authentic data) DNS 服 务 器 默 认 会 对 RRSIG 的 有 效 性 进 行 检 查, 检 查 确 认 签 名 有 效, 就 会 把 AD 位 置 1, 下 发 给 解 析 器 CD(Check Disable) 默 认 情 况 下, 如 果 DNS 服 务 器 返 回 的 AD 位 置 1 了, 客 户 端 就 会 接 受 服 务 器 的 检 查 结 果, 自 己 就 不 再 对 结 果 做 验 证 了 如 果 客 户 端 不 信 任 服 务 器 的 验 证 数 据, 就 在 请 求 包 中 把 CD 位 置 1, 告 诉 服 务 器 老 子 不 用 你 检 查, 签 名 有 没 有 用 我 自 己 来 看 这 种 情 况 下 服 务 器 返 回 的 数 据 包 中,AD 位 会 置 0 表 示 它 也 不 知 道 这 签 名 是 不 是 有 效, 因 为 你 都 告 诉 它 不 用 去 检 查 了 嘛, 那 他 干 嘛 还 犯 贱 虽 然 这 个 有 点 蛋 疼, 但 是 在 客 户 端 做 签 名 验 证, 才 是 最 安 全 的 做 法, 为 什 么 呢? 一 个 普 遍 的 问 题 就 是, 现 在 的 各 种 解 析 器 / 客 户 端 中, 很 多 都 没 有 完 善 自 己 的 签 名 检 查 部 分, 从 上 面 的 原 理 中 你 也 看 到 了, 这 个 签 名 检 查 其 实 是 个 很 蛋 疼 的 过 程, 几 乎 相 当 于 一 次 递 归 解 析 的 过 程 了, 耗 时 耗 力 所 以 要 么 是 因 为 自 己 没 有 验 证 签 名 的 能 力, 要 么 是 觉 得 这 个 验 证 过 程 太 消 耗 时 间 和 资 源, 当 前 的 各 种 解 析 器 / 客 户 端 默 认 都 不 会 发 送 这 个 自 作 多 情 的 CD(Check Disable) 对 于 Dnsmasq 来 说, 如 果 你 想 让 Dnsmasq 自 己 验 证 签 名 发 送 CD 位, 就 要 启 用 dnssec-debug 选 项,ManPage 中 的 建 议 直 接 就 是 should not be set in production 那 么 好 了, 既 然 客 户 端 不 检 查 签 名, 只 要 看 到 AD 位 置 1 就 相 信, 黑 客 就 太 高 兴 了 他 随 便 伪 造 个 符 合 DNSSEC 标 准 的 返 回 包 ( 反 正 猜 解 Transaction ID 什 么 的 早 就 不 是 问 题 了 ), 修 改 数 据, 把 AD 位 置 1, 搞 定! 前 面 这 么 多 服 务 器 的 DNSSEC 部 署 的 努 力, 在 最 后 一 站 全 部 化 作 泡 影 对 于 这 个 问 题, 可 能 的 办 法 是 通 过 TSIG(Transaction Signature) 来 实 现 数 据 传 输 中 的 数 据 完 整 性 验 证, 但 TSIG 的 问 题 是 解 析 器 和 Recursive DNS 服 务 器 之 间 也 要 部 署 类 似 https 加 密 那 样 的 一 套 共 享 密 钥, 这 个 部 署 工 作 会 是 个 噩 梦 关 于 这 个 方 法, 可 以 参 考 相 应 的 论 文 当 然, 目 前 来 说 更 实 际 的 做 法, 就 是 OpenDNS 提 出 的 DnsCurve, 也 就 是 你 们 可 能 用 过 的 DnsCrypt, 这 是 一 种 加 密 客 户 端 到 DNS 服 务 器 双 向 通 讯 数 据 的 做 法, 具 体 的 实 现 原 理 请 参 考 Dnscrypt 官 网 另 外, 就 实 用 性 而 言, 中 国 人 还 要 面 对 一 个 很 严 重 的 问 题 : 国 内 支 持 DNSSEC 的 DNS 服 务 器 极 度 缺 乏 你 所 知 道 的 几 乎 全 部 国 内 的 公 共 DNS 都 是 不 支 持 DNSSEC 的, 当 然, 把 国 内 换 成 国 外, 就 刚 好 反 过 来 了 但 使 用 国 外 DNS 的 问 题 除 了 速 度 慢, 就 是 我 们 上 面 提 到 了, 对 那 些 未 签 名 的 域 名 来 说, 传 输 的 最 后 一 站 中 的 域 名 劫 持 根 本 无 法 避 免, 在 客 户 端 没 有 验 证 签 名 能 力 或 者 默 认 不 做 本 地 签 名 验 证 的 情 况 下 ( 这

67 第 四 章 FREEROUTER V2 的 技 术 原 理 62 还 是 现 在 的 默 认 情 况 ), 就 算 是 签 名 的 域 名 也 躲 不 掉 被 劫 持 的 厄 运 总 结 下 来,DNSSEC 的 安 全 性, 数 据 完 整 性 保 障, 建 立 在 一 个 由 域 名 从 根 域 到 底 层 名 称 服 务 器 DNS 服 务 器 解 析 器 组 成 的 完 整 的 安 全 链 上, 这 个 链 上 的 任 何 一 个 环 节 出 问 题, 都 会 让 DNSSEC 的 安 全 性 荡 然 无 存 DNSSEC 作 为 现 有 DNS 系 统 的 增 补, 有 效 部 署 难 度 极 大 要 求 所 有 域 名 都 有 DNSSEC 签 名 这 一 项 就 无 法 通 过 任 何 策 略 来 推 进, 除 非 DNSSEC 签 名 全 部 免 费 (Godaddy 一 年 的 签 名 要 36 美 元 ), 并 作 为 强 制 标 准 要 求 所 有 域 名 注 册 商 和 NS 服 务 器 都 支 持, 否 则 DNSSEC 始 终 只 能 是 服 务 于 极 小 部 分 域 名 4.5 给 Dnsmasq 启 用 DNSSEC 域 名 这 是 一 切 开 始 的 前 提 域 名 本 身 必 须 有 DNSSEC 签 名, 对 于 没 有 DNSSEC 签 名 的 域 名 来 说,DNSSEC 几 乎 不 能 提 供 任 何 额 外 的 保 护 作 用 但 目 前 做 了 DNSSEC 签 名 的 域 名 极 其 稀 少, 我 们 要 访 问 的 绝 大 部 分 被 污 染 的 域 名 都 没 有 这 个 签 名 这 部 分 是 在 文 章 写 完 一 段 时 间 后 添 加 的, 现 在 来 看, 在 域 名 本 身 不 做 DNSSEC 签 名 的 情 况 下, 指 望 DNSSEC 解 决 任 何 问 题 都 是 妄 想 客 户 端 必 须 有 对 应 的 DNSSEC 支 持 工 具,OpenWRT 上 默 认 的 的 dnsmasq 是 没 有 的, 需 要 我 们 替 换 为 dnsmasq-full 才 可 以, 这 个 可 以 通 过 使 用 OpenWRT 的 Image Generator 的 PACKAGES 参 数 来 实 现, 移 除 默 认 的 dnsmasq, 添 加 dnsmasq-full PACKAGES="-dnsmasq dnsmasq -full" 服 务 器 必 须 是 一 个 支 持 DNSSEC 扩 展 的 DNS 服 务 器, 这 种 服 务 器 目 前 在 国 内 非 常 少, 但 国 外 非 常 多, 我 知 道 Google DNS 是 支 持 的, 而 OpenDNS 是 明 确 不 支 持 的, 这 个 还 一 度 给 我 添 加 了 一 些 麻 烦 Dnsmsq 的 配 置 : 在 /etc/dnsmasq.conf 中, 或 者 如 果 你 在 dnsmasq.conf 中 通 过 conf-dir 参 数 指 定 了 一 个 配 置 目 录 的 话, 就 在 那 个 目 录 下 添 加 一 个 *.conf 文 件, 写 入 以 下 参 数 :

68 第 四 章 FREEROUTER V2 的 技 术 原 理 63 dnssec 这 个 参 数 是 基 本 的 启 用 DNSSEC 的 基 本 参 数, 表 示 要 求 查 询 域 名 记 录 的 DNSSEC 扩 展 信 息 trust -anchor=.,19036,8,2,49aac11d7b6f e54a a1a fd2ce1cdde32f24e8fb5 这 个 参 数 是 配 置 默 认 的 trus-anchor, 是 使 用 dnssec 必 须 加 入 的 参 数, 具 体 说 明 参 考 dnsmasq man page, 配 置 内 容 可 以 从 IANA 网 站 获 得 这 个 相 当 于 数 据 加 密 解 密 中 的 公 钥 (public-key), 理 想 情 况 ( 所 有 子 域 名 都 部 署 了 DNSSEC) 下, 我 们 只 需 要 添 加 根 域 (root zone) 的 public-key 就 可 以 了, 现 在 常 用 的 各 个 顶 级 和 国 别 域 名 的 部 署 情 况 已 经 基 本 达 到 理 想 状 况 了 dnssec -check -unsigned 这 个 参 数 需 要 非 常 注 意! 因 为 DNSSEC 默 认 只 会 对 有 DNSSEC 签 名 的 返 回 结 果 去 做 验 证, 如 果 一 个 返 回 结 果 是 未 签 名 的,Dnsmasq 默 认 会 相 信 这 个 数 据 是 真 实 有 效 的, 并 不 会 去 管 这 个 域 名 是 不 是 真 的 没 有 签 名, 还 是 别 人 伪 造 了 数 据 包 如 果 启 用 下 面 这 个 选 项,Dnsmasq 会 对 未 签 名 的 返 回 数 据 做 检 查, 确 定 域 名 是 真 的 没 有 签 名, 而 不 是 一 个 有 签 名 的 域 名 被 人 伪 造 了 无 签 名 的 数 据 来 欺 骗 你 要 检 查 域 名 是 真 的 没 签 名 还 是 假 的 没 签 名, 就 要 求 DNS 服 务 器 必 须 支 持 DNSSEC, 否 则 一 切 工 作 都 无 法 进 行, 域 名 就 无 法 解 析 对 于 114 这 类 不 支 持 DNSSEC 的 DNS 来 说, 它 返 回 的 所 有 数 据 都 是 没 有 签 名 的, 而 Dnsmasq 又 无 法 通 过 114 DNS 去 验 证 无 签 名 的 真 实 性, 那 么 所 有 的 域 名 解 析 都 会 失 效 dnssec -no-timecheck DNSSEC 对 于 服 务 器 返 回 的 签 名 数 据 是 有 一 个 信 赖 时 间 窗 口 的, 过 了 这 个 时 间 窗 数 据 就 不 再 被 信 赖 但 对 于 一 些 没 有 RTC 的 机 器 来 说, 这 就 产 生 了 一 个 蛋 生 鸡 鸡 生 蛋 的 问 题, 因 为 他 们 需 要 通 过 NTP 服 务 器 来 获 取 时 间, 可 是 获 取 NTP 服 务 器 的 地 址 又 必 须 先 解 析 NTP 服 务 器 的 域 名, 可 是 现 在 机 器 没 有 正 确 的 时 间, 导 致 信 赖 时 间 窗 口 无 效, 又 解 析 不 了 正 确 的 域 名 地 址, 这 就 麻 烦 大 了 下 面 这 个 参 数 对 于 OpenWRT 这 样 的 路 由 来 说 都 应 该 默 认 启 用, 启 用 之 后, 在 系 统 获 得 正 确 的 时 间 之 前, 解 析 结 果 不 受 信 赖 时 间 窗 口 的 限 制, 等 系 统 获 得 正 确 的 系 统 时 间 之 后, 这 个 信 赖 时 间 窗 口 机 制 才 重 新 开 启 配 置 完 成 之 后 : /etc/init.d/dnsmasq restart 重 启 Dnsmasq 服 务 即 可 生 效 我 刚 说 OpenDNS 给 我 造 成 了 一 点 小 麻 烦, 就 是 我 在 OpenWRT 中, 同 时 设 置 了 GoogleDNS 和 OpenDNS 作 为 默 认 的 DNS, 没 有 设 定 严 格 按 顺 序 查 询, 也 许 是 OpenDNS 的 速 度 稍 微 快 一 点 ( 我 这 里 Google DNS 延 迟 400 多 毫 秒 ) 结 果 Dnsmasq 默 认 用 了 OpenDNS, 而 OpenDNS 又 不 支 持 DNSSEC, 结 果 就 是 我 上 面 对 dnssec-check-unsigned 的 解 释,DNS 解 析 服 务 完 全 失 效 了

69 第 四 章 FREEROUTER V2 的 技 术 原 理 64 在 注 释 掉 dnssec-check-unsigned 这 个 参 数 后 可 以 解 析 数 据 了, 但 你 用 DNSSEC 配 合 一 个 不 支 持 DNSSEC 的 服 务 器 解 析 数 据, 怎 么 可 能 避 免 污 染 呢, 这 让 我 一 度 以 为 是 Dnsmasq 的 DNSSEC 没 有 工 作 在 把 OpenDNS 从 WAN 和 VPN 接 口 的 设 置 中 都 删 除 之 后, 确 保 了 系 统 只 用 Google DNS, 现 在 DNSSEC 才 开 始 工 作 了 DNSSEC 的 效 果 : 首 先 各 种 有 效 性 测 试 你 必 须 在 路 由 后 面 的 设 备 上 进 行, 你 直 接 在 路 由 上 用 dig 或 者 nslookup 查 询 的 话, 这 个 结 果 是 不 完 全 依 赖 Dnsmasq 的 Dig 也 好,nslookup 也 好, 这 些 都 不 等 同 于 你 系 统 在 使 用 的 resolver(dnsmasq), 虽 然 他 们 可 以 帮 你 检 查 resolver 的 工 作 情 况, 但 这 二 者 本 质 上 是 不 同 的 东 西, 这 个 基 本 概 念 必 须 清 楚 因 为 Dnsmasq 作 为 resolver, 他 有 自 己 的 dnssec 验 证 机 制, 对 于 不 合 格 的 数 据 会 丢 弃, 但 dig 和 nslookup 只 是 个 程 序, 他 只 处 理 并 显 示 收 到 的 udp 或 tcp 包, 它 们 并 不 知 道 去 对 dnssec 的 数 据 做 验 证 和 丢 弃 被 GFW 劫 持 后 的 DNS, 会 从 一 个 没 有 配 置 DNSSEC 的 服 务 器 上 优 先 返 回 虚 假 的 数 据, 这 就 出 现 了 一 个 极 大 的 : 1. 如 果 我 们 不 启 用 dnssec-check-unsigned 这 个 选 项, 那 么 Dnsmasq 就 会 接 受 GFW 劫 持 后 的 数 据, 防 护 彻 底 丧 失 2. 如 果 我 们 启 用 dnssec-check-unsigned 这 个 选 项,GFW 伪 造 的 返 回 包 是 不 包 含 DNSSEC 支 持 信 息 的,Dnsmasq 会 认 为 这 是 一 个 不 支 持 DNSSEC 的 服 务 器 返 回 的 结 果, 从 而 丢 弃 这 个 数 据 但 是 114 之 类 的 国 内 DNS 也 都 是 没 有 DNSSEC 的, 他 们 的 解 析 结 果 也 同 样 会 被 丢 弃, 那 么 我 们 就 无 法 把 国 内 的 域 名 交 给 这 些 国 内 DNS 解 析 来 解 决 CDN 和 解 析 速 度 问 题 因 为 我 们 常 用 的, 被 污 染 的 域 名 几 乎 都 没 有 做 DNSSEC 签 名, 所 以 DNSSEC 几 乎 不 能 给 我 们 提 供 任 何 帮 助 现 在 能 起 作 用, 也 仅 仅 是 因 为 GFW 伪 造 的 数 据 包 是 一 个 不 支 持 DNSSEC 的 DNS 服 务 器 的 格 式, 在 开 启 dnssec-check-unsigned 这 个 选 线 的 时 候,Dnsmasq 会 像 丢 弃 114DNS 的 解 析 结 果 一 样 丢 弃 了 GFW 的 伪 造 包 如 果 哪 天 GFW 更 新, 同 时 发 送 无 DNSSEC 和 有 DNSSEC 的 伪 造 包, 那 DNSSEC 就 完 全 帮 不 上 忙 了, 除 非 那 些 域 名 本 身 有 DNSSEC 签 名

70 第 四 章 FREEROUTER V2 的 技 术 原 理 年 后 的 DNS 污 染 对 应 策 略 背 景 和 策 略 众 所 周 知 的 背 景 是, 从 2015 年 年 初 开 始,GFW 用 于 DNS 污 染 的 投 毒 IP 暴 增 到 了 数 千 个, 而 且 完 全 不 知 道 这 个 IP 的 产 生 规 则, 如 果 这 个 IP 库 的 产 生 是 个 随 机 过 程, 那 么 我 们 寄 希 望 于 linux 防 火 墙 来 过 滤 投 毒 IP 就 完 全 不 靠 谱 了 很 无 奈 的, 我 把 FreeRouter V2 的 DNS 策 略 修 改 回 了 最 早 期 的 FreeRouter V1 上 的 策 略, 只 不 过 把 白 名 单 模 式 改 成 了 黑 名 单 模 式 在 FreeRouter V1 中, 默 认 所 有 的 DNS 查 询 都 通 过 VPN 访 问 Google DNS 这 些 国 外 纯 净 的 DNS 来 实 现, 只 对 国 内 Alex 排 名 几 百 位 的 域 名 和 全 部 的.cn 域 名 以 及 部 分 大 网 站 的 CDN 子 域 名 使 用 国 内 DNS 解 析 这 样 做 的 好 处 是, 你 永 远 不 用 担 心 有 哪 个 你 不 知 道 被 污 染 的 域 名 使 用 了 国 内 DNS 查 询, 因 为 使 用 国 内 DNS 的 域 名 全 部 是 你 自 己 指 定 的 但 这 样 做 的 缺 点 也 很 明 显, 因 为 这 个 国 内 域 名 的 列 表 实 在 太 大 了, 毕 竟 大 部 分 人 绝 大 部 分 时 间 访 问 的 网 站 90% 都 是 国 内 网 站, 专 业 人 士 可 能 直 接 就 开 全 局 VPN 了, 不 用 费 这 个 功 夫 因 为 列 表 大, 就 很 难 完 整, 难 免 会 碰 到 国 内 网 站 被 解 析 到 国 外 节 点 上 的 情 况 在 FreeRouter V2 中, 我 采 用 的 是 黑 名 单 模 式, 即 默 认 所 有 域 名 都 从 国 内 DNS 解 析, 但 所 有 我 们 要 翻 墙 的 域 名 都 通 过 VPN 走 Google DNS 解 析 因 为 被 污 染 域 名 的 网 站 始 终 是 少 数, 所 以 我 们 的 被 屏 蔽 域 名 列 表 是 被 污 染 域 名 列 表 的 超 集, 只 要 保 证 了 这 个 列 表 里 的 域 名 都 是 从 干 净 的 DNS 解 析 的, 那 基 本 就 没 有 问 题 了 但 这 种 方 式 也 不 是 没 有 问 题 的, 最 大 的 问 题 是 VPN 断 线 后 国 外 的 DNS 就 不 再 纯 净 了, 污 染 依 然 可 以 进 来, 这 也 是 为 什 么 之 前 我 这 么 倾 向 于 用 iptables 过 滤 的 原 因, 因 为 那 样, 嗯, 超 强 防 侧 漏 提 供 持 久 保 护 但 是 没 办 法, 谁 让 GFW 这 帮 小 伙 这 么 拼 呢, 我 现 在 是 真 没 时 间 跟 他 们 玩 了 所 以 你 能 做 的 就 是 找 个 靠 谱 点 的 VPN, 另 外 Dnsmasq 本 身 有 缓 存 机 制, 如 果 在 缓 存 时 间 失 效 之 前 VPN 能 重 新 连 上, 其 实 问 题 也 不 大, 至 少 我 用 了 这 段 时 间 来 看 还 真 没 什 么 问 题 实 际 操 作 实 际 操 作 也 很 简 单, 依 然 依 靠 我 们 伟 大 的 Dnsmasq, 例 如 google.com 被 封 了, 我 们 除 了 用 ipset 把 google.com 加 入 VPN 通 道 之 外, 还 要 加 一 句 让 google.com 通 过 来 解 析 : server=/google.com/

71 第 四 章 FREEROUTER V2 的 技 术 原 理 66 同 时 我 们 早 就 说 过, 国 外 的 DNS 必 须 通 过 VPN 访 问 才 是 干 净 的, 所 以 我 们 在 /etc/ppp/ip-up.d/vpnup.sh 中 添 加 一 条 命 令, 让 走 VPN 通 道 route add -host dev $VPN_DEV 至 于 为 什 么 选 Google DNS, 这 完 全 是 个 人 感 觉, 你 喜 欢 OpenDNS 其 实 也 是 差 不 多 的, 因 为 OpenDNS 也 早 就 宣 布 不 劫 持 错 误 域 名 到 任 何 广 告 页 面 了, 一 样 很 了 不 起 在 速 度 上, 其 实 当 你 通 过 VPN 访 问 这 些 DNS 服 务 器 之 后, 基 本 上 这 个 速 度 就 取 决 于 你 VPN 的 速 度 了, 国 外 的 VPN 服 务 器 到 这 些 DNS 服 务 器 的 耗 时 基 本 都 是 可 以 忽 略 不 计 的 同 时, 我 们 之 前 在 /etc/firewall.user 中 添 加 的 那 些 过 滤 规 则, 全 都 不 需 要 了, 删 掉 就 行 了 没 必 要 注 释 掉, 留 着 真 没 什 么 意 义, 这 么 多 年 来 我 只 见 过 墙 往 前 推, 还 没 见 过 墙 往 后 倒 一 个 小 脚 本 如 果 把 上 面 的 dnsmasq 配 置 项, 为 几 百 个 域 名 写 上 几 百 行, 其 实 也 是 挺 烦 人 的 所 以 我 写 了 个 小 脚 本, 代 码 如 下 : #!/bin/sh set -x ConfFile="./gfw.conf" TextFile="./GfwList.txt" if [ $1 = '--sort ' ] then cat $ConfFile sort grep ipset sed -e "s#^[^\/]*\/\([^\/]*\)\/.*\$#\1#g" >$TextFile fi rm -rf $ConfFile cat $TextFile while read SingleDomain do echo "ipset=/ $SingleDomain/vpn">>$ConfFile echo "server=/$singledomain / ">>$ConfFile done 功 能 很 简 单, 如 果 你 在 同 目 录 下 放 一 个 GfwList.txt 文 件, 里 面 一 行 一 个 写 入 需 要 翻 墙 的 域 名, 直 接 执 行 后 就 会 给 你 生 成 一 份 适 合 的 gfw.conf 文 件 用 于 dnsmasq 的 配 置 考 虑 到 一 些 处 女 座 强 迫 症 患 者 可 能 喜 欢 所 有 域 名 按 序 排 列, 我 加 了 个 sort 参 数, 如 果 你 在 同 目 录 下 有 一 个 gfw.conf 文 件, 配 合 这 个 参 数 运 行, 脚 本 就 会 把 gfw.conf 里 的 域 名 全 部 抽 取 出 来 排 序 好, 生 成 一 份 有 序 的 GfwList.txt, 然 后 再 生 成 一 份 有 序 的 gfw.conf 文 件 替 换 原 文 件

72 第 四 章 FREEROUTER V2 的 技 术 原 理 67 然 后 你 再 运 行./apply.sh 脚 本, 这 个 脚 本 会 自 动 把 同 目 录 下 的 gfw.conf 文 件 复 制 到 对 应 的 FreeRouter V2 项 目 的 目 录 下, 然 后 重 启 Dnsmasq 服 务 让 这 些 改 动 生 效 不 要 感 激 我, 这 是 情 怀

73 第 章 FreeRouter 实 战 如 果 没 有 爱, 一 个 故 事 怎 么 会 有 幸 福 的 结 局? 5.1 FreeRouter V2 的 工 作 流 程 程 : 我 们 前 面 已 经 把 FreeRouter V2 所 用 到 的 技 术 全 部 讲 完 了, 在 开 始 实 际 部 署 前 先 总 结 一 下 整 个 工 作 流 1. 客 户 端 发 起 访 问 Twitter.com 的 请 求, 同 时 发 出 DNS 解 析 请 求, 请 求 送 达 路 由 器 2. 路 由 器 上 的 Dnsmasq 向 所 有 DNS 服 务 器 发 起 解 析 请 求 3. GFW 抢 先 返 回 虚 假 解 析 结 果, 被 iptables 防 火 墙 拦 截 4. 真 正 的 DNS 服 务 器 返 回 的 数 据 随 后 到 达, 被 Dnsmasq 接 受 5. Dnsmasq 发 现 twitter.com 在 配 置 的 IPSET 列 表 里, 将 这 个 解 析 的 IP 加 入 IPSET 6. iptables 防 火 墙 把 目 标 地 址 属 于 这 个 IPSET 的 数 据 全 部 打 上 标 签 7. ip rule 规 则 把 打 上 标 签 的 数 据 全 部 加 入 一 个 table 8. ip route 把 这 个 table 里 的 数 据 全 部 转 发 到 VPN 接 口 9. 对 twitter.com 的 访 问 数 据 全 部 通 过 VPN 接 口 进 行, 绕 过 GFW 的 IP 阻 断 如 果 文 字 不 好 理 解, 看 图 吧 : 68

74 第 五 章 FREEROUTER 实 战 69 图 5.1: FreeRouter V2 工 作 流 程

75 第 五 章 FREEROUTER 实 战 OpenWRT 基 础 OpenWRT 是 什 么? OpenWRT 的 官 方 网 站 在 这 里 : 首 先 你 要 知 道 OpenWRT 是 什 么,OpenWRT 是 一 个 基 于 Linux 内 核 的 第 三 方 路 由 器 操 作 系 统, 和 一 般 的 桌 面 Linux 系 统 不 同, 路 由 器 的 操 作 系 统 是 实 时 系 统 1, 但 什 么 是 实 时 系 统 其 实 和 你 们 关 系 不 大, 不 用 管 它 了 你 要 知 道 的 是,OpenWRT 能 够 成 为 一 个 路 由 器 的 系 统, 除 了 内 核 之 外 主 要 依 靠 的 是 大 量 的 Linux 网 络 工 具 和 内 核 模 块, 是 这 些 工 具 和 模 块 提 供 了 OpenWRT 的 网 络 管 理 能 力, 要 使 用 特 定 的 功 能 就 必 须 在 OpenWRT 中 有 对 应 的 软 件 包 (Package) 支 持 所 谓 的 第 三 方, 指 的 是 一 般 的 路 由 器 在 出 厂 前 基 本 都 不 会 预 装 这 个 系 统, 如 果 你 要 使 用, 就 要 像 手 机 刷 机 一 样 自 己 把 OpenWRT 固 件 刷 进 你 的 路 由 如 果 你 缺 乏 OpenWRT 的 基 础 知 识, 请 去 阅 读 OpenWRT 的 官 方 Wiki, 我 不 会 去 帮 你 解 答 和 项 目 无 关 的 OpenWRT 的 问 题 我 的 路 由 能 刷 OpenWRT 吗? OpenWRT 提 供 另 一 个 支 持 OpenWRT 的 硬 件 Wiki 列 表, 注 意 ipad 上 的 safari 可 能 打 不 开 这 个 页 面, 换 chrome 或 者 用 桌 面 版 的 其 他 浏 览 器 当 然 这 个 wiki 的 更 新 有 时 候 并 不 及 时, 你 可 以 直 接 去 他 们 的 下 载 站 点, 根 据 自 己 路 由 器 的 CPU 型 号, 去 trunk 目 录 里, 选 择 对 应 的 目 录 查 看 是 否 有 自 己 的 路 由 器 对 应 的 固 件, 地 址 是 : 最 新 的 代 码 和 最 新 添 加 的 硬 件 支 持 都 在 trunk 目 录 里, 但 trunk 目 录 也 意 味 着 这 是 开 发 中 的 代 码, 可 能 伴 随 着 一 些 未 知 的 bug 和 不 稳 定 性 一 般 来 说,OpenWRT 支 持 最 好 最 全 面 的 是 Atheros 的 AR71xx 系 列 的 CPU, 其 次 是 BroadCom 的 一 些 老 的 型 号 CPU 你 也 许 可 以 再 国 内 的 一 些 论 坛 找 到 一 些 没 被 OpenWRT 官 方 支 持 的 路 由 器 的 OpenWRT 固 件, 虽 然 他 们 提 供 了 固 件, 但 OpenWRT 官 方 未 必 提 供 了 对 应 芯 片 的 Package 支 持, 要 知 道 每 种 芯 片 对 应 的 Package 是 要 用 各 自 芯 片 的 SDK 重 新 编 译 才 能 用 的 所 以, 除 非 你 动 手 能 力 超 强 能 自 己 搞 定 所 有 的 package 编 译, 我 从 来 都 不 会 建 议 你 买 这 些 没 官 方 支 持 的 路 由 1 Real Time OS

76 第 五 章 FREEROUTER 实 战 我 的 路 由 需 要 多 大 ROM? 实 现 一 个 有 管 理 界 面 (luci), 能 安 装 完 FreeRouter V2 全 部 功 能 脚 本 的 路 由, 需 要 你 的 路 由 器 至 少 有 4M 的 Flash 空 间, 一 般 而 言 这 个 都 是 可 以 满 足 的 如 果 你 希 望 充 分 发 挥 路 由 的 功 能, 例 如 添 加 文 件 共 享, USB 共 享, 脱 机 下 载 这 些 额 外 的 功 能, 建 议 至 少 有 8MB 的 空 间, 这 些 东 西 和 本 项 目 无 关, 不 要 来 烦 我 如 果 你 有 兴 趣 研 究 GFW, 或 者 学 习 linux 的 网 络 管 理, 那 么 你 可 能 需 要 安 装 一 些 linux 的 调 试 跟 踪 工 具 在 路 由 上, 这 样 也 至 少 建 议 有 8MB 的 空 间 我 应 该 下 载 选 哪 个 版 本 的 固 件? 这 里 的 版 本 有 两 个 概 念, 一 个 是 真 正 的 版 本, 你 可 以 看 到 在 他 们 的 下 载 目 录 首 页, 有 backfire, attitude_adjustment, 这 些 目 录, 这 些 都 是 OpenWRT 的 重 大 版 本 更 新, 类 似 windows xp,windows 7 这 样 的 概 念, 当 前 最 新 的 正 式 发 布 的 版 本 是 attitude_adjustment, 正 在 开 发 中 的 barrier_breaker 已 经 发 布 了 RC2 版 本 目 前 barrier_breaker RC2 已 经 很 稳 定 了, 当 然 trunk 目 录 中 的 最 新 代 码 可 能 会 因 为 导 入 新 功 能 而 产 生 之 前 没 有 的 bug, 并 不 是 说 最 新 就 一 定 最 稳 定,RC 版 的 稳 定 性 一 般 来 说 比 trunk 版 要 高 另 外 一 个 版 本 概 念, 就 是 固 件 的 文 件 系 统 格 式 和 升 级 方 法 一 些 老 的 路 由 上 可 能 只 有 jffs 文 件 系 统 的 支 持, 而 新 的 一 般 都 支 持 suqashfs 你 不 需 要 知 道 这 两 者 的 具 体 内 容, 只 需 要 知 道 suqashfs 允 许 你 对 整 个 路 由 文 件 系 统 进 行 操 作, 而 jffs 文 件 系 统 只 允 许 你 对 一 个 叫 jffs 的 文 件 夹 的 内 容 进 行 修 改, 这 是 非 常 不 方 便 的, 本 书 的 讨 论 默 认 基 于 suqashfs 文 件 系 统 进 行 而 在 升 级 方 式 上, 如 果 你 路 由 现 在 的 固 件 还 是 出 厂 的 固 件, 就 应 该 选 择 文 件 名 后 面 带 factory 的, 表 示 从 原 厂 固 件 开 始 升 级, 升 级 之 后 就 是 OpenWRT 系 统 了 如 果 你 已 经 刷 成 OpenWRT 系 统 了, 只 需 要 下 载 sysupgrade 版 本 就 行 了 如 何 刷 固 件? 在 前 面 提 到 的 那 个 wiki 页 面 中, 点 击 进 入 每 个 支 持 OpenWRT 的 路 由 的 wiki 页 面 后, 一 般 都 会 有 很 详 细 的 刷 机 过 程 指 导, 大 部 分 情 况 下 你 只 需 要 下 载 factory 版 的 固 件, 然 后 从 原 厂 固 件 的 固 件 升 级 页 面 直 接 升 级 就 可 以 了 具 体 操 作, 请 自 行 阅 读 相 关 的 刷 机 说 明 为 什 么 刷 了 固 件 后 打 不 开 路 由 管 理 界 面? 第 一 次 刷 完 官 方 的 OpenWRT 固 件 后, 路 由 器 的 地 址 一 般 都 是 , 如 果 不 确 定, 可 以 用 前 面 教 你 们 的 traceroute 命 令 查 看 第 一 个 路 由 节 点 是 什 么.openwRT 官 方 的 固 件 默 认 都 不 提 供 luci 管 理 界 面, 只

77 第 五 章 FREEROUTER 实 战 72 提 供 23 端 口 的 telnet 进 行 远 程 管 理 这 个 端 口 默 认 没 有 密 码, 用 telnet 登 录 上 之 后 你 可 以 自 己 安 装 luci 管 理 界 面 如 何 安 装 各 种 package? 在 OpenWRT 下 安 装 各 种 软 件 和 在 ubuntu 下 安 装 软 件 几 乎 是 一 样 的, 只 是 命 令 有 些 不 同, 以 安 装 luci web 管 理 界 面 package 为 例,telnet 登 录 到 路 由 之 后, 执 行 如 下 命 令 : opkg update 这 个 过 程 是 从 openwrt 官 方 更 新 源 列 表, 对 于 trunk 版 的 固 件, 经 常 会 因 为 trunk 目 录 里 的 代 码 更 新 导 致 版 本 需 求 和 你 现 有 的 固 件 不 匹 配, 所 以 你 最 好 能 学 会 后 面 自 己 打 包 固 件 的 方 法 opkg install luci 这 是 安 装 luci 管 理 界 面, 如 果 一 个 pacakge 有 什 么 其 他 依 赖 的 package, 也 会 一 并 被 安 装, 不 用 你 额 外 操 心 opkg install luci -ssl 如 果 你 需 要 的 话, 还 可 以 额 安 装 luci-ssl, 提 供 ssl 加 密 的 管 理 界 面 登 录 opkg install luci -i18n -chinese 如 果 你 需 要 中 文 界 面, 就 安 装 对 应 的 中 文 支 持 luci 管 理 界 面 本 身 的 运 行 需 要 一 个 http 服 务 器 组 件 叫 做 uhttpd, 在 你 安 装 luci 的 时 候 默 认 就 会 安 装 这 个 组 件, 但 它 不 会 自 己 启 动, 所 以 你 要 手 工 启 动 它 : /etc/init.d/uhttpd start 为 了 让 以 后 每 次 重 启 路 由 都 自 动 启 动 uhttpd 服 务, 需 要 使 能 这 个 服 务 : /etc/init.d/uhttpd enable 更 完 整 的 使 用 OPKG 命 令 安 装 package 的 指 导, 请 参 考 OpenWRT 官 方 页 面 介 绍

78 第 五 章 FREEROUTER 实 战 FreeRouter V2 需 要 的 组 件 FreeRouter V2 使 用 了 一 些 普 通 人 可 能 用 不 到 的 组 件, 依 次 介 绍 必 要 的 组 件 : luci, 可 选 项 目 :luci-ssl,luci-i18n-chinese,luci-app-upnp luci-app-qos luci-app-samba 这 是 路 由 的 管 理 界 面, 前 面 已 经 提 到 了, 可 以 方 便 我 们 添 加 管 理 各 种 接 口, 虽 然 不 是 必 须 的, 但 有 这 个 确 实 方 便 很 多 后 面 几 个 可 选 项 目, 分 别 是 管 理 页 面 的 ssl 支 持, 中 文 支 持,upnp 管 理,qos 管 理, 和 samba 共 享 管 理 ipset 用 于 创 建 ipset iptables-mod-ipopt 和 kmod-ipt-ipopt iptables 对 应 的 标 签 处 理 模 块 和 内 核 支 持 模 块, 用 于 实 现 让 iptables 给 数 据 添 加 标 签 (fwmark) ip 用 于 ip rule 添 加 和 ip route 路 由 表 管 理 iptables-mod-filter 和 kmod-ipt-filter iptables 的 string 模 块 和 对 应 的 内 核 支 持 模 块 iptables-mod-u32 和 kmod-ipt-u32 iptables 的 u32 模 块 和 对 应 的 内 核 支 持 模 块 ppp-mod-pptp 用 于 连 接 PPTP VPN 的 接 口 模 块, 当 且 仅 当 你 使 用 PPTP VPN 的 时 候 才 需 要 openvpn-ssl 用 于 连 接 Open VPN 的 接 口 模 块, 当 且 仅 当 你 使 用 Open VPN 的 时 候 才 需 要.PPTP 和 OpenVPN 两 种 接 口 方 案 你 只 能 选 择 一 种 使 用, 不 能 同 时 使 用. dnsmasq-full 这 个 需 要 特 别 注 意!OpenWRT 官 方 固 件 自 带 的 Dnsmasq 是 lite 版 本, 不 带 IPSET 功 能, 也 没 有 DNSSEC 支 持 ( 虽 然 这 个 没 什 么 太 大 用 处 ), 必 须 替 换 成 dnsmasq-full 版 本 才 可 以 使 用 dnsmasq-full 是 官 方 提 供 的 版 本, 不 需 要 自 己 重 新 编 译

79 第 五 章 FREEROUTER 实 战 74 以 下 都 是 可 选 项 目, 适 合 喜 欢 折 腾 的 人, 普 通 用 户 不 需 要 这 些 东 西 : bash 和 bash-completion OpenWRT 自 带 的 shell 是 Ash, 非 常 简 陋, 很 多 命 令 和 功 能 都 不 能 使 用, 限 制 也 很 多, 你 可 以 自 己 安 装 bash 如 果 需 要 把 默 认 的 shell 替 换 成 bash, 需 要 修 改 /etc/passwd 文 件, 把 里 面 的 /bin/ash 改 成 /bin/bash, 重 启 后 就 可 以 生 效 了 vim-full 和 vim-runtime vim 是 这 个 世 界 上 最 好 的 编 辑 器, 没 有 之 一,emacs 逆 党 速 速 退 散!SlickEdit 用 户 们, 跟 我 一 起 去 抗 议 SE 一 年 60 刀 的 维 护 费 吧, 太 黑 了 bind-dig 和 bind-libs 安 装 我 们 前 面 说 到 的 Dig 命 令 工 具 curl 我 的 某 些 脚 本 会 用 到 curl, 这 个 东 西 比 较 大, 大 概 有 1MB 5.4 部 署 FreeRouterV 系 统 的 基 本 设 置 刷 好 固 件 后 首 先 从 luci 界 面 登 录 ( 假 定 你 已 经 安 装 好 了 所 有 必 需 的 package), 默 认 是 没 有 密 码 的 :

80 第 五 章 FREEROUTER 实 战 75 图 5.2: luci 登 录 界 面 登 录 后 按 提 示 跳 转 到 密 码 设 定 页 面, 设 定 路 由 器 管 理 密 码, 点 击 保 存 应 用 这 个 密 码 也 是 你 用 ssh 管 理 路 由, 和 用 winscp 部 署 文 件 时 用 的 密 码, 用 户 名 默 认 是 root 图 5.3: 密 码 设 定 页 面 第 一 次 设 定 密 码 后 稍 微 等 待 几 分 钟, 因 为 后 台 生 成 SSH Key 的 时 间 非 常 长, 然 后 就 可 以 用 你 习 惯 的 Shell 工 具 登 录 了,Cygwin 就 是 很 好 的 工 具, 文 件 管 理 在 Windows 下 推 荐 用 免 费 的 WinSCP

81 第 五 章 FREEROUTER 实 战 PPTP VPN 接 口 设 定 PPtP 依 次 点 击 管 理 页 面 上 方 的 网 络 接 口, 点 击 左 下 方 的 添 加 新 接 口, 接 口 名 称 随 便 填, 协 议 选 择 图 5.4: 开 始 建 立 VPN 接 口 按 照 你 自 己 的 VPN 服 务 器 信 息 和 用 户 名 密 码 填 写 :

82 第 五 章 FREEROUTER 实 战 77 图 5.5: 填 写 服 务 器 IP, 用 户 名 和 密 码 在 高 级 设 置 中, 取 消 勾 选 使 用 默 认 网 关 : 图 5.6: 不 要 选 使 用 默 认 网 关 防 火 墙 设 置 中, 把 VPN 接 口 设 置 在 和 WAN 接 口 同 一 个 区 域, 否 则 VPN 接 口 会 被 防 火 墙 限 制 在 内 网 :

83 第 五 章 FREEROUTER 实 战 78 图 5.7: 配 置 VPN 接 口 的 防 火 墙 区 域 全 部 设 置 完 之 后 点 击 保 存 应 用, 如 果 正 常 连 接 上 的 话, 应 该 可 以 看 到 这 个 接 口 有 数 据, 否 则 数 据 都 是 0. 通 过 SSH 登 录 后, 如 果 VPN 连 接 成 功, 使 用 ifconfig 命 令 应 该 可 以 看 到 我 们 自 己 刚 才 设 定 的 VPN 接 口, 名 称 应 该 是 pptp- 我 们 设 定 的 接 口 名 字 Open VPN 接 口 设 定 相 对 PPTP 而 言,OpenVPN 接 口 的 设 定 稍 微 麻 烦 一 点 点, 因 为 原 来 OpenWRT 官 方 提 供 的 luci-appopenvpn 这 个 luci 管 理 组 件 已 经 不 再 提 供 了 也 许 你 可 以 自 己 去 找 其 他 非 官 方 支 持 的 版 本, 但 这 不 在 我 们 考 虑 的 范 围,FreeRouter V2 只 使 用 OpenWRT 官 方 提 供 的 组 件 注 意, 本 节 的 内 容 可 以 完 全 独 立 于 FreeRouter V2 项 目 本 身, 只 作 为 OpenVPN 在 OpenWRT 上 的 连 接 指 南 来 看 这 也 意 味 着 你 在 这 节 碰 到 的 问 题 都 不 是 FreeRouter V2 项 目 本 身 的 问 题, 建 立 好 OpenVPN 连 接 是 你 自 己 要 负 责 的 工 作 这 里 我 们 假 定 你 用 的 OpenVPN 是 tunnel 形 式 而 不 是 Tap 形 式, 这 点 很 重 要, 否 则 接 口 名 是 匹 配 不 上 的 但 这 肯 定 不 是 选 tunner 形 式 接 口 的 原 因, 具 体 的 原 因 可 以 看 看 这 个 页 面 的 介 绍,tap 一 般 指 用 于 基 于 layer2 mode 的 VPN, 但 layer2 mode 的 OpenVPN 只 有 Windows 客 户 端 才 能 连 上. 所 以 一 般 来 说, 你 们 买 的 和 自 己 用 OpenVPN Access Server 搭 建 的 VPN 都 是 tunnel 类 型, 这 也 是 最 普 遍 的 OpenVPN 形 式. 如 果 你 不 确 定 这 一 点, 查 看 服 务 商 给 你 提 供 的 *.ovpn 或 者 *.conf 格 式 的 客 户 端 配 置 文 件, 看 到 如 下 字 样 就 说 明 是 tunnel 形 式 的 了 : dev tun dev-type tun 第 一 步 和 PPTP 是 一 样 的, 依 次 点 击 管 理 页 面 上 方 的 网 络 接 口, 点 击 左 下 方 的 添 加 新 接 口,

84 第 五 章 FREEROUTER 实 战 79 图 5.8: 添 加 一 个 新 接 口 但 是 这 里 我 们 选 不 配 置 协 议, 最 上 面 的 接 口 名 你 可 以 随 便 写, 但 下 方 包 括 以 下 接 口 部 分 我 们 必 须 手 工 填 入 tun0, 因 为 这 个 是 tunnel 形 式 的 OpenVPN 连 接 成 功 后 默 认 创 建 的 接 口 名 但 如 果 你 的 VPN 服 务 商 有 其 他 的 ifconfig 选 项 的 推 送, 也 许 会 导 致 你 的 openwrt 上 建 立 的 接 口 名 不 同 这 种 情 况 下, 你 需 要 先 连 接 openvpn, 查 看 连 接 后 建 立 的 接 口 名, 再 回 到 这 里 建 立 同 名 的 接 口

ARP ICMP

ARP ICMP ARP ICMP 2 9-1 ARP 9-2 ARP 9-3 ARP 9-4 ICMP 9-5 ICMP 9-6 ICMP 9-7 ICMP 3 ARP ICMP TCP / IP, IP ARP ICMP 3 IP, ARP ICMP IP ARP ICMP 2, 4 9-1 ARP, MAC, IP IP, MAC ARP Address Resolution Protocol, OSI ARP,,

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

飞鱼星多WAN防火墙路由器用户手册

飞鱼星多WAN防火墙路由器用户手册 WAN VER: 20110218 Copyright 2002-2011 VOLANS WAN VR4600 VR4900 VR7200 VR7500 VR7600 1.1 1.2 IP 1.3 2.1 2.2 2.2.1 2.2.2 3.1 3.2 3.2.1 3.2.2 3.2.3 4.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.3 4.3.1 4.3.2

More information

R3105+ ADSL

R3105+ ADSL ... 1 1 1... 1 1 2... 1... 3 2 1... 3 2 2... 3 2 3... 5 2 4... 5 2 4 1... 5... 7 3 1... 7 3 2... 8 3 2 1... 8 3 2 2... 9 3 3... 12 3 3 1... 13 3 3 2 WAN... 16 3 3 3 LAN... 21 3 3 4 NAT... 22 3 3 5... 24

More information

C3_ppt.PDF

C3_ppt.PDF C03-101 1 , 2 (Packet-filtering Firewall) (stateful Inspection Firewall) (Proxy) (Circuit Level gateway) (application-level gateway) (Hybrid Firewall) 2 IP TCP 10.0.0.x TCP Any High Any 80 80 10.0.0.x

More information

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式]

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式] IPv6 Linux (Cent OS 5.x) IPV6 2 IPv6 IPv6 IPv6 IPv6 IPv4 IPv6 (RFC 2460) Dual Stack Tunnel 3 4 IPv6 Native IP IPv6, DHCPv6 IPv6 IP IPv6 Tunnel Broker IPv4, Tunnel IPv6 Tunnel Broker Client IPv6 ( ) IPv6

More information

Simulator By SunLingxi 2003

Simulator By SunLingxi 2003 Simulator By SunLingxi sunlingxi@sina.com 2003 windows 2000 Tornado ping ping 1. Tornado Full Simulator...3 2....3 3. ping...6 4. Tornado Simulator BSP...6 5. VxWorks simpc...7 6. simulator...7 7. simulator

More information

PowerPoint Presentation

PowerPoint Presentation 立 97 年度 SNMG 練 DNS & BIND enc1215@gmail.com DNS BIND Resolver Named 理 Named 更 DNS DNS Reference 2 DNS DNS 料 domain ip DNS server DNS server 理 DNS server DNS DNS 狀. root name server 理 3 DNS 狀 DNS (2). com

More information

一、选择题

一、选择题 计 算 机 网 络 基 础 第 7 章 练 习 思 考 与 认 识 活 动 一 选 择 题 1. 下 面 命 令 中, 用 于 检 查 WINDOWS2000 下 TCP/IP 配 置 信 息 的 是 ( ) A. cmd B. nslookup C. ipconfig D. ping 2. 内 部 网 关 协 议 RIP 是 一 种 广 泛 使 用 的 基 于 距 离 矢 量 算 法 的 协 议

More information

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC 8 TCP/IP TCP/IP TCP OSI 8.1 OSI 4 end to end A B FTP OSI Connection Management handshake Flow Control Error Detection IP Response to User s Request TCP/IP TCP 181 UDP 8.2 TCP/IP OSI OSI 3 OSI 3 8.1 TCP/IP

More information

untitled

untitled Parent zone named.conf.options ( Root) shell script shell script 2 Child zone named.conf.options ( ) ( ) ( ) ( ) ( ) ( parent zone) 3 Parent zone named.conf.options $ vi /etc/bind/named.conf.options options

More information

11N 无线宽带路由器

11N 无线宽带路由器 http://www.tenda.com.cn 1... 1 1.1... 1 1.2... 1 2... 3 2.1... 3 2.2... 3 2.3... 5 2.4... 6 2.5... 7 2.6... 9 2.6.1 无线基本设置... 9 2.6.2 无线加密设置... 9 2.7... 10 3... 18 3.1... 18 3.2... 19 3.2.1 ADSL 拨号上网设置...

More information

ebook140-11

ebook140-11 11 VPN Windows NT4 B o r d e r M a n a g e r VPN VPN V P N V P N V P V P N V P N TCP/IP 11.1 V P N V P N / ( ) 11.1.1 11 V P N 285 2 3 1. L A N LAN V P N 10MB 100MB L A N VPN V P N V P N Microsoft PPTP

More information

A9RBC8B.tmp

A9RBC8B.tmp CCIE A B 1B 255.255.255.0 255.255.255.224 002 A B 1 1A B 2A B ARP MAC 3A B 192.168.26.2 4A B ARP 003 Wireshark Windows Wireshark 1. http://www.wireshark.org/download.html B 2. Wireshark Capture Interfaces

More information

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP TCP/IP : TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP 1. ASCII EBCDIC Extended Binary-Coded Decimal Interchange Code 2. / (1) (2) Single System Image SSI) (3) I/O (4) 3.OSI OSI Open System Interconnection

More information

NetST 2300系列防火墙产品白皮书

NetST 2300系列防火墙产品白皮书 2000 (NetST 2000 ) ... 3... 4 NetST 2000... 5 1...5 2...5 3...6 4...9 5...9 6...9 7...10 7.1...10 7.2...10 7.3...11 7.4...11 7.5...13 7.6...13 7.7 VPN...14 7.8...14 7.9...15 7.10...17 7.11 IP...17 7.12...18

More information

ebook67-9

ebook67-9 9 IP 9.1 I P 9-1 I P 9-1 d a e m o n U n i x d a e m o n d a e m o n [Perlman 1992] 10 R I P Routing Information Protocol I P 9-1 I P 30 I C M P 9. 5 r o u t e n e t s t a t route netstat UDP TCP ICMP

More information

SEC-220

SEC-220 Session CERT/CC 60000 50000 40000 52,658 30000 26,829 20000 10000 0 2,412 1995 1999 2000 2001 Q1, 2002 Source: http://www.cert.org/stats/ CERT/CC 3000 2500 2000 2,437 1500 1000 500 0 171 1,065 1995

More information

Дорогие коллеги, вот что у меня получилось

Дорогие коллеги, вот что у меня получилось Центр олимпиад Санкт-Петербурга ФГБОУ ВПО РГПУ им. А.И.Герцена Институт иностранных языков НОУ «Конфуций» 全 俄 奥 林 匹 克 中 学 生 汉 语 比 赛 Всероссийская олимпиада школьников по китайскому языку 2015 2016 区 级

More information

本文由筱驀釹贡献

本文由筱驀釹贡献 本 文 由 筱 驀 釹 贡 献 ppt 文 档 可 能 在 WAP 端 浏 览 体 验 不 佳 建 议 您 优 先 选 择 TXT, 或 下 载 源 文 件 到 本 机 查 看 Linux 操 作 系 统 Linux 操 作 系 统 第 一 部 分 介 绍 与 安 装 Linux 的 由 来 : Linux 的 由 来 : 的 由 来 Linus Torvalds 1.Linux 的 版 本 1.Linux

More information

untitled

untitled 1....2...2...6 2....10 3. UDP...15 4. TCP...16...16...16 1 1. PC COM1 COM2 COM1 COM2 DTU 2 3 4 COM1 COM1 COM2 COM ID 13900000000 DTU COM1 5 COM2 DTU DTU DTU DTU DTU DTU DTU ID ID 3031 3032 2 ID 13900000001

More information

<B1B1BEA9B9E2BBB7D0C2CDF8BFC6BCBCB9C9B7DDD3D0CFDEB9ABCBBEB4B43F3F12FB6CB293>

<B1B1BEA9B9E2BBB7D0C2CDF8BFC6BCBCB9C9B7DDD3D0CFDEB9ABCBBEB4B43F3F12FB6CB293> 本 次 股 票 发 行 后 拟 在 创 业 板 市 场 上 市, 该 市 场 具 有 较 高 的 投 资 风 险 创 业 板 公 司 具 有 业 绩 不 稳 定 经 营 风 险 高 退 市 风 险 大 等 特 点, 投 资 者 面 临 较 大 的 市 场 风 险 投 资 者 应 充 分 了 解 创 业 板 市 场 的 投 资 风 险 及 本 公 司 所 披 露 的 风 险 因 素, 审 慎 作 出

More information

GPRS IP MODEM快速安装说明

GPRS IP MODEM快速安装说明 GF-3026D CDMA 无 线 路 由 器 用 户 手 册 北 京 嘉 复 欣 科 技 有 限 公 司 地 址 : 北 京 市 海 淀 区 阜 成 路 115 号 北 京 印 象 2 号 楼 213 室 电 话 :86-10-88122130 88153193 88153197 传 真 :86-10-88122129 网 站 :http://www.garefowl.com/ 目 录 一 产 品

More information

目 彔 1. 准 备 工 作... 1 2. 登 彔 设 置... 2 3. 功 能 说 明... 4 3.1 实 时 监 控... 4 3.1.1 基 本 控 制... 4 4.1.2 功 能 设 置... 4 3.1.3 画 质 调 节... 6 3.1.4 彔 像 与 抓 拍... 6 3.1

目 彔 1. 准 备 工 作... 1 2. 登 彔 设 置... 2 3. 功 能 说 明... 4 3.1 实 时 监 控... 4 3.1.1 基 本 控 制... 4 4.1.2 功 能 设 置... 4 3.1.3 画 质 调 节... 6 3.1.4 彔 像 与 抓 拍... 6 3.1 嵌 入 式 Web Server 用 户 手 册 V2.0 感 谢 您 选 用 本 公 司 的 产 品, 请 您 在 使 用 本 产 品 前 仔 细 阅 读 用 户 手 册, 本 用 户 手 册 将 为 您 提 供 正 确 的 使 用 说 明 版 权 声 明 : 本 用 户 手 册 版 权 归 天 津 市 亚 安 科 技 股 仹 有 限 公 司 所 有, 未 经 本 公 司 许 可, 仸 何 机 构

More information

DOS下常用的网络命令.PDF

DOS下常用的网络命令.PDF DOS .... 1.1... 1.2... DOS... 2.1 ARP... 2.2 Finger... 2.3 Ftp... 2.4 Nbtstat... 2.5 Netstat... 2.6 Ping... 2.7 Rcp... 2.8 Rexec... 2.9 Route... 2.10 Rsh... 2.11 Tftp... 2.12 Tracert... 1 1 1 1 1 2 3 4

More information

(UTM???U_935_938_955_958_959 V2.1.9.1)

(UTM???U_935_938_955_958_959 V2.1.9.1) 192.16 www.sharetech.com.tw UTM 多 功 能 防 火 牆 管 理 者 手 冊 V 2.1.9.1 目 錄 第 一 章 安 裝 與 訊 息... 7 1-1 建 議 的 安 裝 設 定 圖... 8 1-2 軟 體 安 裝 設 定... 9 1-3 首 頁 訊 息... 14 1-4 型 號 與 功 能 對 照 表... 17 第 二 章 系 統 設 定... 19 2-1

More information

untitled

untitled 年度 路 IVI 劉 隆 年 597 598 IVI 錄... 601 行... 601... 601 1.... 601 2. 路... 602 3.... 603... 604 1.IPv4 to IPv6... 604 2.IPv6 to IPv4... 605 -... 606 ( )IVI Server... 606 ( )IVI Server... 610 ( )IVI DNS Server...

More information

ebook140-8

ebook140-8 8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4

More information

1. 二 進 制 數 值 ( 1 10 10 01 ) 2 轉 換 為 十 六 進 制 時, 其 值 為 何? (A) ( 69 ) 16 (B) ( 39 ) 16 (C) ( 7 A ) 16 (D) ( 8 A ) 16 2. 在 電 腦 術 語 中 常 用 的 UPS, 其 主 要 功 能

1. 二 進 制 數 值 ( 1 10 10 01 ) 2 轉 換 為 十 六 進 制 時, 其 值 為 何? (A) ( 69 ) 16 (B) ( 39 ) 16 (C) ( 7 A ) 16 (D) ( 8 A ) 16 2. 在 電 腦 術 語 中 常 用 的 UPS, 其 主 要 功 能 注 意 : 考 試 開 始 鈴 ( 鐘 ) 響 前, 不 可 以 翻 閱 試 題 本 民 國 104 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 試 試 題 計 算 機 概 論 注 意 事 項 1. 請 核 對 考 試 科 目 是 否 正 確 2. 請 檢 查 答 案 卡 座 位 及 准 考 證 三 者 之 號 碼 是 否 完 全 相 同, 如 有 不 符, 請 監 試 人

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 容 分 发 网 络 Alibaba Cloud Content Delivery Network 一

More information

My Net N900 Central Router User Manual

My Net N900 Central Router User Manual My Net N900 Central 路 由 器 WD 服 務 與 支 援 如 果 您 遇 到 問 題, 請 在 決 定 退 回 本 產 品 之 前, 先 讓 我 們 有 機 會 解 決 此 問 題 大 部 分 的 技 術 支 援 問 題 都 可 透 過 我 們 的 知 識 庫 或 電 子 郵 件 支 援 服 務 (http://support.wdc.com) 獲 得 解 答 如 果 無 法 獲

More information

<4D6963726F736F667420506F776572506F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA4544350A1A24950D0ADD2E9BACD4950B5D8D6B72E707074>

<4D6963726F736F667420506F776572506F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA4544350A1A24950D0ADD2E9BACD4950B5D8D6B72E707074> 项 目 一 : 初 识 计 算 机 网 络 任 务 三 熟 悉 TCP/IP 协 议 和 IP 地 址 一. 学 习 要 求 : 学 习 要 求 及 难 点 1. 了 解 IP 协 议 TCP 协 议 和 UDP 协 议 2. 熟 悉 IP 地 址 的 划 分 和 分 类 3. 了 解 IPV6 的 地 址 结 构 二. 难 点 : 1. IP 地 址 三. 学 时 : 1. 理 论 教 学 :6

More information

中国计算机软件专业技术资格和水平考试

中国计算机软件专业技术资格和水平考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2009 年 下 半 年 网 络 工 程 师 上 午 试 卷 ( 考 试 时 间 9 : 00~11 : 30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 卡 1. 在 答 题 卡 的 指 定 位 置 上 正 确 写 入 你 的 姓 名 和 准 考 证 号, 并 用 正 规 2B 铅

More information

財金資訊-80期.indd

財金資訊-80期.indd IPv6 / LINE YouTube TCP/IP TCP (Transmission Control Protocol) IP (Internet Protocol) (node) (address) IPv4 168.95.1.1 IPv4 1981 RFC 791 --IP IPv4 32 2 32 42 IP (Internet Service Provider ISP) IP IP IPv4

More information

PPP Intranet Chapter 3 Chapter IaaS PaaS SaaS

PPP Intranet Chapter 3 Chapter IaaS PaaS SaaS CONTENTS Chapter 1 Chapter 2 1-1... 1-1 1-2... 1-3 1-2-1... 1-3 1-2-2... 1-5 1-2-3... 1-7 1-3... 1-8 1-3-1... 1-8 1-3-2... 1-10 1-4... 1-13 2-1... 2-1 2-2 OSI... 2-2 2-3... 2-8 2-3-1... 2-8 2-3-2... 2-9

More information

C6_ppt.PDF

C6_ppt.PDF C01-202 1 2 - (Masquerade) (Replay) (Message Modification) (Denial of Service) - ( ) (Eavesdropping) (Traffic Analysis) 8 1 2 7 3 6 5 4 3 - TCP SYN (SYN flood) Smurf Ping of Death LAND Attack Teardrop

More information

第 11 章 互聯網技術 11.1 互聯 網 和 萬 維 網 的 發 展 歷 史 A. 互聯網的發展 互聯網是由 ARPANET 開 始發展的 1969 年 美國國防部高級研究計劃署 (ARPA) 把部分軍事研究所和大 的電腦連接起來 建造了㆒個實驗性的電腦網絡 稱為 ARPANET 並 列 的功能

第 11 章 互聯網技術 11.1 互聯 網 和 萬 維 網 的 發 展 歷 史 A. 互聯網的發展 互聯網是由 ARPANET 開 始發展的 1969 年 美國國防部高級研究計劃署 (ARPA) 把部分軍事研究所和大 的電腦連接起來 建造了㆒個實驗性的電腦網絡 稱為 ARPANET 並 列 的功能 互 聯 網 技 術 在 完 成 這 章 後, 你 將 能 夠 描 述 互 聯 網 的 發 展 歷 史 描 述 萬 維 網 的 發 展 歷 史 了 解 連 接 互 聯 網 的 基 本 概 念 能 夠 連 接 到 互 聯 網 知 道 互 聯 網 如 何 運 作 互 聯 網 是 全 球 網 絡 的 集 合 互 聯 網 (Internet) 是 ㆒ 個 集 合 全 球 許 多 網 絡 ㆒ 起 的 大 型 網

More information

¶C¶L§§¬_™¨ A.PDF

¶C¶L§§¬_™¨ A.PDF 1 9 3 1 9 4 / 7.1 / 1 9 5 7.2 % netstat -rn Routing tables Destination Gateway Flags Refcnt Use Interface 127.0.0.1 127.0.0.1 UH 1 132 lo0 172.16.12.0 172.16.12.2 U 26 49041 le0 1 9 6 / % ping -s almond

More information

北 美 医 学 基 金 会 和 教 育 基 金 会 首 席 执 行 官 丁 文 京 来 我 院 访 问 交 流 韩 国 仁 丨 丨 医 疗 集 团 代 表 团 来 我 院 参 观 交 流 我 院 与 天 津 市 眼 科 医 院 签 署 友 好 合 作 医 院 协 议 书 " 首 届 甘 肃 省 萃

北 美 医 学 基 金 会 和 教 育 基 金 会 首 席 执 行 官 丁 文 京 来 我 院 访 问 交 流 韩 国 仁 丨 丨 医 疗 集 团 代 表 团 来 我 院 参 观 交 流 我 院 与 天 津 市 眼 科 医 院 签 署 友 好 合 作 医 院 协 议 书  首 届 甘 肃 省 萃 探 究 百 年 历 史 彳 搭 建 交 流 平 台 丨 展 现 二 院 风 采 〇 兰 州 大 学 第 二 医 院 院 刊 扬 规 范 之 帆 起 年 度 新 航 规 范 管 理 创 新 机 制 科 学 发 展 明 天 的 承 诺 : 护 航 二 院 腾 飞 共 泛 梦 想 之 舟 母 亲 河 畔 的 微 笑 大 医 精 城 德 为 先 本 期 封 面 : 扬 帆 起 肮 0 时 讯 0 学 科 0

More information

常 见 问 题 SLB 产 品 和 业 务 限 制 SLB 产 品 限 制 SLB 产 品 和 业 务 限 制 限 制 项 普 通 用 户 限 制 描 述 例 外 申 请 方 式 ( 例 外 上 限 ) 创 建 SLB 实 例 的 财 务 限 制 账 户 余 额 大 于 等 于 100 元 现 金

常 见 问 题 SLB 产 品 和 业 务 限 制 SLB 产 品 限 制 SLB 产 品 和 业 务 限 制 限 制 项 普 通 用 户 限 制 描 述 例 外 申 请 方 式 ( 例 外 上 限 ) 创 建 SLB 实 例 的 财 务 限 制 账 户 余 额 大 于 等 于 100 元 现 金 负 载 均 衡 SLB 常 见 问 题 常 见 问 题 SLB 产 品 和 业 务 限 制 SLB 产 品 限 制 SLB 产 品 和 业 务 限 制 限 制 项 普 通 用 户 限 制 描 述 例 外 申 请 方 式 ( 例 外 上 限 ) 创 建 SLB 实 例 的 财 务 限 制 账 户 余 额 大 于 等 于 100 元 现 金 工 单 创 建 SLB 实 例 的 用 户 限 制 创 建 SLB

More information

9 Internet 10 Internet

9 Internet 10 Internet 1 2 3 4 5 6 Internet 7 8 9 Internet 10 Internet 11 12 1 1.1 1.2 1.3 1.4 1.5 1.6 1.1 1.1.1 20 50 20 60 ARPANET ARPANET Internet 20 70 ISO International Organization for Standardization TCP/IP 20 90 Internet

More information

<4D6963726F736F667420576F7264202D20383439342D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

<4D6963726F736F667420576F7264202D20383439342D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63> 第 4 单 元 搭 建 自 己 的 Web 站 点 本 单 元 通 过 学 习 架 构 Web 服 务 器, 实 现 Web 服 务, 管 理 Web 站 点, 了 解 Web 站 点 服 务 器 的 架 构 个 人 空 间 和 虚 拟 主 机 的 概 念, 掌 握 IIS 组 件 的 安 装 Web 站 点 的 创 建 管 理 站 点 属 性 选 项 卡 的 配 置 管 理 等 知 识,Web 网

More information

Тимофеев. Вост. _кит._ язык _ПК_ рефер. и перевода 032301

Тимофеев.  Вост. _кит._ язык _ПК_ рефер. и перевода 032301 Федеральное агентство по образованию АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГОУВПО «АмГУ» УТВЕРЖДАЮ Зав. кафедрой китаеведения И.Б. Кейдун 2007г. ВОСТОЧНЫЙ (КИТАЙСКИЙ) ЯЗЫК (ПРАКТИЧЕСКИЙ КУРС) РЕФЕРИРОВАНИЯ

More information

D-link用户手册.doc

D-link用户手册.doc 声 明 Copyright 1986-2013 版 权 所 有, 保 留 一 切 权 利 非 经 本 公 司 书 面 许 可, 任 何 单 位 和 个 人 不 得 擅 自 摘 抄 复 制 本 书 内 容 的 部 分 或 全 部, 并 不 得 以 任 何 形 式 传 播 由 于 产 品 版 本 升 级 或 其 它 原 因, 本 手 册 内 容 会 不 定 期 进 行 更 新, 为 获 得 最 新 版

More information

翻 墙 问 答 享 受 互 联 网 所 带 来 的 便 利, 以 及 私 隐 保 障, 本 来 就 如 其 他 许 多 天 赋 权 利, 这 已 是 一 个 人 应 该 享 有, 无 分 国 界 和 种 族 很 不 幸, 在 中 国 引 入 互 联 网 不 久, 中 国 就 滥 用 很 多 本 来

翻 墙 问 答 享 受 互 联 网 所 带 来 的 便 利, 以 及 私 隐 保 障, 本 来 就 如 其 他 许 多 天 赋 权 利, 这 已 是 一 个 人 应 该 享 有, 无 分 国 界 和 种 族 很 不 幸, 在 中 国 引 入 互 联 网 不 久, 中 国 就 滥 用 很 多 本 来 翻 墙 问 答 助 你 翻 越 中 国 防 火 墙 作 者 : 李 建 军 自 由 亚 洲 电 台 2014 年 9 月 版 权 2014 自 由 亚 洲 电 台 翻 墙 问 答 享 受 互 联 网 所 带 来 的 便 利, 以 及 私 隐 保 障, 本 来 就 如 其 他 许 多 天 赋 权 利, 这 已 是 一 个 人 应 该 享 有, 无 分 国 界 和 种 族 很 不 幸, 在 中 国 引

More information

标题

标题 新疆哈萨克牧民安居富民之绿色脱贫探析 以新源县为例 张振华 张 倩 [ 摘要] 新疆新源县以 保景富民 为主旨ꎬ以 增绿 富民 为牧民定居的出发点和落脚点ꎬ开创出 生态为 先 精准为上 高效为要 富美为旨 的绿色脱贫发展之路ꎮ 设立哈萨克牧民安居示范村 新疆 哈萨克第一 村 阿尔善村ꎮ 以那拉提大草原为依托ꎬ紧扣安居富民工程ꎬ开创绿色脱贫之路ꎻ大力发展乡村生态旅游业ꎬ传 承哈萨克民族文化ꎮ 这些举措对进一步健全治疆ꎬ完善牧民定居方略ꎬ实现新疆全面稳定和绿色脱贫具有重要

More information

84

84 83 84 EKI-1526 EKI-1528 EKI-1524 EKI-1522 EKI-1521 2 2 2 2 2 16 8 4 2 1 10/100 Mbps 10/100 Mbps 10/100 Mbps 10/100 Mbps 10/100 Mbps RS-232/422/485 RS-232/422/485 RS-232/422/485 RS-232/422/485 RS-232/422/485

More information

《计算机网络》实验指导书

《计算机网络》实验指导书 1 实 验 一 网 络 组 建 与 管 理 一. 实 验 目 的 1. 掌 握 平 行 双 绞 线 和 交 叉 双 绞 线 的 制 作 方 法 ( 初 级 ) 2. 掌 握 对 等 网 和 代 理 服 务 器 网 络 的 组 建 ( 初 级 ) 3. 会 用 ipconfig 和 ping 命 令 ( 初 级 ) 4. 掌 握 网 络 中 文 件 夹 共 享 和 打 印 机 共 享 ( 初 级 )

More information

SL2511 SR Plus 操作手冊_單面.doc

SL2511 SR Plus 操作手冊_單面.doc IEEE 802.11b SL-2511 SR Plus SENAO INTERNATIONAL CO., LTD www.senao.com - 1 - - 2 - .5 1-1...5 1-2...6 1-3...6 1-4...7.9 2-1...9 2-2 IE...11 SL-2511 SR Plus....13 3-1...13 3-2...14 3-3...15 3-4...16-3

More information

目 錄 頁 次 政 風 法 令 宣 導 一 行 政 中 立 實 務 探 討 二 收 到 支 付 命 令 不 可 置 之 不 理 3 9 公 務 機 密 維 護 宣 導 一 淺 談 駭 客 攻 擊 14 二 何 不 自 行 設 計 入 侵 防 禦 系 統? 17 安 全 維 護 宣 導 認 識 爆 竹

目 錄 頁 次 政 風 法 令 宣 導 一 行 政 中 立 實 務 探 討 二 收 到 支 付 命 令 不 可 置 之 不 理 3 9 公 務 機 密 維 護 宣 導 一 淺 談 駭 客 攻 擊 14 二 何 不 自 行 設 計 入 侵 防 禦 系 統? 17 安 全 維 護 宣 導 認 識 爆 竹 103 年 6 月 地 政 局 政 風 室 編 撰 1 目 錄 頁 次 政 風 法 令 宣 導 一 行 政 中 立 實 務 探 討 二 收 到 支 付 命 令 不 可 置 之 不 理 3 9 公 務 機 密 維 護 宣 導 一 淺 談 駭 客 攻 擊 14 二 何 不 自 行 設 計 入 侵 防 禦 系 統? 17 安 全 維 護 宣 導 認 識 爆 竹 煙 火 高 雄 市 爆 竹 煙 火 施 放

More information

1 产 品 简 介... - 1-1.1 特 性... - 1-1.2 包 装... - 1-1.3 产 品 外 观... - 2-1.4 电 脑 系 统 要 求... - 3-1.5 硬 件 安 装... - 3-1.6 软 件 安 装... - 4-2 软 件 操 作... - 6-2.1 IP

1 产 品 简 介... - 1-1.1 特 性... - 1-1.2 包 装... - 1-1.3 产 品 外 观... - 2-1.4 电 脑 系 统 要 求... - 3-1.5 硬 件 安 装... - 3-1.6 软 件 安 装... - 4-2 软 件 操 作... - 6-2.1 IP 无 线 / 有 线 网 络 摄 像 机 使 用 说 明 书 黑 色 白 色 深 圳 市 富 泓 电 子 有 限 公 司 电 话 : +86-755-26509025 传 真 : +86-755-26509229 1 产 品 简 介... - 1-1.1 特 性... - 1-1.2 包 装... - 1-1.3 产 品 外 观... - 2-1.4 电 脑 系 统 要 求... - 3-1.5 硬

More information

VIDEOJET connect 7000 VJC-7000-90 zh- CHS Operation Manual VIDEOJET connect 7000 zh-chs 3 目 录 1 浏 览 器 连 接 7 1.1 系 统 要 求 7 1.2 建 立 连 接 7 1.2.1 摄 像 机 中 的 密 码 保 护 7 1.3 受 保 护 的 网 络 7 2 系 统 概 述 8 2.1 实 况

More information

<4D6963726F736F667420576F7264202D20A662A4ACC170BAF4A457B56FA747ADD3A448B8EAAEC6AABAAA60B74EA8C6B6B52D636E2D323031312D312D3137>

<4D6963726F736F667420576F7264202D20A662A4ACC170BAF4A457B56FA747ADD3A448B8EAAEC6AABAAA60B74EA8C6B6B52D636E2D323031312D312D3137> 在 互 聯 網 上 發 佈 個 人 資 料 的 注 意 事 項 隨 著 互 聯 網 的 普 及, 使 用 互 聯 網 作 為 訊 息 發 佈 傳 遞 的 情 況 越 來 越 普 遍, 當 中 有 不 少 訊 息 是 個 人 資 料, 例 如 : 某 政 府 部 門 在 其 網 頁 公 開 了 招 聘 考 試 的 考 生 成 績 排 名 次 序, 某 學 校 在 其 網 頁 公 佈 了 獲 得 嘉 獎

More information

第3章 计算机网络体系结构

第3章  计算机网络体系结构 第 3 章 计 算 机 网 络 体 系 结 构 本 章 内 容 计 算 机 的 网 络 体 系 结 构 网 络 参 考 模 型 五 层 网 络 参 考 模 型 1 3.1 计 算 机 网 络 体 系 结 构 发 展 历 程 分 层 原 理 基 本 概 念 2 发 展 历 程 网 络 体 系 结 构 提 出 的 背 景 计 算 机 网 络 的 复 杂 性 异 质 性 不 同 的 通 信 介 质 有 线

More information

温州市政府分散采购

温州市政府分散采购 温 州 市 政 府 分 散 采 购 招 标 文 件 招 标 编 号 :F - G B 2 0 1 6 0 3 1 4 0 0 4 7 招 标 项 目 : 温 州 市 人 民 政 府 办 公 室 政 务 云 平 台 ( 重 ) 招 标 方 式 : 公 开 招 标 招 标 人 : 温 州 市 人 民 政 府 办 公 室 招 标 代 理 : 二 〇 一 六 年 三 月 目 录 投 标 保 证 金 办 理

More information

第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特 网 的 标 准 化 工 作 1.2.4 计 算 机 网 络 在

第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特 网 的 标 准 化 工 作 1.2.4 计 算 机 网 络 在 计 算 机 网 络 ( 第 4 版 ) 课 件 第 1 章 计 算 机 网 络 概 述 郭 庆 北 Ise_guoqb@ujn.edu.cn 2009-02-25 第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特

More information

1

1 010-6298822 010-82899313 http://www.th-dascom.com.cn 9 5 1 1....3 1.1...4 1.1.1...4 1.1.2...5 1.2...6 1.3...7 1.3.1...7 1.3.2...8 1.3.3...8 1.3.4...8 1.3.5...9 1.3.6...9 2....9 2.1...9 2.2...10 2.2.1...10

More information

Microsoft Word - YDB 064-2011 Vehicle Telematics Service Requirement and General Framework

Microsoft Word - YDB 064-2011 Vehicle Telematics Service Requirement and General Framework 通 信 标 准 类 技 术 报 告 YDB XXX 2010 泛 在 物 联 应 用 汽 车 信 息 服 务 业 务 需 求 和 总 体 框 架 Vehicle Telematic Service Requirement and General Framework 200X XX XX 印 发 中 国 通 信 标 准 化 协 会 目 次 前 言... 错 误! 未 定 义 书 签 1 范 围...

More information

<4D6963726F736F667420576F7264202D20CDF8B9A42DC9CFCEE7CCE22D3038CFC2>

<4D6963726F736F667420576F7264202D20CDF8B9A42DC9CFCEE7CCE22D3038CFC2> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 下 半 年 网 络 工 程 师 上 午 试 卷 (B) ( 考 试 时 间 9 : 00~11 : 30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 卡 1. 在 答 题 卡 的 指 定 位 置 上 正 确 写 入 你 的 姓 名 和 准 考 证 号, 并 用 正 规 2B

More information

经华名家讲堂

经华名家讲堂 5.1 5.1.1 5.1.2 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.3 5.3.1 5.3.2 5.3.3 / 5.3.4 / 5.3.5 / 5.4 Internet 5.4.1 Internet 5.4.2 Intranet 1. 2. 1 31 5 5.1 5.1.1 Internet 1 Host 20 60 IBM 2000 2 20 60 20 60

More information

ch09.PDF

ch09.PDF 9-1 / (TCP/IP) TCP/IP TCP/IP ( ) ICMP ARP RARP 9.1 TCP/IP 9.1.1 TCP/IP OSI TCP/IP (DARPA) DARPA TCP/IP UNIX Berkeley Software DistributionTCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP OSI - TCP/IP ( ) ( )

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 070-647 Title : Windows Server 2008,Enterprise Administrator Version : Demo 1 / 13 1. Active directory Windows Server 2008 (WAN) WAN WAN A.

More information

计算机网络

计算机网络 gongwhboy@tom.com Internet 3 James F.Kurose Keith W.Ross 4 Andrew S.Tanenbaum 3 Larry L.Peterson, Bruce S.Davie 3 1. ISO OSI/RM( ) TCP/IP ( TELNET, FTP, SMTP ) (TCP UDP) IP 2. Internet : Internet 5 (1)

More information

100/120EX A-61588_zh-tw 9E8696

100/120EX A-61588_zh-tw 9E8696 100/120EX A-61588_zh-tw 9E8696 1 1-1........................................... 1-2............................................... 1-3.................................................. 1-3.........................................

More information

HKCERT

HKCERT HKCERT 2008 8 1.............DNS............................. 1 HKCERT 2008 8 HKCERT 2008 8 HKCERT 2008 8 HKCERT 2008 8 DNS DNS - DNS TCP UDP - DNS - DNS 16 ( 65,535 ) DNS - DNS (resource record) ( ) (

More information

ebook71-13

ebook71-13 13 I S P Internet 13. 2. 1 k p p p P P P 13. 2. 2 1 3. 2. 3 k p p p 1 3. 2. 4 l i n u x c o n f P P P 13. 2. 5 p p p s e t u p 13. 2. 6 p p p s e t u p P P P 13. 2. 7 1 3. 2. 8 C a l d e r a G U I 13.

More information

杭 州 顺 网 科 技 股 份 有 限 公 司 拟 实 施 股 权 收 购 涉 及 江 苏 国 瑞 信 安 科 技 有 限 公 司 股 权 评 估 项 目 资 产 评 估 报 告 目 录 杭 州 顺 网 科 技 股 份 有 限 公 司 拟 实 施 股 权 收 购 涉 及 的 江 苏 国 瑞 信 安

杭 州 顺 网 科 技 股 份 有 限 公 司 拟 实 施 股 权 收 购 涉 及 江 苏 国 瑞 信 安 科 技 有 限 公 司 股 权 评 估 项 目 资 产 评 估 报 告 目 录 杭 州 顺 网 科 技 股 份 有 限 公 司 拟 实 施 股 权 收 购 涉 及 的 江 苏 国 瑞 信 安 杭 州 顺 网 科 技 股 份 有 限 公 司 拟 实 施 收 购 涉 及 的 江 苏 国 瑞 信 安 科 技 有 限 公 司 股 权 评 估 项 目 资 产 评 估 报 告 苏 华 评 报 字 [2015] 第 192 号 江 苏 华 信 资 产 评 估 有 限 公 司 二 一 五 年 七 月 二 十 四 日 杭 州 顺 网 科 技 股 份 有 限 公 司 拟 实 施 股 权 收 购 涉 及 江

More information

湖北省政府采购中心

湖北省政府采购中心 湖 北 省 省 级 政 府 采 购 招 标 文 件 项 目 编 号 :EZC-2014-ZX1026 项 目 名 称 : 湖 北 省 测 绘 成 果 档 案 馆 测 绘 服 务 云 平 台 配 套 设 备 购 置 招 标 内 容 : 五 台 精 密 空 调 两 台 核 心 交 换 设 备 一 台 上 网 行 为 管 理 设 备 一 台 安 全 VPN 设 备 湖 北 省 政 府 采 购 中 心 二

More information

Microsoft Word - DIR-615_B2_Manual_1.00_T_.doc

Microsoft Word - DIR-615_B2_Manual_1.00_T_.doc D-Link DIR-615 Wireless N Broadband Router DIR-615...4 DIR-615...6...7 DIR-615...10 IP...10 DIR-615...15 DIR-615...24 DIR-615...29 D-Link DWA-645 DIR-615...30 Windows XP SP2...32 Windows Vista...35 (1)

More information

1

1 DOCUMENTATION FOR FAW-VW Auto Co., Ltd. Sales & Service Architecture Concept () () Version 1.0.0.1 Documentation FAW-VW 1 61 1...4 1.1...4 2...4 3...4 3.1...4 3.2...5 3.3...5 4...5 4.1 IP...5 4.2 DNSDNS...6

More information

计算机网络概论

计算机网络概论 1 repeater bridge router gateway V.S OSI Repeater(Hub) 1 Repeater 2 3 ( Hub 4 Bridge 1 Bridge 2 N N DL1 DL1 DL2 DL2 Ph1 Ph1 Ph2 Ph2 1 2 Bridge 3 MAC Ethernet FDDI MAC MAC Bridge 4 5 6 7 50873EA6, 00123456

More information

06 C H A P T E R 6-1 WWW 6-2 WWW WWW WWW

06 C H A P T E R 6-1 WWW 6-2 WWW WWW WWW 06 C H A P T E R 6-1 WWW 6-2 WWW 6-3 6-4 WWW 6-5 6-6 WWW WWW World Wide Web Tim Berners-Lee hypertext HTTP HTML URL 6-1 WWW WWW World Wide Web Web BBS Telnet Gopher FTP UseNet W3 3W W3 3W WWW WWW WWW Hypertext

More information

Microsoft PowerPoint - 数据通信-ch1.ppt

Microsoft PowerPoint - 数据通信-ch1.ppt 主 要 内 容 与 基 本 要 求 主 要 内 容 数 据 通 信 与 计 算 机 网 络 计 算 机 网 络 的 发 展 过 程 分 类 以 及 主 要 性 能 指 标 ; 分 组 交 换 的 基 本 原 理 及 其 与 电 路 交 换 报 文 交 换 的 联 系 与 区 别 ; 计 算 机 网 络 的 协 议 与 体 系 结 构 第 1 章 概 述 基 本 要 求 掌 握 分 组 交 换 电 路

More information

專業式報告

專業式報告 IP POWER 9258 1U IP POWER 9258IU 說 : V1.38 : 2006. 08-1 - VER. X.X, FCC CE 1. IP POWER 9258. 2. 9258 3. 9258-2 - 1....4... 9258... 2....5...... 3....6 4....8...... 5....9... PC WINDOWS... 6.... 11 7. IE...

More information

NSC-161

NSC-161 IP Session IP? IP Cisco IP IP IP IP IP? LAN Software Bluetooth,, 802.11 IP IP IP QoS IP Trust Domain (TD 1 ) TD 2 AR AR AP AP (MN) (MN) IP IP ( ) (MR) IP LAN MR (AP) IP 802.11 (AL) LAN/PAN 802.11, 802.15,

More information

网康科技•互联网控制网关

网康科技•互联网控制网关 网 康 科 技 互 联 网 控 制 网 关 Internet Control Gateway 用 户 手 册 Version 5.5 2009 年 12 月 关 于 本 手 册 版 权 声 明 2009 版 权 所 有, 保 留 一 切 权 力 本 文 件 中 出 现 的 任 何 文 字 叙 述 文 档 格 式 插 图 照 片 方 法 过 程 等 内 容, 除 另 有 特 别 注 明, 版 权 均

More information

專業式報告

專業式報告 IP POWER 9258 IP POWER 9258 說 : V1.38 : 2006. 08-1 - VER. X.X, FCC CE 1. IP POWER 9258. 2. 9258 3. 9258-2 - 1....4... 9258... 2....5...... 3....6 4....7...... 5....8... PC / SERVER.. 6. IE... 11 9258...

More information

QL1880new2.PDF

QL1880new2.PDF ADSL Modem 1 MODEM 56K MODEM 128K ISDN INTERNET ADSL Modem VOD ADSL ADSL 2 1.1 ADSL 1.2 1.3 KM300A 2.1 2.2 2.3 2.4 2.5 KM300A 2.6 web 2.7 1.1ADSL 1.2 1.3 2.1 ADSL 2.2 ADSL 3 ADSL KM300A ADSL KM300A DIY

More information

1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C) (D) 5. ( B ) (Stored Program) (A) H

1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C) (D) 5. ( B ) (Stored Program) (A) H ... 2... 4... 6... 8... 10... 12... 14... 16... 18... 20... 22... 24... 25... 26... 28 1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C)

More information

三人在线斗地主?唐人游游戏大厅三人斗地主游戏介绍

三人在线斗地主?唐人游游戏大厅三人斗地主游戏介绍 三 人 在 线 斗 地 主? 唐 人 游 游 戏 大 厅 三 人 斗 地 主 游 戏 介 绍 49 http://www.woniuvisa.com 三 人 在 线 斗 地 主? 唐 人 游 游 戏 大 厅 三 人 斗 地 主 游 戏 介 绍 关 键 字 : 麻 将 技 巧 麻 将 游 戏 下 载 收 费 麻 将 游 戏 视 频 麻 将 美 女 麻 将 麻 将 技 巧 交 换 群 一. 根 本 规

More information

南京师范大学(下)

南京师范大学(下) I ...1...6...8...13...15...21...22...23...23...25...26...28...31...34...36...38 II ...49 ( )...55...57 ( ) (1999)11...70...72 ( )...78...82 ( )...85...90... 102... 110. 113... 119... 122... 132 III ...

More information

FEELING COMFORTABLE ABOUT SEX

FEELING COMFORTABLE ABOUT SEX 轻 松 性 谈 只 要 你 轻 松 自 然 的 面 对 自 己 的 性 生 活, 就 能 轻 松 自 然 的 与 人 谈 性 " 1. 自 幼 开 始 用 直 接 而 尊 重 的 态 度 来 解 释 男 孩 子 割 包 皮 和 女 孩 子 的 生 殖 器 官 是 什 么 回 事 让 儿 女 明 白 上 帝 所 创 造 的 身 体 是 可 爱 的. 当 幼 儿 开 始 对 自 己 的 身 体 产 生

More information

Microsoft Word - 報告.doc

Microsoft Word - 報告.doc 德 蘭 中 學 同 行 萬 里 高 中 學 生 內 地 交 流 計 劃 2011-2012 湖 北 水 利 及 工 業 規 劃 與 文 化 探 索 之 旅 日 期 : 2012 年 2 月 22 日 至 26 日 隨 團 老 師 : 葉 美 寶 團 員 姓 名 : 楊 綺 婷 胡 夢 吟 關 可 瑤 蔡 沅 汶 黎 佩 霖 梅 如 霞 吳 長 虹 劉 綺 霞 胡 子 祈 李 詠 詩 1 ( 一 )

More information

1. 血 液 對 身 體 細 胞 的 重 要 性 身 體 得 以 健 康 運 作, 最 主 要 靠 的 是 血 管 內 的 血 液 ; 它 帶 著 養 分 與 氧 給 細 胞, 並 帶 回 廢 雜 物 及 二 氧 化 碳 排 出 體 外, 若 此 血 管 阻 塞 導 致 運 作 不 順 時, 各 部

1. 血 液 對 身 體 細 胞 的 重 要 性 身 體 得 以 健 康 運 作, 最 主 要 靠 的 是 血 管 內 的 血 液 ; 它 帶 著 養 分 與 氧 給 細 胞, 並 帶 回 廢 雜 物 及 二 氧 化 碳 排 出 體 外, 若 此 血 管 阻 塞 導 致 運 作 不 順 時, 各 部 慢 性 疾 病 真 相 大 揭 開 作 者 : 陳 鴻 烈 自 然 療 法 醫 師 著 作 : 協 和 岩 寶 的 神 奇 療 效 慢 性 病 的 醫 療 革 命 排 毒 與 細 胞 修 護 現 任 : 中 日 負 離 子 協 會 理 事 長 協 和 溫 泉 ( 股 ) 公 司 董 事 長 手 機 ( 台 灣 )0936914100,( 大 陸 )15816194647 1. 血 液 對 身 體 細

More information

bingdian001.com

bingdian001.com 1... 1 1.1... 1 1.2... 1 1.3... 1 1.4... 1 1.5... 1 1.6... 1 2... 1 2.1... 1 2.2... 2 2.3... 2 3... 2 4... 3 4.1... 3 4.1.1... 3 1.... 3 2.... 3 3.... 3 4.... 3 5.... 3 6.... 3 7.... 3 8.... 4 9.... 4

More information

(i) (ii) (iii) (iv) 380,000 [ ] , , % % % 5.5% 6.5%

(i) (ii) (iii) (iv) 380,000 [ ] , , % % % 5.5% 6.5% [] [] [] [] [] [] [] 1961 40 2,000 1990 [] (i) (ii) 38 (i) (ii) (iii) (iv) 380,000 [ ] 201017,763 201422,457 20152020 7.1% 2010 2020 2010 2015 6.2% 20152020 2010 2015 20152020 7.1% 5.5% 6.5% 2010 2011

More information

Trend Micro

Trend Micro 資 訊 安 全 - 惡 意 軟 體 的 深 度 防 禦 胡 瑞 宸 大 綱 資 訊 安 全 概 念 現 在 流 行 什 麼? 病 毒 清 除 與 分 析 建 議 程 序 正 確 有 效 的 防 護 觀 念 Free Tool ( 免 費 工 具 ) Cloud technology ( 雲 端 技 術 ) 惡 意 程 式 威 脅 管 理 資 訊 安 全 概 念 資 訊 安 全 概 念 沒 有 任 何

More information

联想天工800R路由器用户手册 V2.0

联想天工800R路由器用户手册 V2.0 LSA-800R V2.0 2 0 0 4 l e n o v o 0755-33306800 www.lenovonetworks.com support@lenovonet.com 1 1 1.1 1 1.2 1 2 2 2.1 2 2.2 2 3 2 3.1 2 3.2 3 3.3 4 3.4 5 4 TCP/IP 5 4.1 Windows 95/98/ME 5 4.2 Windows 2000/XP

More information

Microsoft Word - Enriched TEKLA Curriculum Guide (chi ver)

Microsoft Word - Enriched TEKLA  Curriculum Guide (chi ver) 增 潤 科 技 教 育 學 習 領 域 課 程 指 引 ( 暫 定 稿 ) 本 文 件 根 據 課 程 議 會 於 2002 年 公 佈 的 科 技 教 育 學 習 領 域 課 程 指 引 ( 小 一 至 中 三 ) 中 提 及 的 課 程 架 構, 闡 述 中 一 至 中 三 學 生 在 每 一 級 別 在 不 同 知 識 範 圍 所 學 習 的 學 習 元 素 科 技 教 育 的 知 識 範 圍

More information

end to end 7.2 OSI 7 OSI 3 A B 7.2 Packet Routing LAN WAN 7.1.2 141

end to end 7.2 OSI 7 OSI 3 A B 7.2 Packet Routing LAN WAN 7.1.2 141 7 IP IP ARP ICMP IP OSI 3 7.1 7.1.1 7.1 DTE0/1 DCE0/1 DCE0/1 DCE2DCE3 DCE4 7.1 DTE1 DTE2 DCE1 DTE1 DCE2 DCE3 DCE4 MAC DCE2 DCE5 DTE1 DCE1 DCE3 DCE6 DTE2 DCE4 7.1 140 end to end 7.2 OSI 7 OSI 3 A B 7.2

More information

untitled

untitled IP POWER 9258SX IP POWER 9258SX 說 : V1.38 : 2006. 11-1 - VER. X.X, FCC CE 1.. 2. 9258 3. 9258-2 - 1....4... 9258... 2....5...... 3....6 4....8...... 5.... 10 PC... PC... 6.... 13 7. IE... 14 9258... 9258...

More information

新婚夫妇必读(九).doc

新婚夫妇必读(九).doc ...1...3...4...5...9...9...10...12...14 3...19...20...22...27...28...30...31...35...37 I 13...39...44...48...49...50...51...54...55...58...60...62...63...66...67...68...70...71 TOP10...73...77...79...80

More information

工程师培训

工程师培训 .1 TCP/IP TCP/IP 1 .2.2.1 Host 1960 S 1970 S Host Low Speed Lines 1970 S 1980 S pc Server Local Interneting 1980 S 1990 S Branch. pc Branch. WAN Branch. pc pc IBM SNA IBM X.25 2 .2.2 OSI OSI Application

More information

專業式報告

專業式報告 IP Kamera 9060A-SL IP Kamera 9060A-SL : V1.00 : 2006.04 IP KAMERA 9000(A) 說 FCC CE 1.IP Kamera 9060A-SL 2.IP Kemera 9060A-SL 3. 4. 9060A-SL 5. 9060A-SL - 1 - 1....3... 2....4 9060A-SL...... 3....5 4....6......

More information

电信行业网上营业厅

电信行业网上营业厅 2015 年 浙 江 首 届 网 络 安 全 管 理 员 职 业 竞 赛 竞 赛 指 南 竞 赛 组 委 会 2015 年 6 月 30 日 1 / 12 目 录 1 竞 赛 类 型... 3 1.1. 个 人 赛... 3 1.2. 团 队 赛... 3 2 题 型 及 数 量... 4 2.1. 个 人 赛... 4 2.1.1 个 人 初 赛... 4 2.1.2 个 人 决 赛... 4 2.2.

More information

SIP/ENUM Trial

SIP/ENUM Trial Taiwan SIP/ENUM trial ENUM Director of TWNIC IP Department 2004/12/15 1 Outline What is ENUM Taiwan SIP/ENUM Trial Project ENUM 2 What is ENUM ENUMDNSE.164 ENUMDNS ENUM 3 ENUMDNSE.164 Enum telephone Number

More information

.. 3 N

.. 3 N 1 .. 3 N9.. 4 5.. 6 7.. 8 20.. 21 23.. 24.. 25 26.. 27.. 28.. 29 2 (Cyber Café) Linux (LAN) Linux Public Home 3 K12LTSP K12LTSPFedora Core 4 (Linux)LTSP Linux (command line interface) (Graphical User Interface,

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

Microsoft Word - PS2_linux_guide_cn.doc

Microsoft Word - PS2_linux_guide_cn.doc Linux For $ONY PlayStatioin2 Unofficall General Guide Language: Simplified Chinese First Write By Beter Hans v0.1 Mail: hansb@citiz.net Version: 0.1 本 人 是 菜 鸟 + 小 白 欢 迎 指 正 错 误 之 处, 如 果 您 有 其 他 使 用 心 得

More information