Appearance
第10章:网络配置与测试
10.1 查看网络信息
ip命令
- 功能:查看和配置网络接口信息
- 常用选项:
addr:查看网络接口地址link:查看网络接口状态route:查看路由表
- 示例:bash
$ ip addr # 查看所有网络接口的IP地址 $ ip link # 查看网络接口状态 $ ip route # 查看路由表
ifconfig命令
- 功能:查看和配置网络接口信息(较旧的命令)
- 示例:bash
$ ifconfig # 查看所有网络接口信息 $ ifconfig eth0 # 查看特定网络接口信息
hostname命令
- 功能:查看或设置主机名
- 示例:bash
$ hostname # 查看主机名 $ sudo hostname new-hostname # 设置主机名(临时)
/etc/hosts文件
- 功能:配置本地主机名与IP地址的映射
- 位置:
/etc/hosts - 示例内容:
127.0.0.1 localhost 127.0.1.1 myhostname
10.2 测试网络连通性
ping命令
- 功能:测试网络连通性
- 常用选项:
-c:指定发送的数据包数量-i:指定发送数据包的间隔时间-s:指定数据包大小
- 示例:bash
$ ping google.com # 测试与Google的连通性 $ ping -c 4 192.168.1.1 # 发送4个数据包测试
traceroute命令
- 功能:追踪数据包的路由路径
- 示例:bash
$ traceroute google.com # 追踪到Google的路由路径
mtr命令
- 功能:结合ping和traceroute的功能,提供更详细的网络质量信息
- 示例:bash
$ mtr google.com # 查看网络质量
10.3 查看端口占用
netstat命令
- 功能:查看网络连接、路由表、接口统计等
- 常用选项:
-t:显示TCP连接-u:显示UDP连接-l:显示监听状态的端口-n:以数字形式显示地址和端口-p:显示进程信息
- 示例:bash
$ netstat -tlnp # 查看所有监听的TCP端口 $ netstat -ulnp # 查看所有监听的UDP端口
ss命令
- 功能:查看网络连接(netstat的替代品,更高效)
- 常用选项:
-t:显示TCP连接-u:显示UDP连接-l:显示监听状态的端口-n:以数字形式显示地址和端口-p:显示进程信息
- 示例:bash
$ ss -tlnp # 查看所有监听的TCP端口 $ ss -ulnp # 查看所有监听的UDP端口
lsof命令
- 功能:查看文件打开情况,包括网络连接
- 示例:bash
$ lsof -i :80 # 查看80端口的使用情况 $ lsof -i tcp # 查看所有TCP连接
10.4 临时/永久配置IP地址
临时配置IP地址
使用ifconfig命令
- 格式:
sudo ifconfig 接口名 IP地址 netmask 子网掩码 - 示例:bash
$ sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
使用ip命令
- 格式:
sudo ip addr add IP地址/子网掩码 dev 接口名 - 示例:bash
$ sudo ip addr add 192.168.1.100/24 dev eth0
永久配置IP地址
Ubuntu/Debian系统
编辑网络配置文件:
bash$ sudo vim /etc/netplan/00-installer-config.yaml示例配置:
yamlnetwork: ethernets: eth0: addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] version: 2应用配置:
bash$ sudo netplan apply
CentOS/RHEL系统
编辑网络配置文件:
bash$ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0示例配置:
TYPE=Ethernet BOOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4重启网络服务:
bash$ sudo systemctl restart network
10.5 远程连接故障排查
常见问题
- 连接超时:网络不通或防火墙阻止
- 拒绝连接:服务未运行或端口未开放
- 权限被拒绝:用户名或密码错误
- 主机不存在:DNS解析问题或IP地址错误
排查步骤
检查网络连接:
bash$ ping 目标IP地址检查目标端口:
bash$ telnet 目标IP地址 端口号 $ nc -zv 目标IP地址 端口号检查本地网络配置:
bash$ ip addr $ ip route检查防火墙:
- Ubuntu/Debian:bash
$ sudo ufw status - CentOS/RHEL:bash
$ sudo firewall-cmd --list-all
- Ubuntu/Debian:
检查服务状态:
bash$ sudo systemctl status sshd检查日志:
bash$ sudo tail -f /var/log/auth.log # Ubuntu/Debian $ sudo tail -f /var/log/secure # CentOS/RHEL
实战练习:网络配置与测试
查看网络接口信息:
bash$ ip addr $ ifconfig测试网络连通性:
bash$ ping google.com $ ping -c 4 192.168.1.1查看路由表:
bash$ ip route查看端口占用:
bash$ netstat -tlnp $ ss -tlnp测试远程连接:
bash$ telnet localhost 22 $ nc -zv localhost 22临时配置IP地址:
bash$ sudo ifconfig eth0 192.168.1.200 netmask 255.255.255.0
通过学习网络配置与测试,你将能够排查网络问题,确保系统的网络连接正常,这对于服务器管理和远程操作非常重要。
