七天掌握Linux-第四天

47 阅读6分钟

Linux学习教程:第4天——熟悉Linux网络配置和服务管理的基本方法

一、目标概述

在第4天的学习中,我们的目标是熟悉Linux网络配置和服务管理的基本方法。这包括掌握静态IP和动态IP的配置方法,了解Linux服务的启动、停止和重启操作,学习使用systemctl等工具管理服务,以及配置和测试常见的网络服务(如SSH、HTTP等)。

二、详细学习内容

1. 网络配置方法

(1)静态IP配置

静态IP配置是指手动设置网络接口的IP地址、子网掩码、网关和DNS服务器等参数。在Linux系统中,静态IP配置通常通过编辑网络配置文件来实现。

  • 配置文件位置

    • 对于基于Debian的系统(如Ubuntu),网络配置文件通常位于/etc/network/interfaces
    • 对于基于Red Hat的系统(如CentOS、Fedora),网络配置文件通常位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<接口名>
  • 配置示例(以CentOS为例):

bash复制代码
	# 编辑ifcfg-eth0文件(假设网络接口名为eth0)

	vi /etc/sysconfig/network-scripts/ifcfg-eth0
plaintext复制代码
	TYPE="Ethernet"

	BOOTPROTO="none"

	NAME="eth0"

	DEVICE="eth0"

	ONBOOT="yes"

	IPADDR="192.168.1.100"  # 静态IP地址

	PREFIX="24"             # 子网掩码前缀长度(相当于255.255.255.0)

	GATEWAY="192.168.1.1"   # 默认网关

	DNS1="8.8.8.8"          # DNS服务器1

	DNS2="8.8.4.4"          # DNS服务器2

保存并退出编辑器后,重启网络服务使配置生效:

bash复制代码
	systemctl restart network

(2)动态IP配置

动态IP配置是指通过DHCP(动态主机配置协议)自动获取网络接口的IP地址等参数。在Linux系统中,动态IP配置通常也是通过编辑网络配置文件来实现的。

  • 配置文件位置:与静态IP配置相同。
  • 配置示例(以Ubuntu为例):
bash复制代码
	# 编辑interfaces文件

	vi /etc/network/interfaces
plaintext复制代码
	auto eth0

	iface eth0 inet dhcp

保存并退出编辑器后,重启网络服务使配置生效(对于Ubuntu,通常不需要手动重启网络服务,因为NetworkManager会自动处理):

bash复制代码
	systemctl restart networking  # 对于某些Ubuntu版本可能需要,但通常不需要

或者,使用dhclient命令直接获取DHCP分配的IP地址:

bash复制代码
	dhclient eth0
2. Linux服务管理

(1)服务的启动、停止和重启操作

在Linux系统中,服务(也称为守护进程)是在后台运行的程序,用于提供特定的功能或服务。系统管理员可以使用systemctlserviceinit.d脚本来管理服务。

  • 使用systemctl(适用于systemd管理的系统):
bash复制代码
	# 启动服务

	systemctl start <服务名>

	# 停止服务

	systemctl stop <服务名>

	# 重启服务

	systemctl restart <服务名>

	# 查看服务状态

	systemctl status <服务名>

	# 启用服务开机自启

	systemctl enable <服务名>

	# 禁用服务开机自启

	systemctl disable <服务名>
  • 使用service(适用于SysVinit管理的系统或systemd的兼容模式):
bash复制代码
	# 启动服务

	service <服务名> start

	# 停止服务

	service <服务名> stop

	# 重启服务

	service <服务名> restart

	# 查看服务状态(可能需要使用特定命令,如status或/etc/init.d/<服务名> status)
  • 使用init.d脚本(传统方法,适用于SysVinit管理的系统):
bash复制代码
	# 启动服务

	/etc/init.d/<服务名> start

	# 停止服务

	/etc/init.d/<服务名> stop

	# 重启服务

	/etc/init.d/<服务名> restart

	# 查看服务状态(可能需要使用status选项)

	/etc/init.d/<服务名> status

