ubuntu服务器使用指南_第1页
ubuntu服务器使用指南_第2页
ubuntu服务器使用指南_第3页
ubuntu服务器使用指南_第4页
ubuntu服务器使用指南_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ubuntu 服务器指南 欢迎阅读 Ubuntu 服务器指南! Ubuntu 服务器指南 包括了在您的 Ubuntu 系统中如何安装和配置满足您需要的不同服务器的相关信息。它是一个循序渐进、面向任务的配置和定制您系统的指南。本手册讨论的主题如下所示: o 网络配置 Apache2 的配置 数据库 Windows 联网 本手册主要分为以下几块: o 安装 包管理 联网 Windows 联网 本指南假定您已经对您的 Ubuntu 系统有个基本的了解。如果您需要安装 Ubuntu 的详细帮助,将参考 Ubuntu 安装指南。 本手册的 HTML 和 PDF 版本可以在在线获得。 您可以在上购买到本指南的纸质品,只需支付打印和邮寄费用。 安装 本章提供了安装 Ubuntu 6.06 LTS Server Edition(服务器版)的快速入门。更多细节说明,请参见 Ubuntu 安装指南。 准备安装 准备安装,本部分内容说明在开始安装之前要考虑的各个方面。 系统要求 Ubuntu 6.06 LTS Server Edition (服务器版)支持三种主要的体系架构: Intel x86、AMD64 和 PowerPC。下表列出了被推荐硬件明细表。您可以根据需要使用比这更少的(硬件)进行管理。然而,大多数用户不应当忽略这些建议,否则风险自负。表 最小建议配置2-1 安装类型RAM硬盘空间 服务器64 MB500 MB Ubuntu 6.06 LTS Server Edition (服务器版)的默认自述文档已经在下面列出了。当然,安装的尺寸大小极大程序上取决于您在安装过程中安装服务的多少。对于大多数管理员来说,默认的服务对于服务器一般的使用已经足够了。 服务器 这是一个小型服务器服务列表,它为各种服务器应用程序提供了一个通用基础。它是最低限度的并被设计成可以在其上添加想要的服务,如文件/打印服务、 web 主机、邮件主机等。要满足这些服务至少需要 500 MB 的磁盘空间,但考虑添加更多的空间是要取决于在您服务器上您想要提供的服务。 记住这些尺寸并不包括其他的素材如用户文件、邮件、日志和数据。当为您自己的文件和数据考虑空间时最好能留足。 备份 o 在 您开始之前,请确保备份了您现在系统上的每个文件。如果第一次时已经有一个操作系统安装在您的计算机上,那么最合适的办法就是把您的磁盘重新分区,为 Ubuntu 留出空间。无论哪次对您的磁盘进行分区您都应该做好丢失磁盘上所有东西的准备,因为您可能会误操作或者在分区过程中出错,如系统掉电等。在安装中所使用的 程序是相当可靠的,大多数已经用了几年,但它们执行的也是破坏性的操作,一个操作出错可能会把您有价值的数据丢失掉。 如果您是想把电脑做成多重引导的系统,请先确定您手头上有电脑里已经存在的这些操作系统的安装介质。特别是当您把启动盘重新分区以後,您可能会发现必须重新安装原有操作系统的启动引导程序,某些情况下,还得重新安装该操作系统并恢复受影响分区上的文件。 从 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 用法的更多信息,可阅读全面的或输入: apt-get help Aptitude Aptitude 是一个菜单驱动,基于文本的 Advanced Packaging Tool (APT) 系统前端。包管理的许多常用功能,如安装,卸载和升级,可以在Aptitude 中单键执行命令,它通常是小写字母。 Aptitude 最适用于非图形的终端环境,确保命令关键字的适当功能。您可以作为一个普遍用户在终端提示符後用以下命令开始运行 Aptitude: sudo aptitude 当 Aptitude 开始之後,你将看在屏幕顶部的一个菜单条,其下有两个窗,顶窗包含包的类别,如 新软件包 和 未安装软件包 。底窗包含包和包类别的相关信息。 使用 Aptitude 作包管理相对直观,用户界面便于执行常用任务。下面是在 Aptitude 中进行包管理时常见用法如下: o 安 装软件包:要安装包,通过未安装软件包包类别找到该软件包,如通过键盘箭头键和 ENTER 键定位并高亮你想安装的软件包。在高亮你要安装的软件包之後,将其标示为安装。现在按 g 键显示软件包的操作提示。再按 g 键,您将被提示要成为 root 用户以完成安装。按 ENTER 键将显示 Password: 提示。输入您的用户密码成为 root 用户。最後,再一次按 g 键,您将被提示下载软件包。在Continue 提示上按 ENTER 键,开始下载和安装软件包。 卸 载软件包:要卸载软件包,通过已安装软件包包类别找到该软件包,如通过键盘箭头键和 ENTER 键定位并高亮你想卸载的软件包。在高亮你要卸载的软件包之後,按 - 键,文件包条目将变成 pink,标示其为卸载。现在按 g 键显示软件包的操作提示。再按 g 键,您将被提示要成为 root 用户以完成卸载。按 ENTER 键将显示 Password: 提示。输入您的用户密码成为 root 用户。最後,再一次按 g 键,您将被提示下载软件包。在Continue 提示上按 ENTER 键,开始卸载软件包。 更新软件包索引:要更新软件包索引,简单按 u 您将被提示要成为 root 用户以完成更新。按 ENTER 键将显示 Password: 提示,输入您的用户密码成为 root 用户。开始更新软件包索引,当出现下载对话框时在 OK 提示上按 ENTER 键以结束更新过程。 升 级软件包:要升级软件包,如上所述更新软件包索引,然後按U 键标示所有能升级的软件包。现在按 g 键显示软件包的操作提示。再按 g 键,您将被提示要成为 root 用户以完成安装。按 ENTER 键将显示 Password: 提示。输入您的用户密码成为 root 用户。最後,再一次按 g 键,您将被提示下载软件包。在Continue 提示上按 ENTER 键,开始升级软件包。 当实际查看软件时列出软件包当前状态,在顶窗软件包列表中显示信息的第一列使用下列关键字来描述软件包状态: o i: 安装软件包 c: 软件包没有安装,但在系统中有软件包的残留配置 p: 从系统彻底删除 v: 虚拟软件包 B: 已损坏的软件包 u: 解压文件,但尚未配置软件包 C: 半配置 - 配置失败需要修复 H: 半安装 - 卸载失败需要修复 要退出 Aptitude,只需简单按 q 键并确认您想退出即可。在 Aptitude 菜单中按 F10 键可以列出其他许多功能。 配置 Advanced Packaging Tool (APT) 系统软件库的配置被保存在 /etc/apt/sources.list 文件中。这儿有个该文件的示例, file:/usr/share/ubuntu-docs/ubuntu/serverguide/sample/sources.list 这里 是一个典型的 /etc/apt/sources.list 文件范例。 您可以编辑该文件来使软件库生效或失效。举个例子,要不想无论何时在发生文件包操作都会引起要求插入 Ubuntu CD-ROM ,只需要简单地将在文件顶部的 CD-ROM 相应行注释掉即可: # no more prompting for CD-ROM please# deb cdrom:Ubuntu 6.06 _Dapper Drake_ - Release i386 (.1)/ dapper main restricted 其他软件库 除了可以使用官方支持的 Ubuntu 软件包库之外,还存在拥有几千个潜在软件包的由其它社区维护的软件库。这些软件库中最流行的两个是 Universe 和 Multiverse 软件库。这些软件库并不被 Ubuntu 官方支持,这就是它们为什么在缺省时不能的原因,但它们提供的包通常是可以在您的 Ubuntu 计算机上安全使用的。 在 Multiverse 软件库中的包通常有许可证的问题,这使得它们不能和自由操作系统一起分发,它们在您所在的地区可能是违法的。 建议不要在 Universe 或 Multiverse 软件库中包含官方支持的软件包。尤其是在升级这些包时可能会不安全。 许多其他软件包源也是可用的,有时甚至只提供一个软件包,这种情况主要发生在由单个应用程序的开发人员所提供软件包源上。然而当您在使用非标准软件 包源时您应该非常小心谨慎,在执行任何安装之前仔细考查源和软件包,因为有些软件包源和其中的软件包可能会使您的系统在某些方面运行不稳定或不正常。 要使 Universe 和 Multiverse 库可用,编辑/etc/apt/sources.list 文件并将去掉相关行的注释: # We want Multiverse and Universe repositories, pleasedeb /ubuntu dapper universe multiversedeb-src /ubuntu dapper universe multiverse 3.5.1. 引用 联网 网络是由两个或两个以上的设备通过物理线缆或无线连接而成并在连接设备之间共享和分发信息。这些设备包括计算机系统、打印机或用有线或无线连接起来的其它相关设备。 Ubuntu 服务器指南的这部分提供与联网相关的一般和特定信息,包括网络概念的简介以及对常用网络协议及服务器应用程序的详细讨论。 网络配置 Ubuntu 提供了许多图形化工具来配制您的网络设备。本文适用于服务器管理员并聚焦在命令行中管理您的网络。 以太网4.1.1. 大多数以太网配置都集中在单个文件 /etc/network/interfaces 中。如果您没有以太网设备,那么在该文件中将只出现环回口,该文件看上去类似这样: # This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopbackaddress netmask 如果您只有一个以太网设备 eth0,被配置成从 DHCP 服务器得到设置,并且在引导时自动激活,那么只需要再添加两行: auto eth0iface eth0 inet dhcp第一行说明 eth0 将会在您启动时自动激活。第二行说明该接口 (“iface”) eth0 将有得到一个 IPv4 地址空间 (如果是一个 IPv6 的设备将须将 “inet” 用 “inet6” 代替) 并且它将自动从 DHCP 中自动获得它的配置。假定您的网络和 DHCP 服务都已经被正确配置,该机的网络将不需要更多的配置。DHCP 服务器将提供默认网关 (通过 route 命令来实现) 、设备的 IP 地址 (通过 ifconfig 命令来实现)以及网络使用的 DNS 服务器 (在 /etc/resolv.conf 文件中实现)。 要把您的以太网设备配置成静态 IP 地址和自定义配置的话,则要求更多的信息。假设您想指定 IP 地址 给设备 eth1,其掩码是 。您的默认网关的 IP 地址是 。您可以在 /etc/network/interfaces 中输入类似下面的语句: iface eth1 inet staticaddress netmask gateway 在这个例子中,您将需要在 /etc/resolv.conf 中手工指定您的DNS服务器,看起来如下: search nameserver nameserver search 语句在试图解析网络名时把 添到主机名查询中。举个例子,如果您的网络域名是 并且您试图去 ping 主机 “mybox”,DNS 查询将在解析时改为 “”。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 配置对您来说也是可用的。 管理 DNS 记录4.1.2. 本部分说明如何配置用来将IP地址解析成主机名或相反功能的名称服务,而不是说如何将整个系统配置成一个名称服务器。 要管理 DNS 条目,您可以在 /etc/resolv.conf 文件中添加、编辑或删除 DNS 名称服务器。一个 范例文件 在下面给出: search comnameserver 31nameserver 33nameserver 32nameserver 18search 关键字指字为未完成主机名添加的字符串,在这里我们使用com。因此当我们运行:ping ubuntu 时它被理解成 ping 。 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 的驱动力,因此它是全球最流行的网络协议簇。 TCP/IP 介绍4.2.1. TCP/IP 的两个协议组件处理计算机网络的不同方面。网际协议,TCP/IP 中的 IP 是一个连接协议,只处理使用 IP 数据报 作为网络信息基本单元的网络包路由。IP 数据报由报头和其後的消息组成。传输控制协议 是 TCP/IP 中的 TCP,可以使网络主机之间建立用于交换数据流的连接。TCP 也保证连接之间的数据传送以及其在网络主机上的接收顺序与其从另一台网络主机上的发送顺序一致。 TCP/IP 配置4.2.2. TCP/IP 协议配置由必须设置的几个元素组成,可以通过编辑相应的配置文件或配置方案如动态主机配置协议 (DHCP) 来设置,它可以配置成提供适当的 TCP/IP 配置来自动设置网络客户机。这些配置值必须正确设置,以便于您的 Ubuntu 系统进行相应网络操作。 TCP/IP 常用配置元素及其作用如下所示: o IP 地址 IP 地址是唯一标识字符串,它由四部分由点号分隔的,范围从 0 到 255 的十进制数组成。 每部分由8个比特表示,整个地址总长为32个比特。这种格式被称为 dotted quad notation。 掩 码 子网掩码 (或简称掩码) 是一个局部位掩码,或用指定的 子网掩码 来将IP 地址中的网络分隔出来的一组标识。举个例子,在 C 类网络中,标准的掩码是 屏蔽了 IP 地址的前三个字节,并允许 IP 地址的最後一个字节指定子网中的主机。 网 络地址 网络地址表示包括IP 地址网络部分的字节。 例如, 一个 A 类网络的主机 将使用 作为网络地址,使用 12 来表示 IP 地址的第一个字节 (网络部分), 馀下的三个为 0 的字节表示可能的主机值的。网络主机使用象 00 这样非常普遍的不可路由的私有 IP 地址将使用 网络地址,用前三个字节来指定 C 类 192.168.1 网络,而用一个 0 来表示网络上所有可能的主机。 广播地址 广播地址是一个允许向给定子网中的所有主机而不是一台特定的网络主机同时发送网络数据的 IP 地址。一般标准 IP 网络的地址是 55,但这个广播地址不能用来为 Internet 网上的每台主机发送一个广播消息,因为路由器会阻止它。更适当的广播地址设置是匹配特定子网的。例如,在流行的私有 C 类 IP 网 中,广播地址应该设为 55。广播消息一般都是由网络协议产生的,如地址识别协议 (ARP) 和路由信息协议 (RIP)。 网关地址 网关地址是一个通过该地址可能会到达指定网络或网络主机的 IP 地址。如果一台网络主机希望与另一台网络主机通讯,而该机并不在同一网络中,而是要传输到另一个网络或主机上,如 Internet 主机。网关地址设置必须正确,否则您的系统将不能到达不在同一网络中的任何主机。 名称服务器 地址 名称服务器地址表示域名服务 (DNS) 系统的 IP 地址。该系统将网络主机名解析成 IP 地址。可以按顺序来指定三个不同优先级的名称服务器地址:主 名称服务器,次 名称服务器,和 第三 名称服务器。按顺序为您系统将网络主机名解析成相应的 IP 地址,你必须指定合法的名称服务器地址,该地址应该在您系统的 TCP/IP 配置中被授权使用。在许多情况下这些地址可以也应该被您的网络服务供应商提供,但也可以使用许多免费的、可供公众访问的名称服务器,如 IP 从 到 的 Level3 (Verizon) 服务器。 IP 地址、掩码、网络地址、广播地址以及网关地址一般都是在文件 /etc/network/interfaces 中通过相应的语句来指定的。名称服务器地址一般是在文件 /etc/resolv.conf 中通过 nameserver 语句来指定的。更多详情,请分别查阅 interfaces 或 resolv.conf 的系统手册页。 查阅 interfaces 系统手册页,可用以下命令: man interfaces 查阅 resolv.conf 系统手册页,用以下命令: man resolv.conf IP 路由4.2.3. IP 路由是在 TCP/IP 网络上为可能发送的网络数据指明或发现路径。路由使用一组路由表来指示网络数据包从源地址转发到目的地,经常是通过许多叫做路由器的网络节点做中转。IP 路由是 Internet 上路径发现的主要方式。IP 路由分为两种形式:静态路由 和 动态路由。 静态路由包含向系统路由表中手工添加的 IP 路由,一般是通过 route 命令来向路由表手工添加的。静态路由与动态路由相比有许多优点,如在小网络中实施简单,有可预测性 (路由表总是事先算好,因此路由在每次使用时都相当一致),在其它路由器和网络链路处理上比动态路由协议开销小。然而,静态路由也有一些缺点。如静态路由 只限于小网络而且不能很好地进行调整。静态路由由于路由固定的特性,因此根本无法根据路由来适应网络中断和故障。 动态路由有赖于从一个源到目的有多条可用 IP 路由的大型网络,利用特定的路由协议,如路由信息协议 (RIP),可以自动调整路由表以生成可能的动态路由。动态路由相对静态路由有几个优点,如拥有较大的伸缩性和能根据网络路由来适应网络中断和故障。另 外,几乎无须手工配置路由表,因为路由器可以相互学到其他已有并且可用的路由器。这一特性也消除了由于人为错误而在路由表中引入错误的可能。然而,动态路 由也并不完美,其表现出来的缺点如相当复杂以及由于路由器通讯所带来的额外的网络开销,并不能使最终用户由此获益,并却一直消耗着网络带宽。 TCP 和 UDP4.2.4. TCP 是一个基于连接的协议,提供纠错并通过 流量控制 来传输数据。流量控制决定什么时间一个数据流需要停止,例如在出现诸如 冲突 等问题时重发先前发送的数据包,以确保完整和准确的数据传输。TCP 常用于重要信息的交换,如数据库传输。 另一方面,用户数据报协议 (UDP) 是一个 无连接 协议,很少用于重要数据的传输,因为缺乏流量控制或其他一些确保可靠数据传输的方法。UDP 常用在如音视频流这样的应用程序,由于它缺少纠错和流控,因此相对于 TCP 来说更快,而且丢失少量包通常也不会造成灾难性的後果。 ICMP4.2.5. 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 就是您管理您防火墙所需的全部。 IP 伪装4.3.2. IP 伪装的目的是为了允许您网络上那些有着私有的、不可路由的 IP 地址的机器可以通过做伪装的机器访问 Internet。来自您私有网络并要访问 Internet 的传输必须是可以操作的,也就是说回复要可以被路由回来以送到发出请求的机器上。要做到这一点,内核必须修改每个包 源 IP 地址以便回复能被路由回它这里,而不是发出请求的私有 IP 地址,因为它们对于 Internet 来说是不存在的。Linux 使用 Connection Tracking (conntrack) 来保持那个连接是属于哪个机器的,并相应地对每个返回包重新做路由。发自您私有网络的流量就这样被伪装成源于您的网关机器。这一过程在 Microsoft 文档中被称为 Internet 连接共享。 这可以用单条 iptables 规则来完成,也许基于您网络配置来说会有一些小的差异: sudo iptables -t nat -A POSTROUTING -s /16 -o ppp0 -j MASQUERADE上述命令假设您的私有地址空间是/16,您与 Internet 相连的设备是 ppp0。语法分解如下所示: o -t nat - 该规则将进入 nat 表 -A POSTROUTING - 该规则将被追加 (-A) 到 POSTROUTING 链 -s /16 - 该规则将被应用在源自指定地址空间的流量上 -o ppp0 - 该规则应用于计划通过指定网络设备的流量。 -j MASQUERADE - 匹配该规则的流量将如上所述 跳转 (-j) 到 MASQUERADE (伪装) 目标。 在过滤表 (缺省表,在那里有着大多数或全部包过滤指令) 中的每条链 (chain) 都有一个默认的 ACCEPT 策略,但如果您还在网关设备上设置防火墙,那么您也许还要设置 DROP 或 REJECT 策略,这时您被伪装过的流量还需要被 FORWARD 链 (chain) 中的规则允许才能正常工作: sudo iptables -A FORWARD -s /16 -o ppp0 -j ACCEPTsudo iptables -A FORWARD -d /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: 一个从本机发起的对 80 端口的请求将会在 dmesg 中生成一条日志,如下所示: . NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC= DST= LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0上面的日志也会出现在/var/log/messages、/var/log/syslog 和 /var/log/kern.log 中。这一过程可以通过适当编辑 /etc/syslog.conf 或安装配置 ulogd 并用 ULOG 代替 LOG 来进行改变。ulogd 守护程序是一种用户态服务器可以监听来自内核的防火墙日志指令,并且能够将其写到任何您希望的文件中,甚至是 PostgreSQL 或 MySQL 数据库。使用诸如 fwanalog、fwlogwatch 或 lire 日志分析工具将会很轻松地弄懂您的防火墙日志。 OpenSSH 服务器 介绍4.4.1. Ubuntu 服务器指南的这部分内容介绍一个强大的远程控制网络计算机和在它们之间传输数据的工具集 OpenSSH。您也可以学到一些 OpenSSH 服务器应用程序的配置以及如何在您 Ubuntu 系统修改它们。 OpenSSH 是Secure Shell (SSH) 协议工具集中的一个自由可用的版本,用以远程控制一台计算机或在计算机之间传输文件。完成这些功能的传统工具,如 telnet 或 rcp 等,是不安全的,它们在使用时用明文来传输用户的密码。OpenSSH 提供一个服务器守护程序和客户端工具来保障安全、加密的远程控制和文件传输操作,以有效地取代传统的工具。 OpenSSH 服务器组组件 sshd 持续监听来自任何客户端工具的连接请求。当一个连接请求发生时,sshd 根据客户端连接的类型来设置当前连接。例如,如果远程计算机是通过 ssh 客户端应用程序来连接的话,OpenSSH 服务器将在认证之後设置一个远程控制会话。如果一个远程用户通过 scp 来连接 OpenSSH 服务器,OpenSSH 服务器将在认证之後开始服务器和客户机之间的安全文件拷贝。OpenSSH 可以支持多种认证模式,包括纯密码、公钥以及Kerberos 票据。 安装4.4.2. OpenSSH 客户端及服务器应用程序的安装是简单的。要在您 Ubuntu 系统中安装 OpenSSH 客户端应用程序,可以在终端提示符後使用以下命令: sudo apt-get install openssh-client要安装 OpenSSH 服务器应用程序及相关的支持文件,可以在终端提示符後使用以下命令: sudo apt-get install openssh-server 配置4.4.3. 您可以通过编辑 /etc/ssh/sshd_config 文件来配置 OpenSSH 服务器应用程序的缺省过程。关于该文件中使用的配置语句信息,您可以在终端提示符後运行下列命令来查阅相应的手册页: man sshd_config在 sshd 配置文件中有许多语句来控制那些诸如通信设置和认证模式。下面是一个通过编辑 /etc/ssh/ssh_config 文件来改变配置语句的例子。 在编辑配置文件之前,您应该生成一个原始文件的拷贝并对其写保护,以便您可以参考原始文件并在必要时重用它。 拷贝 /etc/ssh/sshd_config 文件并对其写保护可以通过在终端提示符後运行下列命令: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.originalsudo chmod a-w /etc/ssh/sshd_config.original以下是您可能更改配置语句的范例: o 要设置您 OpenSSH 在 TCP 2222 端口而不是缺省的 TCP 20 端口监听,可以如下使用改变 Port 语句: Port 2222 o 要让 sshd 允许基于公钥登录证书,可以简单添加或修改该行语句: PubkeyAuthentication yes 到 /etc/ssh/sshd_config 文件中。如果已经存在,确保该行语句没有被注释。 o 要使您的 OpenSSH 服务器显示 /etc/ 文件的内容以作为预登录 Banner,只需简单地将下行添加或修改: Banner /etc/ 到 /etc/ssh/sshd_config 文件中即可。 在修改 /etc/ssh/sshd_config 文件之後,保存该文件并重启 sshd 服务器应用程序以使之生效。可以在终端提示符後使用下列命令: sudo /etc/init.d/ssh restart许多其他的 sshd 配置语句可以使服务器应用程序按您的要求运行。然而,给您一个忠告,如果您访问服务器的唯一方法就是使用 ssh,而且您在通过 /etc/ssh/sshd_config 文件来配置 sshd 时犯了一个错误,那么在重启该服务之後您可能会发现您被锁在服务器外面了,或者是 sshd 服务在处理一个不正确的配置语句时拒绝启用。因此当在远程服务器上编辑该文件时要格外的小心。 引用4.4.4. FTP 服务器 文件传输协议 (FTP) 是一个 TCP 协议,用于在计算机之间上传和下载文件。FTP 工作在客户端/服务器模式下。服务器组件被称为 FTP 守护程序。它持续不断地临听来自远程客户端的 FTP 请求。当一个请求到达时,它管理登录和建立连接。在整个会话期间它执行 FTP 客户端发送来的任何命令。 可以通过两种方式来管理 FTP 服务器的访问: o 匿名 授权 在匿名模式中,远程客户端可以使用 anonymous 或 ftp 缺省用户帐号并通过发送一个邮件地址做为密码来访问 FTP 服务器。在授权模式下一个用户必须拥有帐号和密码。用户所访问 FTP 服务器中目录和文件的权限是根据登录时所用帐号来定义的。一般来说,FTP 守护程序将隐藏在 FTP 服务器的根目录中并将其改到 FTP 家目录。这样就可以向远程传话隐藏文件系统的其他部分。 vsftpd - FTP 服务器安装4.5.1. vsftpd 是可在 Ubuntu 中使用的 FTP 守护程序之一。它在安装、设置和维护方面十分方便。要安装 vsftpd 您可以使用下列命令: sudo apt-get install vsftpd vsftpd - FTP 服务器配置4.5.2. 你可以编辑 vsftpd 配置文件,/etc/vsftpd.conf,来配置缺省设置。缺省状态下只允许匿名 FTP。如果您希望禁用该选项,您可以将下面这行: anonymous_enable=YES改为 anonymous_enable=NO 缺省状态下,本地系统用户是不允许登录 FTP 服务器的。要改变该设置,您可以将下面这行反注释: #local_enable=YES 缺省状态下,允许用户从 FTP 下载文件,但不允许他们上传文件到 FTP 服务器。为了能够上传文件到 FTP 服务器,需要改变该设置,您可以将下面这行反注释掉: #anon_upload_enable=YES 配置文件包括许多配置参数。关于配置文件中的每个参数的信息都可以得到,或者您可以参考手册页,man 5 vsftpd.conf 说明每个参数的细节。 一旦您配置好了 vsftpd 您就可以运行该守护程序了。您可以执行下列命令来运行vsftpd 守护进程: sudo /etc/init.d/vsftpd start 请注意在配置文件中缺省的设置主要是出于安全考虑。上面每一个改变都会使系统的安全性更小,所以请只在您需要时才改变他们。 网络文件系统 (NFS) NFS 允许系统将其目录和文件共享给网络上的其他系统。通过 NFS,用户和应用程序可以访问远程系统上的文件,就象它们是本地文件一样。 NFS 最值得注意的优点有: o 本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网络上的其他机器可以访问它。 不需要为用户在每台网络机器上放一个用户目录。用户目录可以在 NFS 服务器上设置并使其在整个网络上可用。 存储设备如软盘、光驱及 USB 设备可以被网络上其它机器使用。这可能可以减少网络上移动设备的数量。 安装4.6.1. 在终端提示符後键入以下命令安装 NFS 服务器: sudo apt-get install nfs-kernel-server 配置4.6.2. 您可以配置要输出的目录,您可以在 /etc/exports 文件中添加该目录。例如: /ubuntu *(ro,sync,no_root_squash)/home *(rw,sync,no_root_squash)您可以用主机名来代替 *。尽量指定主机名以便使那些不想其访问的系统访问 NFS 挂载的资源。 您可以在终端提示符後运行以下命令来启动 NFS 服务器: sudo /etc/init.d/nfs-kernel-server start NFS 客户端配置4.6.3. 使用 mount 命令来挂载其他机器共享的 NFS 目录。可以在终端提示符後输入以下类似的命令: sudo mount :/ubuntu /local/ubuntu挂载点 /local/ubuntu 目录必须已经存在。而且在 /local/ubuntu 目录中没有文件或子目录。 另一个挂载其他机器的 NFS 共享的方式就是在 /etc/fstab 文件中添加一行。该行必须指明 NFS 服务器的主机名、服务器输出的目录名以及挂载 NFS 共享的本机目录。 以下是在 /etc/fstab 中的常用语法: :/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr 引用4.6.4. 动态主机配置协议 (DHCP) 动态主机配置协议 (DHCP) 是一种网络服务,相对于手工为每台网络主机配置,它使网络主机可能自动被服务器指定设置。被配置成 DHCP 客户端的计算机并不能控制其从 DHCP 服务器得到的设置,且该配置对于计算机用户来说是透明的。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论