# 第九章、防火墙与 NAT 服务器
最近更新日期:2011/07/22
从第七章的图 7.1-1 我们可以发现防火墙是整个封包要进入主机前的第一道关卡,但,什么是防火墙?Linux 的防火墙有哪些机制? 防火墙可以达到与无法达到的功能有哪些?防火墙能不能作为区域防火墙而不是仅针对单一主机而已呢?其实,Linux 的防火墙主要是透过 Netfilter 与 TCP Wrappers 两个机制来管理的。其中,透过 Netfilter 防火墙机制,我们可以达到让私有 IP 的主机上网 (IP 分享器功能) ,并且也能够让 Internet 连到我内部的私有 IP 所架设的 Linux 服务器 (DNAT 功能)!真的很不赖喔! 这一章对您来说,也真的有够重要的啦!
+ 9.1 [认识防火墙](#firewall)
+ 9.1.1 [开始之前来个提醒事项](#firewall_before)
+ 9.1.2 [为何需要防火墙](#firewall_why)
+ 9.1.3 [Linux 系统上防火墙的主要类别](#firewall_type)
+ 9.1.4 [防火墙的一般网络布线示意](#firewall_topo)
+ 9.1.5 [防火墙的使用限制](#firewall_limit)
+ 9.2 [TCP Wrappers](#tcp_wrappers)
+ 9.2.1 [哪些服务有支持](#tcp_wrappers_program): [ldd](#ldd)
+ 9.2.2 [/etc/hosts.{allow|deny} 的设定方式](#tcp_wrappers_setup)
+ 9.3 [Linux 的封包过滤软件: iptables](#netfilter)
+ 9.3.1 [不同 Linux 核心版本的防火墙软件](#netfilter_version)
+ 9.3.2 [封包进入流程:规则顺序的重要性!](#netfilter_iptables)
+ 9.3.3 [iptables 的表格 (table) 与链 (chain)](#netfilter_chain)
+ 9.3.4 [本机的 iptables 语法](#netfilter_syntax)
+ 9.3.4-1 [规则的观察与清除](#netfilter_syntax_clean)
+ 9.3.4-2 [定义预设政策 (policy)](#netfilter_syntax_policy)
+ 9.3.4-3 [封包的基础比对:IP, 网域及接口装置](#netfilter_syntax_comp): [信任装置](#trust_dev), [信任网域](#trust_net)
+ 9.3.4-4 [TCP, UDP 的规则比对:针对埠口设定](#netfilter_syntax_tcp)
+ 9.3.4-5 [iptables 外挂模块:mac 与 state](#netfilter_syntax_state)
+ 9.3.4-6 [ICMP 封包规则的比对:针对是否响应 ping 来设计](#netfilter_syntax_icmp)
+ 9.3.4-7 [超阳春客户端防火墙设计与防火墙规则储存](#netfilter_syntax_simple)
+ 9.3.5 [IPv4 的核心管理功能:/proc/sys/net/ipv4/*](#netfilter_kernel)
+ 9.4 [单机防火墙的一个实例](#local)
+ 9.4.1 [规则草拟](#local_rule)
+ 9.4.2 [实际设定](#local_script)
+ 9.5 [NAT 服务器的设定](#nat)
+ 9.5.1 [什么是 NAT? SNAT? DNAT?](#nat_what)
+ 9.5.2 [最阳春 NAT 服务器: IP 分享功能](#nat_ip_share)
+ 9.5.3 [iptables 的额外核心模块功能](#nat_modules)
+ 9.5.4 [在防火墙后端之网络服务器 DNAT 设定](#nat_dnat)
+ 9.6 [重点回顾](#hint)
+ 9.7 [本章习题](#ex)
+ 9.8 [参考数据与延伸阅读](#reference)
+ 9.9 [针对本文的建议:http://phorum.vbird.org/viewtopic.php?p=114475](http://phorum.vbird.org/viewtopic.php?p=114475)
* * *
- 鸟哥的Linux私房菜:服务器架设篇 第三版
- 第一部份:架站前的进修专区
- 作者序
- 第一章、架设服务器前的准备工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架设服务器流程
- 1.3 自我评估是否已经具有架站的能力
- 1.4 本章习题
- 第二章、基础网络概念
- 2.1 网络是个什么玩意儿
- 2.2 TCP/IP 的链结层相关协议
- 2.3 TCP/IP 的网络层相关封包与数据
- 2.4 TCP/IP 的传输层相关封包与数据
- 2.5 连上 Internet 前的准备事项
- 2.6 重点回顾:
- 2.7 本章习题
- 2.8 参考数据与延伸阅读
- 第三章、局域网络架构简介
- 3.1 局域网络的联机
- 3.2 本书使用的内部联机网络参数与通讯协议
- 第四章、连上 Internet
- 4.1 Linux 连上 Internet 前的注意事项
- 4.2 连上 Internet 的设定方法
- 4.3 无线网络--以笔记本电脑为例
- 4.4 常见问题说明
- 4.5 重点回顾
- 4.6 本章习题
- 4.7 参考数据与延伸阅读
- 第五章、 Linux 常用网络指令
- 5.1 网络参数设定使用的指令
- 5.2 网络侦错与观察指令
- 5.3 远程联机指令与实时通讯软件
- 5.4 文字接口网页浏览
- 5.5 封包撷取功能
- 5.6 重点回顾
- 5.7 本章习题
- 5.8 参考数据与延伸阅读
- 第六章、 Linux 网络侦错
- 6.1 无法联机原因分析
- 6.2 处理流程
- 6.3 本章习题
- 6.4 参考数据与延伸阅读
- 第二部分:主机的简易资安防护措施
- 第七章、网络安全与主机基本防护:限制端口, 网络升级与 SELinux
- 7.1 网络封包联机进入主机的流程
- 7.2 网络自动升级软件
- 7.3 限制联机埠口 (port)
- 7.4 SELinux 管理原则
- 7.5 被攻击后的主机修复工作
- 7.6 重点回顾
- 7.7 课后练习
- 7.8 参考数据与延伸阅读
- 第八章、路由观念与路由器设定
- 8.1 路由
- 8.2 路由器架设
- 8.3 动态路由器架设:quagga (zebra + ripd)
- 8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
- 8.5 重点回顾
- 8.6 本章习题
- 8.7 参考数据与延伸阅读
- 第九章、防火墙与 NAT 服务器
- 9.1 认识防火墙
- 9.2 TCP Wrappers
- 9.3 Linux 的封包过滤软件:iptables
- 9.4 单机防火墙的一个实例
- 9.5 NAT 服务器的设定
- 9.6 重点回顾
- 9.7 本章习题
- 9.8 参考数据与延伸阅读
- 第十章、申请合法的主机名
- 10.1 为何需要主机名
- 10.2 注册一个合法的主机名
- 10.3 重点回顾
- 10.4 本章习题
- 10.5 参考数据与延伸阅读
- 第三部分:局域网络内常见的服务器架设
- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
- 11.1 远程联机服务器
- 11.2 文字接口联机服务器: SSH 服务器
- 11.3 最原始图形接口: Xdmcp 服务的启用
- 11.4 华丽的图形接口: VNC 服务器
- 11.5 仿真的远程桌面系统: XRDP 服务器
- 11.6 SSH 服务器的进阶应用
- 11.7 重点回顾
- 11.8 本章习题
- 11.9 参考数据与延伸阅读
- 第十二章、网络参数控管者: DHCP 服务器
- 12.1 DHCP 运作的原理
- 12.2 DHCP 服务器端的设定
- 12.3 DHCP 客户端的设定
- 12.4 DHCP 服务器端进阶观察与使用
- 12.5 重点回顾
- 12.6 本章习题
- 12.7 参考数据与延伸阅读
- 第十三章、文件服务器之一:NFS 服务器
- 13.1 NFS 的由来与其功能
- 13.2 NFS Server 端的设定
- 13.3 NFS 客户端的设定
- 13.4 案例演练
- 13.5 重点回顾
- 13.6 本章习题
- 13.7 参考数据与延伸阅读
- 第十四章、账号控管: NIS 服务器
- 14.1 NIS 的由来与功能
- 14.2 NIS Server 端的设定
- 14.3 NIS Client 端的设定
- 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
- 14.5 重点回顾
- 14.6 本章习题
- 14.7 参考数据与延伸阅读
- 第十五章、时间服务器: NTP 服务器
- 15.1 关于时区与网络校时的通讯协议
- 15.2 NTP 服务器的安装与设定
- 15.3 客户端的时间更新方式
- 15.4 重点回顾
- 15.5 本章习题
- 15.6 参考数据与延伸阅读
- 第十六章、文件服务器之二: SAMBA 服务器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服务器的基础设定
- 16.3 Samba 客户端软件功能
- 16.4 以 PDC 服务器提供账号管理
- 16.5 服务器简单维护与管理
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考数据与延伸阅读
- 第十七章、区网控制者: Proxy 服务器
- 17.1 什么是代理服务器 (Proxy)
- 17.2 Proxy 服务器的基础设定
- 17.3 客户端的使用与测试
- 17.4 服务器的其他应用设定
- 17.5 重点回顾
- 17.6 本章习题
- 17.7 参考数据与延伸阅读
- 第十八章、网络驱动器装置: iSCSI 服务器
- 18.1 网络文件系统还是网络驱动器
- 18.2 iSCSI target 的设定
- 18.3 iSCSI initiator 的设定
- 18.4 重点回顾
- 18.5 本章习题
- 18.6 参考数据与延伸阅读
- 第四部分:常见因特网服务器架设
- 第十九章、主机名控制者: DNS 服务器
- 19.1 什么是 DNS
- 19.2 Client 端的设定
- 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
- 19.4 DNS 服务器的详细设定
- 19.5 协同工作的 DNS: Slave DNS 及子域授权设定
- 19.6 DNS 服务器的进阶设定
- 19.7 重点回顾
- 19.8 本章习题
- 19.9 参考数据与延伸阅读
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服务器之三: FTP 服务器
- 21.1 FTP 的数据链路原理
- 21.2 vsftpd 服务器基础设定
- 21.3 客户端的图形接口 FTP 联机软件
- 21.4 让 vsftpd 增加 SSL 的加密功能
- 21.5 重点回顾
- 21.6 本章习题
- 21.7 参考数据与延伸阅读
- 第二十二章、邮件服务器: Postfix
- 22.1 邮件服务器的功能与运作原理
- 22.2 MTA 服务器: Postfix 基础设定
- 22.3 MRA 服务器: dovecot 设定
- 22.4 MUA 软件:客户端的收发信软件
- 22.5 邮件服务器的进阶设定
- 22.6 重点回顾
- 22.7 本章习题
- 22.8 参考数据与延伸阅读