引言
计算机网络实验二是掌握网络服务与配置的重要实践环节。本实验旨在通过动手部署常用网络服务并配置相关网络属性,深化对计算机网络体系结构、服务模型及管理策略的理解。它不仅涉及理论知识的具体化,更是培养网络运维与开发初步能力的关键步骤。
实验目标
- 掌握在主流操作系统(如Windows Server或Linux)上安装与配置常用网络服务(如Web、FTP、DNS)的方法。
- 理解并熟练设置IP地址、子网掩码、默认网关、DNS服务器等核心网络属性。
- 学会使用网络诊断工具(如
ping,ipconfig/ifconfig,nslookup)验证服务与配置的正确性。 - 初步了解网络服务的安全配置基础,例如防火墙规则设置。
实验环境与准备
- 硬件:联网的计算机或虚拟机环境。
- 软件:Windows Server或CentOS/Ubuntu等Linux发行版操作系统。
- 预备知识:TCP/IP协议栈基础、客户端/服务器模型、基本命令行操作。
实验内容与步骤
第一部分:网络属性配置
- 查看当前配置:在命令行中输入
ipconfig(Windows) 或ifconfig/ip addr(Linux),记录初始的网络适配器信息。 - 手动配置静态IP:
- Windows:进入“网络和共享中心” -> “更改适配器设置” -> 右键选择网卡“属性” -> 双击“Internet协议版本4 (TCP/IPv4)”,手动指定IP地址、子网掩码、默认网关和首选DNS服务器。
- Linux:编辑网络配置文件(如
/etc/sysconfig/network-scripts/ifcfg-ens33或使用nmcli命令),设置BOOTPROTO=static,并配置IPADDR,NETMASK,GATEWAY,DNS1等参数,随后重启网络服务。
- 验证配置:再次使用
ipconfig或ifconfig确认配置生效,并使用ping命令测试与网关及外部网络(如8.8.8.8)的连通性。
第二部分:部署常用网络服务
A. Web服务(以Apache HTTP Server为例)
- 安装:
- Linux:
sudo yum install httpd(CentOS/RHEL) 或sudo apt install apache2(Ubuntu/Debian)。
- Windows: 通过“服务器管理器”添加“Web服务器(IIS)”角色。
- 配置:
- 放置默认网页(如
index.html)到网站根目录(Linux通常为/var/www/html/,IIS为C:\inetpub\wwwroot)。
- 了解并修改主要配置文件(Linux:
/etc/httpd/conf/httpd.conf; IIS: 通过管理器)。
- 启动与测试:启动服务(Linux:
sudo systemctl start httpd; IIS: 服务自动启动),确保防火墙允许80端口。在浏览器中输入本机IP地址,应能显示测试页面。
B. FTP服务(以vsftpd为例)
- 安装:Linux:
sudo yum install vsftpd或sudo apt install vsftpd。 - 基础配置:编辑配置文件
/etc/vsftpd/vsftpd.conf,可启用匿名访问(anonymous_enable=YES)或本地用户访问,并设置相关权限。 - 启动与测试:启动服务(
sudo systemctl start vsftpd),使用FTP客户端(如FileZilla)或命令行ftp连接本机IP,验证文件上传下载功能。
C. DNS服务(配置本地DNS解析,以Windows/Linux hosts文件为例)
- 编辑hosts文件:
- Windows:
C:\Windows\System32\drivers\etc\hosts
- Linux:
/etc/hosts
- 添加映射:在文件末尾添加一行,例如
192.168.1.100 mytestserver。 - 验证:在命令行中使用
ping mytestserver或nslookup mytestserver,检查是否解析为指定的IP地址。
实验与思考
通过本次实验,学员应能独立完成一个小型局域网内终端的基础网络环境搭建。关键收获包括:
- 理论与实践结合:将IP编址、子网划分、服务端口等理论应用于实际配置中。
- 服务管理能力:掌握了网络服务的安装、启动、停止、基本配置及排错流程。
- 问题诊断思维:当服务无法访问时,能够按照“本机配置->本地连通性->服务状态->防火墙策略->客户端配置”的层次进行排查。
进阶探索(面向网络开发与服务方向)
- 脚本化部署:尝试编写Shell脚本或PowerShell脚本,自动化完成上述服务和属性的配置。
- 安全加固:研究如何配置防火墙(如
firewalld、iptables或Windows防火墙)以仅开放必要的服务端口,禁用匿名FTP等不安全设置。 - 容器化服务:了解使用Docker容器快速部署Web(Nginx)、FTP等服务的优势与方法。
- 服务集成与开发:思考如何将自己编写的简单网络应用(如基于Python Flask的Web API)部署到已配置的Web服务器环境中。
通过完成本实验并深入后续探索,学习者将为从事网络管理、系统运维乃至网络应用开发打下坚实的实践基础。