(2)常见服务管理命令示例

  • 启动SSH服务
bash复制代码
	systemctl start sshd  # 对于systemd管理的系统

	# 或者

	service sshd start    # 对于SysVinit管理的系统或systemd的兼容模式
  • 查看HTTP服务状态
bash复制代码
	systemctl status httpd  # 对于CentOS等使用httpd作为HTTP服务的系统

	# 或者

	systemctl status apache2  # 对于Ubuntu等使用apache2作为HTTP服务的系统
3. 配置和测试常见的网络服务

(1)SSH服务配置

SSH(Secure Shell)是一种加密的网络协议,用于远程登录和管理Linux系统。SSH服务的配置文件通常位于/etc/ssh/sshd_config

  • 编辑SSH配置文件
bash复制代码
	vi /etc/ssh/sshd_config
  • 常见配置项
plaintext复制代码
	Port 22  # SSH服务监听的端口号

	PermitRootLogin no  # 禁止root用户直接登录(建议设置为no以提高安全性)

	PasswordAuthentication yes  # 是否允许密码认证(也可以设置为no,仅使用密钥认证)
  • 重启SSH服务使配置生效
bash复制代码
	systemctl restart sshd
  • 测试SSH连接

在另一台计算机上,使用ssh命令测试连接:

bash复制代码
	ssh username@<服务器IP地址>

(2)HTTP服务配置

HTTP(HyperText Transfer Protocol)是一种用于传输超文本(如网页)的应用层协议。在Linux系统中,常见的HTTP服务器有Apache和Nginx。

  • Apache配置

    Apache的配置文件通常位于/etc/httpd/conf/httpd.conf(CentOS)或/etc/apache2/apache2.conf(Ubuntu)。

    • 安装Apache

      bash复制代码
      	yum install httpd  # 对于CentOS
      
      	# 或者
      
      	apt-get install apache2  # 对于Ubuntu
      
    • 启动Apache服务

      bash复制代码
      	systemctl start httpd  # 对于CentOS
      
      	# 或者
      
      	systemctl start apache2  # 对于Ubuntu
      
    • 配置默认网页

      将自定义的HTML文件放在/var/www/html/目录下(CentOS)或/var/www/html/(Ubuntu,但可能需要创建或修改权限)。

    • 测试HTTP服务

      在浏览器中访问<服务器IP地址>,或者使用curl命令测试:

      bash复制代码
      	curl http://<服务器IP地址>
      
  • Nginx配置

    Nginx是一个高性能的HTTP和反向代理服务器。

    • 安装Nginx

      bash复制代码
      	yum install nginx  # 对于CentOS
      
      	# 或者
      
      	apt-get install nginx  # 对于Ubuntu
      
    • 启动Nginx服务

      bash复制代码
      	systemctl start nginx
      
    • 配置默认网页

      将自定义的HTML文件放在/usr/share/nginx/html/目录下(通常这是Nginx的默认根目录)。

    • 测试Nginx服务

      与Apache相同,使用浏览器或curl命令测试。

三、总结与示例表格

示例表格:Linux网络配置和服务管理命令

类别命令/操作描述/用途
静态IP配置vi /etc/sysconfig/network-scripts/ifcfg-<接口名>编辑网络接口配置文件,设置静态IP地址等参数
systemctl restart network重启网络服务使配置生效(CentOS等)
动态IP配置vi /etc/network/interfaces编辑网络配置文件,设置接口为DHCP模式(Ubuntu等)
dhclient <接口名>使用dhclient命令获取DHCP分配的IP地址
服务管理systemctl start <服务名>启动服务
systemctl stop <服务名>停止服务
systemctl restart <服务名>重启服务
systemctl status <服务名>查看服务状态
systemctl enable <服务名>启用服务开机自启
systemctl disable <服务名>禁用服务开机自启