CentOS网络配置与管理完全指南

CentOS网络配置与管理完全指南

1. 网络状态查看与诊断

1.1 ifconfig 命令(传统方式)

# 安装net-tools(CentOS 7/8默认可能未安装)

sudo yum install net-tools -y

# 基础查看命令

ifconfig # 显示所有接口的IP、MAC、收发包统计等完整信息

ifconfig eth0 # 查看eth0网卡的详细状态,包括:

# - RX/TX packets:收发包数量

# - errors/dropped:错误和丢包统计

# - MTU值:最大传输单元

# 控制接口状态

ifconfig eth0 up # 启用eth0接口

ifconfig eth0 down # 禁用eth0接口

1.2 ip 命令(现代推荐)

# 接口管理

ip addr # 等同于ip a,显示所有接口IPv4/IPv6地址

ip -c addr # 彩色显示更易读

ip -4 addr # 仅显示IPv4信息

ip addr show eth0 # 显示eth0详细配置,包括:

# - 接口状态(UP/DOWN)

# - MAC地址

# - IP地址和CIDR

# - 广播地址

# 链路控制

ip link set eth0 up # 启用eth0

ip link set eth0 down # 禁用eth0

ip link show # 显示所有网络接口的链路层信息

# 统计信息

ip -s link show eth0 # 显示eth0的详细统计信息:

# - RX/TX bytes:流量统计

# - errors:错误计数

# - dropped:丢包计数

1.3 路由管理

# 传统命令

route -n # 数字格式显示路由表,不解析主机名

# 输出包含:

# - Destination:目标网络

# - Gateway:网关

# - Genmask:网络掩码

# - Flags:路由标志

# - Metric:路由度量值

# 现代命令

ip route # 显示主路由表

ip route show table main # 明确指定主路由表

ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0 # 添加静态路由

ip route del 192.168.2.0/24 # 删除路由

# 策略路由

ip rule list # 显示路由策略

1.4 网络连接状态

# netstat(传统)

netstat -tulnp # 显示所有TCP/UDP监听端口和对应进程

# -t:TCP连接

# -u:UDP连接

# -l:监听状态

# -n:数字显示

# -p:显示进程PID和名称

# ss(推荐替代)

ss -tulnp # 更高效的系统套接字查看工具

ss -s # 显示汇总统计:

# - 总TCP连接数

# - 各种状态连接数

# - 内存使用情况

# 连接跟踪

ss -tan state established # 仅显示已建立的TCP连接

2. 静态IP配置详解

2.1 配置文件详解

# 配置文件路径(CentOS7)

/etc/sysconfig/network-scripts/ifcfg-eth0

# 完整配置示例

TYPE=Ethernet # 接口类型(Ethernet/Bond等)

PROXY_METHOD=none # 代理设置

BROWSER_ONLY=no

BOOTPROTO=static # 静态配置(可选:dhcp/none)

DEFROUTE=yes # 是否作为默认路由

IPV4_FAILURE_FATAL=no

IPV6INIT=yes # 是否初始化IPv6

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eth0 # 连接名称

UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # 唯一标识

DEVICE=eth0 # 物理设备名

ONBOOT=yes # 开机自动启动

IPADDR=192.168.1.100 # 静态IP地址

PREFIX=24 # 或使用NETMASK=255.255.255.0

GATEWAY=192.168.1.1 # 默认网关

DNS1=8.8.8.8 # 主DNS

DNS2=8.8.4.4 # 备DNS

DOMAIN=example.com # 搜索域

MTU=1500 # 可选MTU设置

2.2 服务重启与验证

# CentOS7服务管理

systemctl restart network # 重启网络服务

systemctl status network # 检查服务状态

# CentOS8 NetworkManager

nmcli connection reload # 重载配置文件

nmcli connection up eth0 # 激活eth0连接

# 验证配置

ip addr show eth0 # 确认IP配置

ping -c 4 192.168.1.1 # 测试网关连通性

ping -c 4 8.8.8.8 # 测试外网连通性

nslookup google.com # 测试DNS解析

3. NetworkManager高级管理

3.1 连接管理

# 查看所有连接

nmcli connection show # 显示所有配置的连接

# 输出包含:

# - 连接名称

# - UUID

# - 类型

# - 设备

# 查看设备状态

nmcli device status # 显示物理设备状态

# - connected:已连接

# - disconnected:未连接

# - unavailable:不可用

# 详细连接信息

nmcli connection show eth0 # 显示eth0连接的所有配置

3.2 连接配置示例

# 添加静态IP连接

nmcli connection add type ethernet \

con-name office-lan \

ifname eth0 \

ip4 192.168.10.50/24 \

gw4 192.168.10.1 \

ipv4.dns "8.8.8.8 8.8.4.4" \

ipv4.method manual

# 修改现有连接

nmcli connection modify office-lan \

ipv4.addresses "192.168.10.100/24" \

ipv4.gateway "192.168.10.1" \

ipv4.dns "192.168.10.2 8.8.8.8" \

connection.autoconnect yes

# 激活连接

nmcli connection up office-lan

4. DNS配置深度解析

4.1 配置文件架构

# 主配置文件

/etc/resolv.conf # 由NetworkManager动态管理

# 典型内容:

# nameserver 8.8.8.8

# search example.com

# NetworkManager配置

/etc/NetworkManager/NetworkManager.conf

# 控制DNS处理行为

# 关键参数:

# dns=none|default|systemd-resolved

# rc-manager=resolvconf|symlink|file

# 接口特定配置

