【引用】ubuntu服务器配置-(一)

* 欢迎阅读 Ubuntu 服务器指南! Ubuntu 服务器指南 包括了在您的 Ubuntu 系统中如何安装和配置满足您需要的不同服务器的相关信息。它是一个循序渐进、面向任务的配置和定制您系统的指南。本手册讨论的主题如下所示:6N5Linux联盟
o 网络配置6N5Linux联盟
o Apache2 的配置6N5Linux联盟
o 数据库6N5Linux联盟
o Windows 联网6N5Linux联盟
本手册主要分为以下几块:6N5Linux联盟
o 安装6N5Linux联盟
o 包管理6N5Linux联盟
o 联网6N5Linux联盟
o Windows 联网6N5Linux联盟
本指南假定您已经对您的 Ubuntu 系统有个基本的了解。如果您需要安装 Ubuntu 的详细帮助,将参考 Ubuntu 安装指南。

本手册的 HTML 和 PDF 版本可以在 Ubuntu 文档网站 在线获得。

您可以在our Lulu store上购买到本指南的纸质品,只需支付打印和邮寄费用。

安装

* 本章提供了安装 Ubuntu 6.06 LTS Server Edition(服务器版)的快速入门。更多细节说明,请参见 Ubuntu 安装指南。

准备安装

* 准备安装,本部分内容说明在开始安装之前要考虑的各个方面。

系统要求

* Ubuntu 6.06 LTS Server Edition (服务器版)支持三种主要的体系架构: Intel x86、AMD64 和 PowerPC。下表列出了被推荐硬件明细表。您可以根据需要使用比这更少的(硬件)进行管理。然而,大多数用户不应当忽略这些建议,否则风险自负。 表 2-1?最小建议配置

安装类型

RAM

硬盘空间

服务器

64 MB

500 MB6N5Linux联盟
Ubuntu 6.06 LTS Server Edition (服务器版)的默认自述文档已经在下面列出了。当然,安装的尺寸大小极大程序上取决于您在安装过程中安装服务的多少。对于大多数管理员来说,默认的服务对于服务器一般的使用已经足够了。 服务器 这是一个小型服务器服务列表,它为各种服务器应用程序提供了一个通用基础。它是最低限度的并被设计成可以在其上添加想要的服务,如文件/打印服务、web 主机、邮件主机等。要满足这些服务至少需要 500 MB 的磁盘空间,但考虑添加更多的空间是要取决于在您服务器上您想要提供的服务。 记住这些尺寸并不包括其他的素材如用户文件、邮件、日志和数据。当为您自己的文件和数据考虑空间时最好能留足。

备份

* 在您开始之前,请确保备份了您现在系统上的每个文件。如果第一次时已经有一个操作系统安装在您的计算机上,那么最合适的办法就是把您的磁盘重新分区,为 Ubuntu 留出空间。无论哪次对您的磁盘进行分区您都应该做好丢失磁盘上所有东西的准备,因为您可能会误操作或者在分区过程中出错,如系统掉电等。在安装中所使用的程序是相当可靠的,大多数已经用了几年,但它们执行的也是破坏性的操作,一个操作出错可能会把您有价值的数据丢失掉。6N5Linux联盟
o 如果您是想把电脑做成多重引导的系统,请先确定您手头上有电脑里已经存在的这些操作系统的安装介质。特别是当您把启动盘重新分区以后,您可能会发现必须重新安装原有操作系统的启动引导程序,某些情况下,还得重新安装该操作系统并恢复受影响分区上的文件。

从 CD 安装

* 将您的安装 CD 插入 您的 CD-ROM 设备并重启计算机。当从 CD-ROM 重启时安装系统将立即开始。一旦初始化之后,您的第一个安装屏幕将出现。 此时,阅读屏幕上的文字。您也许想看看安装程序提供的帮助屏。如果您想这么做的话,请按 F1 键。 要执行缺省的服务器安装程序,选择 “安装到硬盘” 并按 回车 键。安装过程将开始。简单地根据屏幕上的指示,您的 Ubuntu 系统将被安装。 或者,您要安装一个 LAMP 服务器 (Linux, Apache, MySQL, PHP/Perl/Python),选择 “安装 LAMP 服务器”,并根据指示进行安装。

