内容简介
第1章 智能路由器概述
1.1 OpenWrt简介
1.2 整体功能组件
1.2.1 整体架构
1.2.2 网络功能
1.2.3 系统管理
1.2.4 状态监控
1.3 开源嵌入式操作系统比较
1.3.1 和Android比较
1.3.2 和其他WRT比较
1.4 参考资料
第2章 开发环境及编译分析
2.1 安装编译环境
2.1.1 Ubuntu安装
2.1.2 安装编译工具
2.1.3 下载代码
2.1.4 配置及编译
2.2 编译脚本分析
2.2.1 顶层目录概述
2.2.2 编译脚本
2.2.3 下载工具
2.2.4 patch-kernel.sh脚本
2.2.5 编译扩展机制feeds
2.3 使用VirtualBox部署
2.4 编译部署出现问题的解决方法
2.5 VirtualBox虚拟机网络设置
2.5.1 网络地址转换模式
2.5.2 桥接网络模式
2.5.3 内部网络模式
2.5.4 仅主机网络模式
2.5.5 网络模式比较
2.5.6 组建路由器实验环境
2.6 参考资料
第3章 OpenWrt包管理系统
3.1 工作原理
3.2 OPKG命令
3.2.1 命令用法
3.2.2 软件包的管理
3.2.3 查询信息
3.2.4 选项
3.3 OPKG配置
3.3.1 调整软件仓库地址
3.3.2 调整安装目录
3.3.3 代理设置
3.4 使用举例
3.4.1 安装软件包
3.4.2 查询已安装的OPKG软件包文件列表
3.4.3 自定义安装目录
3.5 OPKG包结构
3.6 参考资料
第4章 OpenWrt配置
4.1 UCI简介
4.1.1 文件语法
4.1.2 统一配置原理
4.1.3 UCI工具
4.1.4 配置脚本
4.2 UCIAPI编程接口
4.2.1 Libubox
4.2.2 UCI
4.2.3 UCIAPI接口
4.3 系统内核设置
4.3.1 sysctl.conf
4.3.2 sysctl
4.4 系统配置
4.4.1 /etc/rc.local
4.4.2 /etc/profile
4.4.3 /etc/shells
4.4.4 /etc/fstab
4.4.5 /etc/services
4.4.6 /etc/protocols
4.5 名词解释
4.6 参考资料
第5章 软件开发
5.1 编译构建系统
5.1.1 概述
5.1.2 变量定义
5.1.3 软件包定义
5.1.4 构建
5.2 HelloWorld
5.2.1 目录结构
5.2.2 Makefile
5.2.3 编译
5.3 软件启动机制
5.4 补丁生成及应用工具
5.4.1 补丁
5.4.2 diff工具
5.4.3 patch工具
5.5 参考资料
第6章 GDB调试
6.1 什么是GDB
6.2 如何启动程序调试
6.2.1 使用GDB启动程序
6.2.2 环境变量设置
6.2.3 设置日志文件
6.2.4 获取帮助
6.2.5 命令总结
6.3 断点管理
6.3.1 指令断点管理
6.3.2 观察点管理
6.3.3 捕获点管理
6.3.4 单步调试
6.3.5 命令总结
6.4 查看程序运行状态
6.4.1 查看栈帧信息
6.4.2 查看运行中的源程序信息
6.4.3 查看运行时数据
6.4.4 命令总结
6.5 动态改变——改变程序的执行
6.6 名词解释
6.7 参考资料
第7章 网络基础知识
7.1 概述
7.1.1 网络设备
7.1.2 计算机网络分类
7.2 数据链路层
7.2.1 以太网
7.2.2 MAC寻址
7.2.3 冲突和冲突域
7.2.4 广播域
7.2.5 ARP协议
7.3 IP协议
7.3.1 IP报文格式
7.3.2 IP地址分类
7.3.3 协议功能
7.4 ICMP
7.4.1 概述
7.4.2 报文格式
7.4.3 差错报文
7.4.4 查询报文及响应报文
7.4.5 ping
7.4.6 TraceRoute
7.5 传输层协议
7.6 综合
7.7 名词解释
7.8 参考资料
第8章 路由器基础软件模块
8.1 libubox
8.1.1 libubox
8.1.2 jshn
8.2 ubus
8.2.1 ubusd
8.2.2 ubus命令行工具
8.3 netifd
8.3.1 概述
8.3.2 netifd方法
8.3.3 netifd文件
8.3.4 网络配置
8.4 ubox
8.5 procd
8.5.1 reload config
8.5.2 procd进程
8.5.3 procd.sh
8.5.4 rc.common
8.5.5 综合示例
8.6 参考资料
第9章 常用软件模块
9.1 CWMP
9.1.1 概述
9.1.2 方法和流程
9.1.3 如何配置
9.2 SSH服务器
9.2.1 概述
9.2.2 配置
9.3 QoS
9.3.1 服务模型
9.3.2 QoS配置
9.4 uHTTPd服务器
9.4.1 概述
9.4.2 配置
9.5 SMTP
9.6 NTP
9.7 PPPoE
9.7.1 CHAP验证过程
9.7.2 PPPoE配置
9.8 无线基础
9.8.1 什么是无线
9.8.2 优点
9.8.3 缺点
9.8.4 安全
9.8.5 认识OpenWrt无线接口
9.8.6 OpenWrt无线配置
9.9 参考资料
第10章 IP路由
10.1 路由分类
10.2 单播路由
10.2.1 路由表管理
10.2.2 静态路由配置
10.3 策略路由
10.3.1 概述
10.3.2 配置策略路由
10.3.3 典型配置举例
10.4 组播路由
10.4.1 组播原理
10.4.2 IGMP原理
10.4.3 IGMP代理
10.4.4 IGMP Proxy管理
10.4.5 验证及调试
10.5 名词解释
10.6 参考资料
第11章 DNS与DHCP
11.1 主机系统
11.2 DNS基础
11.2.1 域名结构
11.2.2 DNS报文格式
11.2.3 域名解析器原理
11.2.4 域名解析实例
11.3 DHCP基础
11.3.1 引言
11.3.2 DHCP原理
11.3.3 DHCP报文
11.3.4 DHCP工作流程
11.4 dnsmasq
11.4.1 概述
11.4.2 配置
11.5 动态DNS
11.5.1 DDNS原理
11.5.2 DDNS配置
11.5.3 DNS更新协议及算法
11.6 DNS测试工具
11.6.1 nslookup
11.6.2 dig
11.7 参考资料
第12章 iptables防火墙
12.1 防火墙概述
12.2 iptables中的表
12.2.1 filter(过滤表)
12.2.2 nat(网络地址转换表)
12.2.3 mangle(修改表)
12.2.4 raw(原始表)
12.3 处理目标
12.3.1 REJECT(拒绝)
12.3.2 DNAT(目的网络地址转换)
12.3.3 SNAT(源网络地址转换)
12.3.4 MASQUERADE(伪装)
12.3.5 LOG
12.3.6 REDIRECT
12.4 报文处理流程
12.5 报文规则匹配
12.6 管理防火墙规则
12.7 其他工具集
12.8 小结
12.9 参考资料
第13章 UCI防火墙
13.1 概述
13.2 防火墙配置
13.2.1 Defaults
13.2.2 Zones-安全域
13.2.3 转发
13.2.4 重定向
13.2.5 规则
13.2.6 include
13.3 常见用法
13.3.1 MAC地址黑白名单
13.3.2 家长控制
13.4 防火墙管理及调试
13.4.1 管理防火墙
13.4.2 测试防火墙
13.5 名词解释
13.6 参考资料
第14章 UPnP
14.1 UPnP简介
14.1.1 起源
14.1.2 概述
14.2 UPnP架构
14.2.1 UPnP协议术语
14.2.2 UPnP组件
14.3 UPnP协议
14.4 UPnP工作流程
14.4.1 寻址
14.4.2 发现
14.4.3 描述
14.4.4 控制
14.4.5 事件
14.4.6 表达
14.5 UPnP应用之IGD
14.5.1 IGD框架
14.5.2 端口映射在IGD中的应用
14.6 参考资料
第15章 网络测试及分析工具
15.1 NetCat
15.2 TcpDump
15.2.1 抓取报文
15.2.2 匹配规则
15.2.3 使用举例
15.3 参考资料