一、网络基础查看命令
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. 两种数据传输模式
- 主动模式 客户端通过 21 端口发送操作指令;服务端主动使用 20 端口连接客户端,传输数据。
- 被动模式(生产环境默认) 客户端通过 21 端口发指令;服务端随机开放高位端口,并告知客户端,客户端主动连接该端口传输数据。
3. 三类登录账户
- 匿名用户 账号:
ftp/anonymous,密码为空,仅能访问指定目录,权限受限。 - 本地用户 使用 Linux 系统
/etc/passwd中的系统账号登录,权限跟随系统目录,安全性差,生产环境禁用。 - 虚拟用户 独立账号体系,不创建系统实体用户,企业 FTP 主流使用方案。
实操案例
bash
运行
ftp 192.168.1.100 # 连接FTP服务器
# 用户名输入 anonymous,密码直接回车,完成匿名登录
四、DNS 域名解析服务
1. 核心作用
实现 域名 ↔ IP 地址 相互解析,解析规则:从右向左逐层解析。
2. 两种查询方式
- 递归查询 客户端仅发起一次请求,本地 DNS 服务器全权完成解析并返回结果;优先查询本机
hosts文件 → 本地 DNS 缓存 → 公网 DNS。 - 迭代查询 本地 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.114或8.8.8.8即可修复。
五、远程连接服务 SSH
1. 基础概念
SSH 是加密远程连接协议 ;telnet、http、ftp 均为明文传输,安全性远低于 SSH。
2. 两种加密方式
- 对称加密 加密、解密使用同一密钥,传输效率高,安全性偏低。
- 非对称加密 分为公钥、私钥一对密钥,加密解密使用不同密钥,安全性高,传输效率偏低。
3. SSH 完整通信流程
- 客户端与服务端建立 TCP 三次握手;
- 服务端将自身非对称加密公钥发送给客户端;
- 客户端生成随机对称加密密钥,用服务端公钥加密后发送;
- 服务端用自身私钥解密,获取对称密钥;
- 双方使用对称加密传输后续所有数据(兼顾安全与效率)。
4. OpenSSH 组件与配置文件
Linux 默认使用 OpenSSH,分为客户端、服务端:
- 服务端程序:
openssh-server - 客户端程序:
openssh-clients - 配置文件统一路径:
/etc/ssh/- 客户端配置:
ssh_config - 服务端配置:
sshd_config(后缀d代表守护进程 daemon)
- 客户端配置:
核心配置项(案例)
- 服务端
sshd_config
bash
运行
vi /etc/ssh/sshd_config
# 允许root账号远程登录
PermitRootLogin yes
# 修改配置后重启服务生效
systemctl restart sshd
- 客户端
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
七、补充易错点总结
- 配置文件区分:
ssh_config(客户端)、sshd_config(服务端); - 端口区分:
ssh -p、scp -P(大写 P); - 权限硬性要求:
.ssh目录700,authorized_keys文件600,权限错误免密直接失效; - 明文 / 加密区分:SSH 加密传输,Telnet、FTP、HTTP 明文传输;
- 指纹作用:记录主机身份,首次连接弹窗确认,防止伪装服务器。