包管理

* Ubuntu 提供一套全面的包管理系统用于软件的安装、升级、配置和卸载。除了让您 Ubuntu 计算机可以访问组织好的超过 17,000 个软件包的软件库之外,包管理工具还可以解决依赖关系并提供软件更新检查。 一些工具可以和 Ubuntu 包管理系统进行交互,从便于系统管理员做自动化处理的简单命令行工具到便于 Ubuntu 新手使用的简单图形界面。

介绍

* Ubuntu 的包管理系统是从 Debian GNU/Linux 发行版中洐生出来的。包文件包括在您 Ubuntu 系统中实现特定功能或软件所必需的文件、元数据和指令。 Debian 包文件一般用 ‘.deb’ 作后缀,而且位于建立在不同介质上由包组成的 软件库 中,这些介质包括 CD-ROM 光盘和网站。包通常是预编译的二进制形式,因此安装速度快而且软件也无需编译。 许多复杂的包使用 依赖包 这一概念,依赖包是主包为实现完整功能而要求的附加包。例如,语音合成包 Festival 依赖 festvox-kalpc16k 包,该依赖包提供被应用程序使用的众多声音之一。为了能使 Festival 正常运行,所有依赖包都必须与 Festival 主包同时安装。Ubuntu 软件管理工具将会自动完成这一切。

Apt-Get

* apt-get 命令是一个强大的命令行工具,用于同 Ubuntu 的 Advanced Packaging Tool (APT) 一起执行诸如安装新软件包、升级已有软件包、更新包列表索引,甚至是升级整个 Ubuntu 系统等功能。 作为一个简单的命令行工具,apt-get 对于服务器管理员来说比 Ubuntu 中的其他软件包管理工具有着相当多的优点。这些优点包括便于在简单终端连接 (SSH) 中使用,同时能够用于系统管理脚本中,以便能被cron 动作计划工具自动运行。 apt-get 工具的一些常见用法示例:

关于 APT 用法的更多信息,可阅读全面的Debian APT 用户手册 或输入:

apt-get help

Aptitude

* Aptitude 是一个菜单驱动,基于文本的 Advanced Packaging Tool (APT) 系统前端。包管理的许多常用功能,如安装,卸载和升级,可以在Aptitude 中单键执行命令,它通常是小写字母。 Aptitude 最适用于非图形的终端环境,确保命令关键字的适当功能。您可以作为一个普遍用户在终端提示符后用以下命令开始运行 Aptitude:

sudo aptitude  当 Aptitude 开始之后,你将看在屏幕顶部的一个菜单条,其下有两个窗,顶窗包含包的类别,如 新软件包 和 未安装软件包 。底窗包含包和包类别的相关信息。 使用 Aptitude 作包管理相对直观,用户界面便于执行常用任务。下面是在 Aptitude 中进行包管理时常见用法如下:6N5Linux联盟
o 安装软件包:要安装包,通过未安装软件包包类别找到该软件包,如通过键盘箭头键和 ENTER 键定位并高亮你想安装的软件包。在高亮你要安装的软件包之后,将其标示为安装。现在按 g 键显示软件包的操作提示。再按 g 键,您将被提示要成为 root 用户以完成安装。按 ENTER 键将显示 Password: 提示。输入您的用户密码成为 root 用户。最后,再一次按 g 键,您将被提示下载软件包。在Continue 提示上按 ENTER 键,开始下载和安装软件包。6N5Linux联盟
o 卸载软件包:要卸载软件包,通过已安装软件包包类别找到该软件包,如通过键盘箭头键和 ENTER 键定位并高亮你想卸载的软件包。在高亮你要卸载的软件包之后,按 - 键,文件包条目将变成 pink,标示其为卸载。现在按 g 键显示软件包的操作提示。再按 g 键,您将被提示要成为 root 用户以完成卸载。按 ENTER 键将显示 Password: 提示。输入您的用户密码成为 root 用户。最后,再一次按 g 键,您将被提示下载软件包。在Continue 提示上按 ENTER 键,开始卸载软件包。6N5Linux联盟
o 更新软件包索引:要更新软件包索引,简单按 u 您将被提示要成为 root 用户以完成更新。按 ENTER 键将显示 Password: 提示,输入您的用户密码成为 root 用户。开始更新软件包索引,当出现下载对话框时在 OK 提示上按 ENTER 键以结束更新过程。6N5Linux联盟
o 升级软件包:要升级软件包,如上所述更新软件包索引,然后按U 键标示所有能升级的软件包。现在按 g 键显示软件包的操作提示。再按 g 键,您将被提示要成为 root 用户以完成安装。按 ENTER 键将显示 Password: 提示。输入您的用户密码成为 root 用户。最后,再一次按 g 键,您将被提示下载软件包。在Continue 提示上按 ENTER 键,开始升级软件包。6N5Linux联盟
当实际查看软件时列出软件包当前状态,在顶窗软件包列表中显示信息的第一列使用下列关键字来描述软件包状态:6N5Linux联盟
o i: 安装软件包6N5Linux联盟
o c: 软件包没有安装,但在系统中有软件包的残留配置6N5Linux联盟
o p: 从系统彻底删除6N5Linux联盟
o v: 虚拟软件包6N5Linux联盟
o B: 已损坏的软件包6N5Linux联盟
o u: 解压文件,但尚未配置软件包6N5Linux联盟
o C: 半配置 - 配置失败需要修复6N5Linux联盟
o H: 半安装 - 卸载失败需要修复6N5Linux联盟
要退出 Aptitude,只需简单按 q 键并确认您想退出即可。在 Aptitude 菜单中按 F10 键可以列出其他许多功能。

