Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2

一、网络基础查看命令

1. 查看网络信息

bash

运行

复制代码
# 查看网卡、IP、MAC地址(CentOS 7+ 主流)
ip a
# 传统命令,需安装 net-tools 包
ifconfig

案例 :执行 ip a,可看到本机网卡 ens33 的 IP 地址、网卡运行状态。

2. 主机名相关

bash

运行

复制代码
hostname                  # 查看当前主机名
hostnamectl set-hostname web01  # 永久修改主机名为 web01

3. 路由与端口查看

bash

运行

复制代码
netstat -r                # 查看系统路由表
netstat -antup            # 查看所有TCP/UDP端口、进程(需net-tools)
ss -antup                 # 高效替代netstat,查看端口连接

4. 网络连通性测试(ping)

基于ICMP 协议(网络层),测试网络是否互通 参数:

  • -c:指定发送数据包次数
  • -i:数据包发送间隔(秒)
  • -w:超时等待时间 案例

bash

运行

复制代码
ping -c 4 -i 1 www.baidu.com  # 发4个包,间隔1秒,测试外网连通性

二、DHCP 服务

1. 核心作用

自动为局域网内主机分发 IP 地址、子网掩码、网关、DNS ;支持 IP+MAC 地址绑定,固定分配 IP。

2. 基础信息

  • 传输协议:UDP
  • 端口:服务端 67,客户端 68

实操案例

内网主机设置 IP 获取方式为 DHCP,开机后自动获取网段 IP,无需手动配置。


三、FTP 文件共享服务

1. 基础端口

  • 控制端口(命令传输):21
  • 主动模式数据端口:20

2. 两种数据传输模式

  1. 主动模式 客户端通过 21 端口发送操作指令;服务端主动使用 20 端口连接客户端,传输数据。
  2. 被动模式(生产环境默认) 客户端通过 21 端口发指令;服务端随机开放高位端口,并告知客户端,客户端主动连接该端口传输数据。

3. 三类登录账户

  1. 匿名用户 账号:ftp / anonymous密码为空,仅能访问指定目录,权限受限。
  2. 本地用户 使用 Linux 系统/etc/passwd中的系统账号登录,权限跟随系统目录,安全性差,生产环境禁用
  3. 虚拟用户 独立账号体系,不创建系统实体用户,企业 FTP 主流使用方案。

实操案例

bash

运行

复制代码
ftp 192.168.1.100       # 连接FTP服务器
# 用户名输入 anonymous,密码直接回车,完成匿名登录

四、DNS 域名解析服务

1. 核心作用

实现 域名 ↔ IP 地址 相互解析,解析规则:从右向左逐层解析

2. 两种查询方式

  1. 递归查询 客户端仅发起一次请求,本地 DNS 服务器全权完成解析并返回结果;优先查询本机hosts文件 → 本地 DNS 缓存 → 公网 DNS。
  2. 迭代查询 本地 DNS 服务器逐层询问:根域服务器 → 一级域名服务器 → 二级域名服务器,逐级获取解析结果。

3. DNS 服务器类型

  • 缓存 DNS 服务器:仅缓存解析记录,无区域解析文件,加快解析速度。
  • 主域名服务器:存储本机区域解析配置文件,负责正式解析。
  • 从域名服务器(备域名服务器):同步主服务器解析数据,做冗余备份,分担压力。

4. 常用解析记录(核心)

表格

记录类型 作用 格式案例
A 正向解析:域名 → IPv4 地址 www.test.com A 192.168.1.20
AAAA 正向解析:域名 → IPv6 地址 www.test.com AAAA 2409:xxxx::1
CNAME 别名解析:域名指向另一个域名 bbs.test.com CNAME www.test.com
PTR 反向解析:IP 地址 → 域名 20.1.168.192.in-addr.arpa PTR www.test.com

故障案例

QQ 能登录、能 ping 通 IP,但浏览器打不开网页 → 本机 DNS 配置错误 ,修改 DNS 为114.114.114.1148.8.8.8即可修复。


五、远程连接服务 SSH

1. 基础概念

SSH 是加密远程连接协议telnethttpftp 均为明文传输,安全性远低于 SSH。

2. 两种加密方式

  1. 对称加密 加密、解密使用同一密钥,传输效率高,安全性偏低。
  2. 非对称加密 分为公钥、私钥一对密钥,加密解密使用不同密钥,安全性高,传输效率偏低。

3. SSH 完整通信流程

  1. 客户端与服务端建立 TCP 三次握手;
  2. 服务端将自身非对称加密公钥发送给客户端;
  3. 客户端生成随机对称加密密钥,用服务端公钥加密后发送;
  4. 服务端用自身私钥解密,获取对称密钥;
  5. 双方使用对称加密传输后续所有数据(兼顾安全与效率)。

4. OpenSSH 组件与配置文件

Linux 默认使用 OpenSSH,分为客户端、服务端:

  • 服务端程序:openssh-server
  • 客户端程序:openssh-clients
  • 配置文件统一路径:/etc/ssh/
    1. 客户端配置:ssh_config
    2. 服务端配置:sshd_config(后缀 d 代表守护进程 daemon)