/etc/sysconfig/network-scripts/ifcfg-eth0

# 可在接口文件中指定DNS

4.2 永久配置方法

# 方法1:通过NetworkManager

nmcli connection modify eth0 \

ipv4.dns "1.1.1.1 1.0.0.1" \

ipv4.dns-search "example.com"

nmcli connection up eth0

# 方法2:修改NetworkManager配置

echo "[main]" > /etc/NetworkManager/conf.d/dns.conf

echo "dns=none" >> /etc/NetworkManager/conf.d/dns.conf

systemctl restart NetworkManager

然后手动编辑/etc/resolv.conf

# 方法3:使用resolvconf(如有安装)

echo "nameserver 1.1.1.1" | resolvconf -a eth0

5. 防火墙高级配置

5.1 服务管理

# 服务控制

systemctl enable --now firewalld # 启用并立即启动

systemctl mask iptables # 禁用传统iptables

# 运行时状态

firewall-cmd --state # 查看运行状态

firewall-cmd --reload # 重载配置

firewall-cmd --complete-reload # 完全重启(会断开现有连接)

5.2 区域管理实战

# 查看默认区域

firewall-cmd --get-default-zone

# 创建新区域

firewall-cmd --permanent --new-zone=restricted

# 设置区域规则

firewall-cmd --zone=restricted --add-service=ssh

firewall-cmd --zone=restricted --add-port=8080/tcp

firewall-cmd --zone=restricted --add-source=192.168.2.0/24

# 应用区域到接口

firewall-cmd --zone=restricted --change-interface=eth1

6. 网络诊断高级技巧

6.1 连通性测试

# 基础测试

ping -c 4 -I eth0 8.8.8.8 # 指定源接口

ping -M do -s 1472 8.8.8.8 # 测试MTU路径

ping -6 google.com # IPv6测试

# 路由诊断

mtr -n 8.8.8.8 # 实时路由跟踪

traceroute -T -p 443 google.com # TCP方式跟踪

# 端口测试

nc -zv 192.168.1.1 22 # 测试TCP端口

nc -zvu 192.168.1.1 53 # 测试UDP端口

6.2 抓包分析

# 基础抓包

tcpdump -i eth0 -nn -w capture.pcap # 抓取原始数据包

tcpdump -i eth0 port 80 # 只抓HTTP流量

tcpdump -i eth0 host 192.168.1.100 # 特定主机流量

# 高级过滤

tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn'

tcpdump -i eth0 'icmp and src host 192.168.1.1'

# 流量分析

tshark -r capture.pcap -qz io,phs # 协议分层统计

7. 生产环境最佳实践

7.1 网络接口绑定

# 创建bond接口

nmcli connection add type bond con-name bond0 ifname bond0 \

mode active-backup miimon 100

# 添加从属接口

nmcli connection add type bond-slave ifname eth0 master bond0

nmcli connection add type bond-slave ifname eth1 master bond0

# 配置bond IP

nmcli connection modify bond0 \

ipv4.addresses '192.168.1.200/24' \

ipv4.gateway '192.168.1.1' \

ipv4.method manual

7.2 VLAN配置

# 创建VLAN接口

nmcli connection add type vlan \

con-name vlan10 \

ifname eth0.10 \

dev eth0 \

id 10 \

ip4 10.10.10.1/24 \

gw4 10.10.10.254

# 验证配置

ip -d link show eth0.10 # 查看VLAN详细信息

8. 网络性能优化

8.1 调优参数

# 查看当前设置

ethtool -k eth0 # 查看offload功能

ethtool -g eth0 # 查看环形缓冲区

# 优化建议配置

echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf

echo "net.core.wmem_max=4194304" >> /etc/sysctl.conf

echo "net.ipv4.tcp_keepalive_time=600" >> /etc/sysctl.conf

sysctl -p # 应用配置

# 接口特定优化

ethtool -C eth0 rx-usecs 100 tx-usecs 100

ethtool -G eth0 rx 4096 tx 4096

9. 网络监控与统计

9.1 实时监控工具

# 带宽监控

nload -m -i 102400 -o 102400 eth0 # 以MB为单位显示

iftop -nN -i eth0 # 按流量排序显示

# 连接监控

ss -s # 连接数统计

netstat -nat | awk '{print $6}' | sort | uniq -c # 按状态统计

# 高级统计

sar -n DEV 1 5 # 间隔1秒采样5次

vnstat -l -i eth0 # 实时流量监控

10. 故障处理流程

10.1 系统化排查步骤

物理层检查

ip link show eth0 确认接口状态ethtool eth0 检查链路协商检查网线、交换机端口

网络层验证

ping 127.0.0.1 验证本地协议栈ping <网关IP> 验证本地连接traceroute 8.8.8.8 验证路径

传输层测试

nc -zv 测试端口telnet 交互测试tcpdump -i eth0 port 抓包分析

应用层诊断

curl -v http://example.com 详细HTTP请求openssl s_client -connect example.com:443 SSL测试检查应用日志获取详细信息

相关内容

五大FIFA联赛规则要点解析帮助你全面了解足球赛事运作
365体育怎么打不开网址

五大FIFA联赛规则要点解析帮助你全面了解足球赛事运作

🕒 07-31 👁️ 7628
清清楚楚的意思、近义词、反义词、造句
365bet下载地址

清清楚楚的意思、近义词、反义词、造句

🕒 08-04 👁️ 4633
狗狗啃骨头可以啃多久
365体育怎么打不开网址

狗狗啃骨头可以啃多久

🕒 07-13 👁️ 6200