配置

* Advanced Packaging Tool (APT) 系统软件库的配置被保存在 /etc/apt/sources.list 文件中。这儿有个该文件的示例,

这里 是一个典型的 /etc/apt/sources.list 文件范例。 您可以编辑该文件来使软件库生效或失效。举个例子,要不想无论何时在发生文件包操作都会引起要求插入 Ubuntu CD-ROM ,只需要简单地将在文件顶部的 CD-ROM 相应行注释掉即可:

# no more prompting for CD-ROM please6N5Linux联盟
# deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060329.1)]/ dapper main restricted

其他软件库

* 除了可以使用官方支持的 Ubuntu 软件包库之外,还存在拥有几千个潜在软件包的由其它社区维护的软件库。这些软件库中最流行的两个是 Universe 和 Multiverse 软件库。这些软件库并不被 Ubuntu 官方支持,这就是它们为什么在缺省时不能的原因,但它们提供的包通常是可以在您的 Ubuntu 计算机上安全使用的。 在 Multiverse 软件库中的包通常有许可证的问题,这使得它们不能和自由操作系统一起分发,它们在您所在的地区可能是违法的。 建议不要在 Universe 或 Multiverse 软件库中包含官方支持的软件包。尤其是在升级这些包时可能会不安全。 许多其他软件包源也是可用的,有时甚至只提供一个软件包,这种情况主要发生在由单个应用程序的开发人员所提供软件包源上。然而当您在使用非标准软件包源时您应该非常小心谨慎,在执行任何安装之前仔细考查源和软件包,因为有些软件包源和其中的软件包可能会使您的系统在某些方面运行不稳定或不正常。 要使 Universe 和 Multiverse 库可用,编辑/etc/apt/sources.list 文件并将去掉相关行的注释:

# We want Multiverse and Universe repositories, please

deb http://archive.ubuntu.com/ubuntu dapper universe multiverse6N5Linux联盟
deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse

3.5.1. 引用

*

如何添加软件库(Ubuntu Wiki)

联网

* 网络是由两个或两个以上的设备通过物理线缆或无线连接而成并在连接设备之间共享和分发信息。这些设备包括计算机系统、打印机或用有线或无线连接起来的其它相关设备。 Ubuntu 服务器指南的这部分提供与联网相关的一般和特定信息,包括网络概念的简介以及对常用网络协议及服务器应用程序的详细讨论。

网络配置

* Ubuntu 提供了许多图形化工具来配制您的网络设备。本文适用于服务器管理员并聚焦在命令行中管理您的网络。

4.1.1.?以太网

* 大多数以太网配置都集中在单个文件 /etc/network/interfaces 中。如果您没有以太网设备,那么在该文件中将只出现环回口,该文件看上去类似这样:

# This file describes the network interfaces available on your system6N5Linux联盟
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface6N5Linux联盟
auto lo6N5Linux联盟
iface lo inet loopback6N5Linux联盟
address 127.0.0.16N5Linux联盟
netmask 255.0.0.0

如果您只有一个以太网设备 eth0,被配置成从 DHCP 服务器得到设置,并且在引导时自动激活,那么只需要再添加两行:

auto eth0?6N5Linux联盟
iface eth0 inet dhcp

第一行说明 eth0 将会在您启动时自动激活。第二行说明该接口 (“iface”) eth0 将有得到一个 IPv4 地址空间 (如果是一个 IPv6 的设备将须将 “inet” 用 “inet6” 代替) 并且它将自动从 DHCP 中自动获得它的配置。假定您的网络和 DHCP 服务都已经被正确配置,该机的网络将不需要更多的配置。DHCP 服务器将提供默认网关 (通过 route 命令来实现) 、设备的 IP 地址 (通过 ifconfig 命令来实现)以及网络使用的 DNS 服务器 (在 /etc/resolv.conf 文件中实现)。 要把您的以太网设备配置成静态 IP 地址和自定义配置的话,则要求更多的信息。假设您想指定 IP 地址 192.168.0.2 给设备 eth1,其掩码是 255.255.255.0。您的默认网关的 IP 地址是 192.168.0.1。您可以在 /etc/network/interfaces 中输入类似下面的语句:

iface eth1 inet static6N5Linux联盟
address 192.168.0.26N5Linux联盟
netmask 255.255.255.06N5Linux联盟
gateway 192.168.0.1

在这个例子中,您将需要在 /etc/resolv.conf 中手工指定您的DNS服务器,看起来如下:

search mydomain.com6N5Linux联盟
nameserver 192.168.0.16N5Linux联盟
nameserver 4.2.2.2

search 语句在试图解析网络名时把 mydomain.com 添到主机名查询中。举个例子,如果您的网络域名是 mydomain.com 并且您试图去 ping 主机 “mybox”,DNS 查询将在解析时改为 “mybox.mydomain.com”。nameserver 语句指定用于将主机名解析成 IP 地址的的 DNS 服务器。如果您使用自己的名称服务器,在这里输入它。否则询问您的 Internet 服务供应商要使用的主、辅 DNS 服务器,并把它们如上所示输入到 /etc/resolv.conf 中。 配置更多的接口是可能的,包括拨号的 PPP 接口、IPv6 网络、VPN 设备等。更多信息和支持选项请参考 man 5 interfaces。记住 ifup/ifdown 脚本使用的/etc/network/interfaces 是比其他一些 Linux 发行版更高级的配置模式。传统的低级工具如ifconfig、route 和 dhclient 也为了 ad hoc 配置对您来说也是可用的。

4.1.2.?管理 DNS 记录

* 本部分说明如何配置用来将IP地址解析成主机名或相反功能的名称服务,而不是说如何将整个系统配置成一个名称服务器。 要管理 DNS 条目,您可以在 /etc/resolv.conf 文件中添加、编辑或删除 DNS 名称服务器。一个 范例文件 在下面给出:

search com6N5Linux联盟
nameserver 204.11.126.1316N5Linux联盟
nameserver 64.125.134.1336N5Linux联盟
nameserver 64.125.134.1326N5Linux联盟
nameserver 208.185.179.218

search 关键字指字为未完成主机名添加的字符串,在这里我们使用com。因此当我们运行:ping ubuntu 时它被理解成 ping ubuntu.com。 nameserver 关键字指定名称服务器的 IP 地址,它将被用来解析 IP 地址或主机名。该文件可以有多个名称服务器记录。名称服务器将按相同顺序进行网络查询。 如果 DNS 服务器名称是通过 DHCP 或 PPPOE 动态取回的(从您 ISP 取回),那么不要在该文件中添加名称服务器记录。它将被自动更新。

4.1.3.?管理主机