核心配置项(案例)
  1. 服务端 sshd_config

bash

运行

复制代码
vi /etc/ssh/sshd_config
# 允许root账号远程登录
PermitRootLogin yes
# 修改配置后重启服务生效
systemctl restart sshd
  1. 客户端 ssh_config

bash

运行

复制代码
vi /etc/ssh/ssh_config
# StrictHostKeyChecking 控制首次连接指纹确认
# ask:默认,首次连接弹窗确认指纹;no:跳过指纹确认
StrictHostKeyChecking no

5. 基础远程连接 & 本地域名映射

(1)远程登录命令

语法:ssh -p 端口 用户名@IP地址

默认端口 22,可省略 -p 22 案例

bash

运行

复制代码
ssh root@192.168.91.140       # 使用默认22端口登录
ssh -p 2222 root@192.168.91.140  # 自定义端口2222登录
(2)本地主机名映射

配置文件:/etc/hosts 格式:IP地址 主机名 案例

bash

运行

复制代码
vi /etc/hosts
# 添加一行,实现域名简写登录
192.168.91.140  server01
# 之后可直接使用主机名登录
ssh root@server01

6. 远程复制 scp

基于 SSH 的远程文件复制命令,区别于普通cp,支持跨主机传输。 语法:scp -pr -P 端口 源路径 目标路径 参数说明:

  • -p:保留文件属性;-r:递归复制目录;-P(大写):指定端口

案例

bash

运行

复制代码
# 1. 本地文件 上传到 远程服务器
scp -pr /tmp/test.txt root@192.168.91.140:/tmp/

# 2. 远程文件 下载到 本地
scp -pr root@192.168.91.140:/tmp/test.txt ./

六、SSH 密钥免密登录(重点)

1. 密钥相关文件(用户家目录 .ssh 隐藏目录)

表格

文件 作用
id_rsa 私钥(本机保留,严禁泄露)
id_rsa.pub 公钥(分发到目标服务器)
known_hosts 存储已连接主机的指纹信息
authorized_keys 目标服务器认证文件:存放客户端公钥

核心逻辑:私钥匹配公钥,实现免密登录

2. 生成密钥对 ssh-keygen

用法 1:最简用法(全程回车,默认配置)

bash

运行

复制代码
ssh-keygen
# 自动在 ~/.ssh 生成 id_rsa、id_rsa.pub
用法 2:完整参数写法(考试 / 脚本常用)

bash

运行

复制代码
# -t:指定加密算法;-f:指定密钥路径/名称;-P "":密钥密码为空
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""

3. 推送公钥到目标服务器(两种方式)

方式 1:ssh-copy-id(自动推送,推荐)

bash

运行

复制代码
# 基础用法
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.140

# 结合sshpass,免交互输密码(脚本使用)
sshpass -p '1qaz!QAZ@' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no 192.168.91.140
方式 2:手动配置(理解原理)

操作环境:目标服务器

bash

运行

复制代码
# 1. 创建.ssh目录,权限必须700(SSH安全校验)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh

# 2. 创建认证文件,权限必须600
touch authorized_keys
chmod 600 authorized_keys

# 3. 将客户端公钥内容写入认证文件(可scp传公钥后写入)
cat id_rsa.pub > authorized_keys

4. 导出密钥(lrzsz 工具,Linux ↔ Windows 传输)

1)安装工具

bash

运行

复制代码
yum install -y lrzsz
2)sz 导出(Linux → Windows,下载文件)

bash

运行

复制代码
sz ~/.ssh/id_rsa        # 导出私钥到本地电脑
sz ~/.ssh/id_rsa.pub    # 导出公钥到本地电脑
3)rz 导入(Windows → Linux,上传文件)

bash

运行

复制代码
cd ~/.ssh
rz  # 弹窗选择本地密钥文件,完成上传

5. 验证免密登录

客户端 执行,无需输入密码直接登录即为成功

bash

运行

复制代码
ssh root@192.168.91.140

七、补充易错点总结

  1. 配置文件区分:ssh_config(客户端)、sshd_config(服务端);
  2. 端口区分:ssh -pscp -P(大写 P);
  3. 权限硬性要求:.ssh目录700authorized_keys文件600,权限错误免密直接失效;
  4. 明文 / 加密区分:SSH 加密传输,Telnet、FTP、HTTP 明文传输;
  5. 指纹作用:记录主机身份,首次连接弹窗确认,防止伪装服务器。
相关推荐
what_20181 小时前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
ManageEngine卓豪1 小时前
从性能故障到安全风险,现代企业数字化转型下的网络丢包运维管控指南
运维·网络安全·网络故障·网络丢包
2739920291 小时前
GDB调试(Linux)
linux
凡人叶枫2 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
不会C语言的男孩2 小时前
Linux 系统编程 · 第 4 章:文件属性与元数据
linux·c语言·开发语言
小生不才yz2 小时前
Shell脚本精读 · S02-03 | 词拆分、通配符与未加引号的变量
linux
2601_961845422 小时前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
A_humble_scholar2 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络
Urbano2 小时前
工装 T 恤、Polo 衫全生产工序、痛点解析及多品牌自动化设备应用方案
运维·自动化