LFCE:安装网络服务并配置启动时自动启动 - 第 1 部分
Linux 基金会认证工程师( LFCE )准备在 Linux 系统中安装、配置、管理和排除网络故障,并负责系统架构的设计和实施。
介绍Linux基金会认证计划。
在这个由 12 篇文章组成的系列文章中,标题为“准备LFCE(Linux 基金会认证工程师)考试”,我们将介绍 Ubuntu、CentOS 和 openSUSE 所需的领域和能力:
安装网络服务
当设置和使用任何类型的网络服务时,很难想象 Linux 无法参与其中。在本文中,我们将展示如何在 Linux 中安装以下网络服务(每种配置将在后续的单独文章中介绍):
- NFS(网络文件系统)服务器
- Apache Web 服务器
- Squid 代理服务器 + SquidGuard
- 电子邮件服务器(Postfix + Dovecot)
- iptables 目录
此外,我们希望确保所有这些服务都能在启动时或按需自动启动。
我们必须注意,即使您可以在同一台物理机器或虚拟专用服务器上运行所有这些网络服务,网络安全的首要所谓“规则”之一也告诉系统管理员尽可能避免这样做。支持这一说法的判断是什么?答案很简单:如果由于某种原因,运行多个网络服务的机器中的网络服务受到损害,那么攻击者也可以相对轻松地损害其余网络服务。
现在,如果您确实需要在同一台机器上安装多个网络服务(例如,在测试实验室中),请确保仅启用在特定时刻需要的服务,然后在稍后禁用它们。
在开始之前,我们需要澄清的是,本文(以及LFCS和LFCE系列中的其他文章)侧重于基于绩效的视角,因此无法检查所涵盖主题的每个理论细节。但是,我们将以必要的信息作为起点来介绍每个主题。
为了使用以下网络服务,您需要暂时禁用防火墙,直到我们了解如何允许相应的流量通过防火墙。
请注意,我们不建议将其用于生产设置,但我们这样做仅用于学习目的。
在默认的 Ubuntu 安装中,防火墙不应处于活动状态。在 openSUSE 和 CentOS 中,您需要明确禁用它:
# systemctl stop firewalld # systemctl disable firewalld or # or systemctl mask firewalld
话虽如此,让我们开始吧!
安装 NFSv4 服务器
NFS本身是一种网络协议,其最新版本是NFSv4。这是我们将在整个系列中使用的版本。
NFS 服务器是一种传统的解决方案,它允许远程 Linux 客户端通过网络挂载其共享并与这些文件系统交互,就像它们是本地挂载的一样,从而允许集中网络的存储资源。
在 CentOS 上
# yum update && yum install nfs-utils
在 Ubuntu 上
# aptitude update && aptitude install nfs-kernel-server
在 OpenSUSE 上
# zypper refresh && zypper install nfsserver
有关更详细的说明,请阅读我们的文章,了解如何在 Linux 系统上配置 NFS 服务器和客户端。
安装 Apache Web 服务器
Apache Web服务器是 HTTP 服务器的强大且可靠的 FOSS 实现。截至 2014 年 10 月底,Apache 为 3.85 亿个网站提供支持,占据37.45%的市场份额。您可以使用 Apache 在一台机器上为独立网站或多个虚拟主机提供服务。
# yum update && yum install httpd [On CentOS] # aptitude update && aptitude install apache2 [On Ubuntu] # zypper refresh && zypper install apache2 [On openSUSE]
有关更详细的说明,请阅读我们的以下文章,其中介绍了如何创建基于 IP 和基于名称的 Apache 虚拟主机以及如何保护 Apache Web 服务器。
安装 Squid 和 SquidGuard
Squid是一个代理服务器和 Web 缓存守护程序,因此,它充当多台客户端计算机和 Internet(或连接到 Internet 的路由器)之间的中介,同时通过缓存 Web 内容和同时进行 DNS 解析来加速频繁请求。它还可用于根据网段或基于禁用关键字拒绝(或允许)对某些 URL 的访问,并根据每个用户保存与外界建立的所有连接的日志文件。
Squidguard 是一个重定向器,它通过实现黑名单来增强 squid,并与其无缝集成。
# yum update && yum install squid squidGuard [On CentOS] # aptitude update && aptitude install squid3 squidguard [On Ubuntu] # zypper refresh && zypper install squid squidGuard [On openSUSE]
安装 Postfix 和 Dovecot
Postfix是一个邮件传输代理 (MTA)。它是负责将电子邮件从源服务器路由和传递到目标邮件服务器的应用程序,而 dovecot 是一个广泛使用的 IMAP 和 POP3 电子邮件服务器,它从 MTA 获取消息并将其传递到正确的用户邮箱。
还提供适用于多种关系数据库管理系统的 Dovecot 插件。
# yum update && yum install postfix dovecot [On CentOS] # aptitude update && aptitude postfix dovecot-imapd dovecot-pop3d [On Ubuntu] # zypper refresh && zypper postfix dovecot [On openSUSE]
关于 Iptables
简而言之,防火墙是一种网络资源,用于管理对私有网络的访问或来自私有网络的访问,并根据某些规则重定向传入和传出的流量。
Iptables是 Linux 中默认安装的工具,作为 netfilter 内核模块的前端,最终负责实现防火墙来执行数据包过滤/重定向和网络地址转换功能。
由于 iptables 默认安装在 Linux 中,因此您只需确保它确实在运行。为此,我们应该检查 iptables 模块是否已加载:
# lsmod | grep ip_tables
如果上述命令没有返回任何内容,则表示ip_tables模块尚未加载。在这种情况下,请运行以下命令来加载该模块。
# modprobe -a ip_tables
配置开机自动启动服务
正如管理系统启动过程和服务(关于LFCS认证的 10 篇文章系列的第 7 部分)中所述,Linux 中有多个系统和服务管理器可用。无论您选择哪种,您都需要知道如何按需启动、停止和重新启动网络服务,以及如何使它们在启动时自动启动。
您可以通过运行以下命令来检查您的系统和服务管理器:
# ps --pid 1
根据上述命令的输出,您将使用以下命令之一来配置每个服务是否应在启动时自动启动:
在基于 systemd 的
----------- Enable Service to Start at Boot ----------- # systemctl enable [service]
----------- Prevent Service from Starting at Boot ----------- # systemctl disable [service] # prevent [service] from starting at boot
基于 sysvinit
----------- Start Service at Boot in Runlevels A and B ----------- # chkconfig --level AB [service] on
----------- Don’t Start Service at boot in Runlevels C and D ----------- # chkconfig --level CD service off
在新贵的基础上
确保/etc/init/[service].conf脚本存在且包含最小配置,例如:
# When to start the service start on runlevel [2345] # When to stop the service stop on runlevel [016] # Automatically restart process in case of crash respawn # Specify the process/command (add arguments if needed) to run exec /absolute/path/to/network/service/binary arg1 arg2
您可能还想查看LFCS 系列的第 7 部分(我们在本节开头刚刚提到),以了解其他有用的命令来按需管理网络服务。
概括
现在您应该已经安装了本文中描述的所有网络服务,并且可能以默认配置运行。在后续文章中,我们将探讨如何根据我们的需求配置它们,因此请务必继续关注!请随时使用下面的表格分享您对本文的评论(或发布问题,如果您有任何疑问)。