* 要管理主机,您可以在 /etc/hosts 文件中添加、编辑或删除主机。该文件包括 IP 地址和相对应的主机名。当您的系统要解析一个主机到 IP 地址或从一个 IP 地址获取主机名时,它将在使用名称服务器之前参考 /etc/hosts 文件。如果该 IP 地址已经在 /etc/hosts 文件中被列出,那么将不再使用名称服务器。这一动作可以通过编辑 /etc/nsswitch.conf 来改变,不过后果自负。 如果您网络所包含计算机的 IP 地址没有在 DNS 中列出,建议您将它们加入到 /etc/hosts 文件中。

TCP/IP

* 传输控制协议和网际协议 (TCP/IP) 是在 20世纪70年代被美国国防部高级研究规划局 (DARPA)作为在不同类型计算机及计算机网络之间的通信手段而被开发的一个标准协议簇。TCP/IP 是 Internet 的驱动力,因此它是全球最流行的网络协议簇。

4.2.1.?TCP/IP 介绍

* TCP/IP 的两个协议组件处理计算机网络的不同方面。网际协议,TCP/IP 中的 “IP” 是一个连接协议,只处理使用 IP 数据报作为网络信息基本单元的网络包路由。IP 数据报由报头和其后的消息组成。传输控制协议 是 TCP/IP 中的 “TCP”,可以使网络主机之间建立用于交换数据流的连接。TCP 也保证连接之间的数据传送以及其在网络主机上的接收顺序与其从另一台网络主机上的发送顺序一致。

4.2.2.?TCP/IP 配置

* TCP/IP 协议配置由必须设置的几个元素组成,可以通过编辑相应的配置文件或配置方案如动态主机配置协议 (DHCP) 来设置,它可以配置成提供适当的 TCP/IP 配置来自动设置网络客户机。这些配置值必须正确设置,以便于您的 Ubuntu 系统进行相应网络操作。 TCP/IP 常用配置元素及其作用如下所示:6N5Linux联盟
o IP 地址 IP 地址是唯一标识字符串,它由四部分由点号分隔的,范围从 0 到 255 的十进制数组成。 每部分由8个比特表示,整个地址总长为32个比特。这种格式被称为 dotted quad notation。6N5Linux联盟
o 掩码 子网掩码 (或简称掩码) 是一个局部位掩码,或用指定的 子网掩码 来将IP 地址中的网络分隔出来的一组标识。举个例子,在 C 类网络中,标准的掩码是 255.255.255.0 屏蔽了 IP 地址的前三个字节,并允许 IP 地址的最后一个字节指定子网中的主机。6N5Linux联盟
o 网络地址 网络地址表示包括IP 地址网络部分的字节。 例如, 一个 A 类网络的主机 12.128.1.2 将使用 12.0.0.0 作为网络地址,使用 12 来表示 IP 地址的第一个字节 (网络部分), 余下的三个为 0 的字节表示可能的主机值的。网络主机使用象 192.168.1.100 这样非常普遍的不可路由的私有 IP 地址将使用 192.168.1.0 网络地址,用前三个字节来指定 C 类 192.168.1 网络,而用一个 0 来表示网络上所有可能的主机。6N5Linux联盟
o 广播地址 广播地址是一个允许向给定子网中的所有主机而不是一台特定的网络主机同时发送网络数据的 IP 地址。一般标准 IP 网络的地址是 255.255.255.255,但这个广播地址不能用来为 Internet 网上的每台主机发送一个广播消息,因为路由器会阻止它。更适当的广播地址设置是匹配特定子网的。例如,在流行的私有 C 类 IP 网 192.168.1.0 中,广播地址应该设为 192.168.1.255。广播消息一般都是由网络协议产生的,如地址识别协议 (ARP) 和路由信息协议 (RIP)。6N5Linux联盟
o 网关地址网关地址是一个通过该地址可能会到达指定网络或网络主机的 IP 地址。如果一台网络主机希望与另一台网络主机通讯,而该机并不在同一网络中,而是要传输到另一个网络或主机上,如 Internet 主机。网关地址设置必须正确,否则您的系统将不能到达不在同一网络中的任何主机。6N5Linux联盟
o 名称服务器地址 名称服务器地址表示域名服务 (DNS) 系统的 IP 地址。该系统将网络主机名解析成 IP 地址。可以按顺序来指定三个不同优先级的名称服务器地址:主 名称服务器,次 名称服务器,和 第三名称服务器。按顺序为您系统将网络主机名解析成相应的 IP 地址,你必须指定合法的名称服务器地址,该地址应该在您系统的 TCP/IP 配置中被授权使用。在许多情况下这些地址可以也应该被您的网络服务供应商提供,但也可以使用许多免费的、可供公众访问的名称服务器,如 IP 从 4.2.2.1 到 4.2.2.6 的 Level3 (Verizon) 服务器。6N5Linux联盟
+ IP 地址、掩码、网络地址、广播地址以及网关地址一般都是在文件 /etc/network/interfaces 中通过相应的语句来指定的。名称服务器地址一般是在文件 /etc/resolv.conf 中通过 nameserver 语句来指定的。更多详情,请分别查阅 interfaces 或 resolv.conf 的系统手册页。 查阅 interfaces 系统手册页,可用以下命令:

