目录 本书源码 第1章匿名链路的背景及技术 1.1安全攻防 1.1.1安全攻防介绍 1.1.2网络攻击防御体系 1.1.3网络安全概述 1.1.4安全防御 1.1.5信息安全发展简介 1.1.6信息安全发展历程 1.1.7信息安全十大安全岗位 1.2计算机网络 1.2.1网络的概念 1.2.2物理拓扑分类 1.2.3逻辑拓扑 1.2.43种通信模式 1.2.5局域网 1.2.6广域网 1.2.7OSI参考模型 1.2.8OSI七层工作原理 1.2.9计算机网络基础的网络设备 1.2.10TCP/IP协议栈 1.2.11因特网层 1.2.12主机到主机的包传递 1.2.13IP地址概述 1.2.14IP地址分类 1.2.15子网划分 1.2.16合并超网 1.2.17跨网络通信 1.2.18动态主机配置协议(DHCP) 1.3网络追踪 1.4匿名链路 第2章匿名链路的目标与功能 2.1功能目标介绍 2.2功能模块设计 2.2.1用户模块 2.2.2节点搭建 2.2.3节点管理 2.2.4链路创建 2.2.5链路自检 2.2.6链路管理 2.2.7分流策略 2.2.8流量路径图 2.2.9离线升级 2.2.10DHCP服务器 2.2.11出网白名单 第3章物理硬件与软件技术选型 3.1物理硬件的分析与比较 3.1.1网络硬件设备 3.1.2方案评估 3.2主流开源操作系统简介 3.3流行的VPN技术调研分析 3.3.1路由器固件 3.3.2VPN的分类标准 3.3.3开源VPN解决方案 3.4网络与安全的核心工具iptables 3.4.1iptables介绍 3.4.2ipset介绍 3.5非常强大的网络管理工具ip命令 3.5.1使用语法 3.5.2选项列表 3.5.3ip link(网络设备配置) 3.5.4ip address(协议地址管理) 3.5.5ip addrlabel(协议地址标签管理) 3.5.6ip neighbour(邻居/ARP表管理) 3.5.7ip route(路由表管理) 3.5.8ip rule(路由策略数据库管理) 3.5.9ip maddress(多播地址管理) 3.5.10ip mroute(多播路由缓存管理) 3.5.11ip tunnel(通道配置) 3.5.12ip monitor and rtmon(状态监控) 3.5.13ip xfrm(设置xfrm) 3.5.14ip token 3.5.15简要实例说明 3.5.16传统网络配置命令与ip高级路由命令 3.6高级自动化运维工具Ansible 3.6.1Ansible简介 3.6.2Ansible特性 3.6.3Ansible架构 3.6.4配置文件 3.6.5Ansible应用程序命令 3.6.6Playbooks剧本 3.7网络设备地址租约管理DHCP 3.7.1私有网段 3.7.2DHCP报文种类 3.7.3DHCP工作流程 3.7.4DHCP配置文件 3.7.5启动dhcpd服务 3.7.6虚拟机测试DHCP Server 3.8多种开发语言的组合开发介绍 3.9匿名链路的测试节点信息配置 第4章完整的项目开发设计方案 4.1总体流程设计 4.2主要功能设计 4.3核心交互设计 4.3.1时序图 4.3.2活动图 4.3.3状态图 4.3.4协作图 4.4项目管理设计 4.4.1什么是项目管理 4.4.2项目管理在组织中的作用 4.4.3项目管理的过程 4.4.4项目管理知识的层次 4.4.5项目管理理论体系 4.4.6项目管理案例 4.5技术框架设计 4.5.1软件体系结构和框架的定义 4.5.2框架与架构之间的关系 4.5.3框架与设计模式之间的关系 4.5.4业务架构 4.5.5IT架构 4.5.6应用架构 4.5.7数据架构 4.5.8技术架构 4.5.9基础设施架构 4.5.10设计模式、框架、架构、平台的区别 4.5.11各种模式举例及应用 4.5.12为什么要用模式或框架 4.6运行环境设计 第5章企业级安全项目开发实践 5.1从零快速掌握Go基础开发 5.1.1Go环境安装 5.1.2Go开发环境安装 5.1.3Go常用的子命令 5.1.4Go的标识符命名规则 5.1.5Go编程的工程管理 5.1.6Go函数: 不定参数列表和多返回值函数 5.1.7Go函数中的匿名函数应用案例: 回调函数和闭包函数 5.1.8Go的面向对象编程 5.1.9Go的高级数据类型实例: 字典 5.1.10Go的文本文件处理: 文件操作常见的API 5.1.11Go的文本文件处理: 目录操作常见的API 5.1.12Go并发编程实例: Goroutine 5.1.13Go并发编程实例: channel 5.1.14Go并发编程实例: select 5.1.15Go并发编程: 传统的同步工具锁 5.1.16Go网络编程: 套接字 5.1.17Go网络编程实例: HTTP编程 5.1.18Go的序列化 5.1.19Go的序列化: ProtoBuf 5.1.20Go的序列化: RPC和GRPC 5.2能够快速上手的流行Web框架 5.2.1Web框架概述 5.2.2实例: Gin框架快速入门 5.2.3response及中间件 5.2.4实例: Gin框架的模板渲染 5.2.5实例: Gin框架的Cookie与Session 5.2.6Gin框架的JSON Web Token 5.2.7实例: Go语言的ORM库xorm 5.2.8实例: Go语言解析YAML配置文件 5.2.9实例: Go使用 Gin文件上传/下载及swagger配置 5.3理解并掌握MVC分层开发规范 5.4省时省力的API智能文档生成工具 5.5Web中间件及请求拦截器的使用 5.6快速实现应用及接口的请求鉴权 5.7封装统一的参数传输及异常处理 5.8自定义中间件实现AOP式日志记录 5.9使用Go调用外部命令的多种方式 5.10打造高级路由器改写DHCP服务 5.11节点自动化部署 5.11.1节点部署流程 5.11.2实例: 节点部署 5.12链路自动化搭建 5.12.1链路部署流程 5.12.2实例: 节点连接 5.12.3创建链路 5.13路由控制及实现 5.13.1配置默认链路出网策略 5.13.2按源IP分流出网策略 5.13.3按源IP范围分流策略 5.13.4按目标IP分流出网策略 5.13.5按目标网段分流出网策略 5.14离线自动化升级 5.15IP全球定位系统 5.16网络联通状态监测 5.17构建虚拟环境开发 5.18熟练使用Linux磁盘工具 5.18.1ext4磁盘格式 5.18.2ext4外部日志设备 5.18.3XFS磁盘格式 5.18.4XFS工具 5.18.5项目实践 5.19离线打包外部应用依赖 5.20多功能的定时任务使用 5.21全自动智能化的测试框架 5.22完整项目的构建及介绍 5.23自定义封装服务和自启 第6章按需构建镜像及自动化装机工具 6.1自动化U盘装机工具Ventoy 6.1.1Ventoy简介 6.1.2U盘制作 6.1.3Linux 系统图形化界面: GTK/QT 6.1.4Linux 系统图形化界面: WebUI 6.1.5Linux系统安装 Ventoy: 命令行界面 6.2无人值守系统安装Kickstart 6.3操作系统镜像的解压及提取 6.4操作系统镜像的自定义修改 6.5操作系统镜像的封装和打包 6.6操作系统镜像内核裁剪及编译 6.6.1操作系统 6.6.2操作系统的组成 6.6.3内核 6.6.4内核空间和用户空间 6.6.5内核的操作 6.6.6内核的分类 6.6.7Linux操作系统 6.6.8Linux内核 6.6.9内核源码结构 6.6.10Linux内核与硬件的关系 6.6.11Linux内核与其他经典UNIX内核的不同 6.6.12Linux内核架构 6.6.13Linux内核升级更新 6.6.14内核裁剪配置 6.6.15内核的编译 6.6.16内核配置的建议 6.7自动化打包及装机使用的流程 第7章防溯源匿名链路系统的运营使用 7.1系统初始化及网络配置 7.2系统访问地址及用户登录 7.3多跳节点的部署及管理 7.3.1节点列表 7.3.2手动部署节点 7.3.3自动部署节点 7.3.4节点子网 7.3.5节点统计和分布 7.4自动化的链路部署管理 7.4.1链路列表 7.4.2新增链路 7.4.3转发配置 7.4.4新增转发 7.4.5转发优先级说明 7.4.6链路统计 7.5灵活的分流策略配置 7.6安全性出网白名单管理 7.7终端设备管理及流量统计 7.8全面的日志管理及审计 7.9系统的用户控制和管理 7.10设备的升级及系统管理