man interfaces 查阅 resolv.conf 系统手册页,用以下命令:

man resolv.conf

4.2.3.?IP 路由

* IP 路由是在 TCP/IP 网络上为可能发送的网络数据指明或发现路径。路由使用一组路由表来指示网络数据包从源地址转发到目的地,经常是通过许多叫做路由器的网络节点做中转。IP 路由是 Internet 上路径发现的主要方式。IP 路由分为两种形式:静态路由 和 动态路由。 静态路由包含向系统路由表中手工添加的 IP 路由,一般是通过 route 命令来向路由表手工添加的。静态路由与动态路由相比有许多优点,如在小网络中实施简单,有可预测性 (路由表总是事先算好,因此路由在每次使用时都相当一致),在其它路由器和网络链路处理上比动态路由协议开销小。然而,静态路由也有一些缺点。如静态路由只限于小网络而且不能很好地进行调整。静态路由由于路由固定的特性,因此根本无法根据路由来适应网络中断和故障。 动态路由有赖于从一个源到目的有多条可用 IP 路由的大型网络,利用特定的路由协议,如路由信息协议 (RIP),可以自动调整路由表以生成可能的动态路由。动态路由相对静态路由有几个优点,如拥有较大的伸缩性和能根据网络路由来适应网络中断和故障。另外,几乎无须手工配置路由表,因为路由器可以相互学到其他已有并且可用的路由器。这一特性也消除了由于人为错误而在路由表中引入错误的可能。然而,动态路由也并不完美,其表现出来的缺点如相当复杂以及由于路由器通讯所带来的额外的网络开销,并不能使最终用户由此获益,并却一直消耗着网络带宽。

4.2.4.?TCP 和 UDP

* TCP 是一个基于连接的协议,提供纠错并通过 流量控制 来传输数据。流量控制决定什么时间一个数据流需要停止,例如在出现诸如 冲突 等问题时重发先前发送的数据包,以确保完整和准确的数据传输。TCP 常用于重要信息的交换,如数据库传输。 另一方面,用户数据报协议 (UDP) 是一个 无连接 协议,很少用于重要数据的传输,因为缺乏流量控制或其他一些确保可靠数据传输的方法。UDP 常用在如音视频流这样的应用程序,由于它缺少纠错和流控,因此相对于 TCP 来说更快,而且丢失少量包通常也不会造成灾难性的后果。

4.2.5.?ICMP

* Internet 控制消息协议是在Request For Comments (RFC) #792 中定义的,是对网际协议 (IP) 的一个扩充。支持的网络包包括控制、错误和信息的消息。ICMP 常被用在诸如判断一台网络主机或设备可用性的 ping 工具这样的网络应用程序。在网络主机和设备如路由器之间使用 ICMP 所返回的错误消息示例包括 Destination Unreachable 和 Time Exceeded。

4.2.6.?守护程序

* 守护程序是特殊的系统应用程序,一般常驻在后台并等待来自其他应用程序请求其所提供的功能。许多守护程序都是网络中心;在 Ubuntu 系统后台执行的许多守护程序都可以提供网络的相关功能。这些网络守护程序包括 超文本传输协议守护程序 (httpd),用于提供网站服务器功能;Secure SHell 守护程序 (sshd),用于提供安全远程登录 shell 和文件传输功能;Internet Message Access Protocol 守护程序 (imapd),用于提供 E-Mail 服务。

防火墙配置

* Linux 内核包括 Netfilter 子系统,用来处理或决定网络传输头部进入或穿过你的服务器,目前所有的 Linux 防火墙都用该系统来做包过滤。

4.3.1.?防火墙介绍

* 内核的包过滤系统如果没有一个用户态 (userspace) 界面来管理它的话对管理员来说几乎没有用。这正是 iptables 的目的。当一个包到达您的服务器,它从用户态 (userspace) 通过 iptables 传给 Netfilter 子系统,然后基于提供的规则去接受、操作或拒绝。因此,如果你能熟悉它的话,那么 iptables 就是您管理您防火墙所需的全部。

4.3.2.?IP 伪装

* IP 伪装的目的是为了允许您网络上那些有着私有的、不可路由的 IP 地址的机器可以通过做伪装的机器访问 Internet。来自您私有网络并要访问 Internet 的传输必须是可以操作的,也就是说回复要可以被路由回来以送到发出请求的机器上。要做到这一点,内核必须修改每个包 源 IP 地址以便回复能被路由回它这里,而不是发出请求的私有 IP 地址,因为它们对于 Internet 来说是不存在的。Linux 使用 Connection Tracking (conntrack) 来保持那个连接是属于哪个机器的,并相应地对每个返回包重新做路由。发自您私有网络的流量就这样被伪装成源于您的网关机器。这一过程在 Microsoft 文档中被称为 Internet 连接共享。 这可以用单条 iptables 规则来完成,也许基于您网络配置来说会有一些小的差异:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

上述命令假设您的私有地址空间是192.168.0.0/16,您与 Internet 相连的设备是 ppp0。语法分解如下所示:6N5Linux联盟
o -t nat — 该规则将进入 nat 表6N5Linux联盟
o -A POSTROUTING — 该规则将被追加 (-A) 到 POSTROUTING 链6N5Linux联盟
o -s 192.168.0.0/16 — 该规则将被应用在源自指定地址空间的流量上6N5Linux联盟
o -o ppp0 — 该规则应用于计划通过指定网络设备的流量。6N5Linux联盟
o -j MASQUERADE — 匹配该规则的流量将如上所述 “跳转” (-j) 到 MASQUERADE (伪装) 目标。6N5Linux联盟
在过滤表 (缺省表,在那里有着大多数或全部包过滤指令) 中的每条链 (chain) 都有一个默认的 ACCEPT 策略,但如果您还在网关设备上设置防火墙,那么您也许还要设置 DROP 或 REJECT 策略,这时您被伪装过的流量还需要被 FORWARD 链 (chain) 中的规则允许才能正常工作:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT6N5Linux联盟
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state –state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

上述命令将允许通过从您局域网到 Internet 的所有连接,这些连接所有的相关流量也都返回到发起它们的机器。

4.3.3.?工具

*

有很多工具可以帮助您构建一个完整的防火墙,而不需要 iptables 的专业知识。偏好图形界面的,Firestarter 非常流行也易于使用,fwbuilder 则非常强大而且其界面对于用过诸如 Checkpoint FireWall-1 商业防火墙工具的管理员来说相当熟悉。如果您偏好有着纯文本配置文档的命令行工具,Shorewall 是个非常强大的解决方案,可以帮您为任何网络配置一个高级防火墙。如果您的网络相对简单,或如果您没有网络,那么 ipkungfu 将给您一个无需配置就可以工作的防火墙,也允许您通过编辑简单友好的配置文件来轻松设置更高级的防火墙。另一个感兴趣的工具就是fireflier,被设计成桌面防火墙应用程序。它由一个服务器 (fireflier-server) 和可选的 GUI 客户端 (GTK 或 QT) 组成,操作就象 Windows 中许多流行的交互式防火墙应用程序一样。

4.3.4.?日志

* 防火墙日志主要是为了确认攻击、找出并解决您防火墙规则的问题以及注意您网络中不正常的活动。您必须在您防火墙中包含这些日志规则以便生成相应日志,虽然,日志规则必须优先于任何可应用的最终规则 (那些决定其目的包命运的规则,如ACCEPT、DROP 或 REJECT) 。

sudo iptables -A INPUT -m state –state NEW -p tcp –dport 80 -j LOG –log-prefix “NEW_HTTP_CONN: ”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值