运维笔记:网络管理

一、网络基础模型与协议

1.1 OSI 七层模型

OSI(Open Systems Interconnection)七层模型是网络通信的理论框架,从下到上分别为:

  • 物理层:负责将二进制数据转换为电信号、光信号等物理信号在传输介质上传输,涉及网线、光纤、网卡等物理设备。
  • 数据链路层:建立和维护相邻节点间的数据链路,进行帧同步、差错控制和流量控制,常见协议有以太网(Ethernet)、PPP(Point-to-Point Protocol)。
  • 网络层:实现不同网络之间的数据包路由和转发,核心协议是 IP(Internet Protocol),此外还有 ICMP(Internet Control Message Protocol,用于网络诊断)、ARP(Address Resolution Protocol,将 IP 地址转换为 MAC 地址)。
  • 传输层:提供端到端的可靠数据传输,主要协议有 TCP(Transmission Control Protocol,面向连接、可靠传输)和 UDP(User Datagram Protocol,无连接、不可靠但传输效率高)。
  • 会话层:建立、管理和终止会话连接,如 RPC(Remote Procedure Call)协议。
  • 表示层:负责数据的格式转换、加密解密、压缩解压缩,如 JPEG、ASCII 等格式处理。
  • 应用层:为用户应用程序提供网络服务,常见协议有 HTTP、HTTPS、FTP、SMTP、DNS 等。

1.2 TCP/IP 协议栈

TCP/IP 协议栈是实际网络中广泛使用的协议集合,简化了 OSI 模型,分为四层:

  • 网络接口层:对应 OSI 的物理层和数据链路层。
  • 网络层:对应 OSI 的网络层,核心是 IP 协议。
  • 传输层:对应 OSI 的传输层,包含 TCP 和 UDP 协议。
  • 应用层:对应 OSI 的会话层、表示层和应用层,包含各类应用协议。

1.3 核心网络协议详解

  • IP 协议:IPv4 地址由 32 位二进制数组成,通常表示为四段十进制数(如 192.168.1.1),分为网络位和主机位,通过子网掩码确定。IPv6 地址为 128 位,采用冒分十六进制表示(如 2001:0db8:85a3:0000:0000:8a2e:0370:7334),解决了 IPv4 地址枯竭问题。
  • TCP 协议:通过三次握手建立连接(客户端发送 SYN -> 服务器回复 SYN+ACK -> 客户端发送 ACK),四次挥手释放连接(主动方发送 FIN -> 被动方回复 ACK -> 被动方发送 FIN -> 主动方回复 ACK),保证数据可靠传输,具有流量控制(滑动窗口)和拥塞控制机制。
  • UDP 协议:无连接,发送数据前不需要建立连接,传输速度快,但不保证数据到达,适用于实时性要求高的场景,如视频会议、语音通话、DNS 查询。
  • DNS 协议:将域名解析为 IP 地址,采用 UDP 协议,默认端口 53。DNS 服务器分为根服务器、顶级域名服务器、权威域名服务器和本地域名服务器,通过递归查询和迭代查询完成解析。

二、网络配置深度解析

2.1 Linux 网络配置文件详解

不同 Linux 发行版的网络配置文件位置和格式有所差异:

  • CentOS/RHEL 7 及以上:使用/etc/sysconfig/network-scripts/ifcfg-<接口名>配置网络接口,例如ifcfg-eth0:
TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static # 静态IP,dhcp表示动态获取

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eth0

UUID=xxxx-xxxx-xxxx-xxxx

DEVICE=eth0

ONBOOT=yes # 开机启动

IPADDR=192.168.1.100 # IP地址

PREFIX=24 # 子网掩码,等价于255.255.255.0

GATEWAY=192.168.1.1 # 网关

DNS1=114.114.114.114 # DNS服务器

DNS2=8.8.8.8

修改后需重启网络服务:systemctl restart network或nmcli connection reload。

  • Ubuntu/Debian:使用/etc/netplan/<配置文件名>.yaml(如01-netcfg.yaml),示例:
network:

version: 2

renderer: networkd

ethernets:

eth0:

dhcp4: no

addresses: [192.168.1.101/24]

gateway4: 192.168.1.1

nameservers:

addresses: [114.114.114.114, 8.8.8.8]

应用配置:netplan apply。

2.2 网络接口管理工具

  • ip 命令:Linux 下新一代网络管理命令,替代传统的ifconfig。
    • 查看网络接口信息:ip addr show或ip a。
    • 启用 / 禁用接口:ip link set eth0 up(启用)、ip link set eth0 down(禁用)。
    • 查看路由表:ip route show或ip r。
  • nmcli:NetworkManager 的命令行工具,用于管理网络连接。
    • 查看连接:nmcli connection show。
    • 启动 / 停止连接:nmcli connection up eth0-static、nmcli connection down eth0-static。

2.3 Windows Server 网络配置工具

  • 图形化配置:通过 “控制面板 \ 网络和 Internet\ 网络连接” 右键点击网络适配器,选择 “属性”,双击 “Internet 协议版本 4 (TCP/IPv4)” 进行 IP 地址、子网掩码、网关、DNS 的配置。
  • netsh 命令:命令行配置工具。
    • 查看接口配置:netsh interface ipv4 show addresses。
    • 设置 DNS:netsh interface ipv4 set dnsservers name="以太网" static 114.114.114.114 primary。
  • PowerShell 网络命令:Get-NetIPAddress查看 IP 地址;New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.1.201 -PrefixLength 24 -DefaultGateway 192.168.1.1设置 IP 地址。

三、高级网络服务配置

3.1 DNS 服务配置

  • BIND(Berkeley Internet Name Domain):Linux 下常用的 DNS 服务器软件。
$TTL 86400

@ IN SOA ns1.example.com. admin.example.com. (

2023010101 ; 序列号

3600 ; 刷新时间

1800 ; 重试时间

604800 ; 过期时间

86400 ; 最小TTL

)

@ IN NS ns1.example.com.

ns1 IN A 192.168.1.100

www IN A 192.168.1.101

mail IN A 192.168.1.102
    • 主配置文件:/etc/named.conf,定义监听端口、允许查询的客户端等。
    • 区域文件:存放域名与 IP 地址的映射关系,如正向区域文件/var/named/example.com.zone:
    • 启动服务:systemctl start named,设置开机自启:systemctl enable named。
  • Windows Server DNS 服务器:通过服务器管理器添加 “DNS 服务器” 角色,在 DNS 管理器中创建正向查找区域和反向查找区域,添加资源记录(A、AAAA、CNAME、MX 等)。MX 记录用于指定邮件服务器,如example.com的 MX 记录指向mail.example.com,优先级 10。

3.2 DHCP 服务配置

  • Linux DHCP 服务器(isc-dhcp-server)
subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.150 192.168.1.200; # 地址池

option routers 192.168.1.1; # 网关

option domain-name-servers 114.114.114.114, 8.8.8.8; # DNS服务器

option domain-name "example.com";

default-lease-time 600; # 默认租约时间(秒)

max-lease-time 7200; # 最大租约时间(秒)

}

host static-host { # 固定IP分配

hardware ethernet 00:11:22:33:44:55; # MAC地址

fixed-address 192.168.1.105;

}
    • 配置文件:/etc/dhcp/dhcpd.conf,示例:
    • 启动服务:systemctl start isc-dhcp-server,设置开机自启:systemctl enable isc-dhcp-server。
  • Windows Server DHCP 服务器:添加 “DHCP 服务器” 角色后,在 DHCP 管理器中创建作用域(指定 IP 地址范围、子网掩码、网关、DNS 等),激活作用域即可为客户端分配 IP 地址。可设置保留地址(根据 MAC 地址分配固定 IP)。

3.3 VPN 服务配置

  • OpenVPN:跨平台的 VPN 解决方案,基于 SSL/TLS 协议。
    • 服务器配置:生成证书和密钥,配置服务器端server.conf,指定端口(默认 1194)、协议(UDP/TCP)、子网、证书路径等。
    • 客户端配置:创建client.ovpn文件,包含服务器地址、端口、客户端证书和密钥等信息,导入 OpenVPN 客户端连接。
  • Windows Server VPN:支持 PPTP、L2TP/IPsec、SSTP 等 VPN 类型。通过 “路由和远程访问” 配置 VPN 服务器,设置 IP 地址分配方式(DHCP 或静态地址池),配置用户权限允许 VPN 连接。

四、防火墙与网络安全

4.1 Linux 防火墙深入配置

  • firewalld 高级规则
    • 区域管理:firewalld 通过区域管理规则,不同区域有不同的安全级别,如 public(公共区域)、internal(内部区域)。查看区域:firewall-cmd --get-zones;设置默认区域:firewall-cmd --set-default-zone=public。
    • 端口与服务:除了开放端口,还可开放服务(服务对应预定义的端口),如firewall-cmd --add-service=http --permanent开放 HTTP 服务(80 端口)。
    • 端口转发:firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.101:toport=8080 --permanent将本机 80 端口的 TCP 流量转发到 192.168.1.101 的 8080 端口。
    • 富规则:更复杂的规则配置,如firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" accept' --permanent允许 192.168.2.0 网段访问 22 端口。
  • iptables 规则链与表
    • 表:filter(默认,过滤数据包)、nat(网络地址转换)、mangle(修改数据包标记)、raw(关闭连接跟踪)。
    • 链:filter 表包含 INPUT(进入本机的数据包)、OUTPUT(本机发出的数据包)、FORWARD(转发的数据包)链。
    • 规则示例:
      • 允许 SSH 连接:iptables -A INPUT -p tcp --dport 22 -j ACCEPT。
      • 允许已建立的连接:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT。
      • 拒绝所有其他入站连接:iptables -A INPUT -j DROP。
      • NAT 转发:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE(将内网 IP 转换为外网 IP)。
    • 保存规则:iptables-save > /etc/iptables/rules.v4(Debian/Ubuntu);service iptables save(CentOS)。

4.2 Windows 防火墙高级配置

  • 入站 / 出站规则:在 “Windows 防火墙高级安全” 中,可创建自定义规则,基于程序、端口、预定义服务、协议和端口、自定义等条件,设置允许或阻止连接。
  • 高级安全设置:配置防火墙属性(如每个区域的防火墙状态、入站 / 出站连接默认行为),设置连接安全规则(如 IPsec 加密通信)。

4.3 网络流量控制与限速

  • Linux 流量控制(tc):用于限制网络接口的带宽、延迟等。
    • 限制 eth0 接口带宽为 1Mbps:tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms。
    • 对特定 IP 限速:结合 iptables 标记数据包,再用 tc 限制,如限制 192.168.1.200 的带宽为 512Kbps。
  • Windows 流量控制:通过 “组策略” 或第三方工具(如 NetLimiter)实现,组策略中可配置 “QoS 数据包计划程序” 设置应用程序的带宽限制。

五、网络故障排查高级技术

5.1 数据包捕获与分析

  • tcpdump 高级用法
    • 捕获特定协议数据包:tcpdump -i eth0 udp port 53(捕获 UDP 53 端口,即 DNS 数据包)。
    • 保存捕获的数据包:tcpdump -i eth0 -w capture.pcap(保存为 pcap 文件,用 Wireshark 分析)。
    • 读取保存的数据包:tcpdump -r capture.pcap。
  • Wireshark:图形化数据包分析工具,支持多种协议解析,可过滤特定协议、IP、端口的数据包,查看数据包详细内容(各层协议字段),是网络故障排查的强大工具。

5.2 路由故障排查

  • 路由追踪深度分析:traceroute(Linux)/tracert(Windows)显示数据包到达目标的路径,但可能因 ICMP 被过滤而显示 “*”。可使用mtr(Linux,结合 ping 和 traceroute 功能,实时显示各节点丢包率和延迟):mtr www.baidu.com
  • 路由表分析:通过ip route(Linux)或route print(Windows)查看路由表,确认是否有到达目标网络的有效路由,默认路由是否正确。

5.3 常见网络故障案例

  • IP 地址冲突:表现为网络时断时续,通过arp -a(Windows)或arp -n(Linux)查看 IP 与 MAC 地址对应关系,找到冲突的设备 MAC 地址,定位设备解决。
  • DNS 解析故障:无法通过域名访问网站,但可通过 IP 访问。检查 DNS 服务器配置(cat /etc/resolv.conf Linux;ipconfig /all Windows),用nslookup或dig测试 DNS 解析,如nslookup www.baidu.com返回 “无法解析”,可能是 DNS 服务器故障或域名不存在。
  • 端口不通:使用telnet或nc(netcat)测试端口连通性,telnet 192.168.1.100 80或nc -zv 192.168.1.100 80,不通可能是防火墙阻止或服务未启动。

5.4 网络性能测试

  • 带宽测试:iperf工具,分为服务器端和客户端。服务器端:iperf -s;客户端:iperf -c 192.168.1.100(测试与服务器的带宽),支持 TCP 和 UDP 测试。
  • 延迟测试:ping命令的-c(指定次数)、-s(指定数据包大小)参数,如ping -c 10 -s 1024 www.baidu.com(发送 10 个 1024 字节的数据包测试延迟)。

六、网络服务高可用

6.1 负载均衡配置

  • Nginx 负载均衡:作为反向代理实现 HTTP/HTTPS 负载均衡。
http {

upstream backend {

server 192.168.1.101:80 weight=3; # weight权重,值越高分配的请求越多

server 192.168.1.102:80;

server 192.168.1.103:80 backup; # 备份服务器,主服务器不可用时启用

}

server {

listen 80;

server_name www.example.com;

location / {

proxy_pass http://backend;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

}

}
  • HAProxy 负载均衡:支持 TCP 和 HTTP 负载均衡,性能优异,配置灵活。
global

log /dev/log local0

maxconn 4096

defaults

mode http

log global

retries 3

timeout connect 5000ms

timeout client 50000ms

timeout server 50000ms

frontend http_front

bind *:80

default_backend http_back

backend http_back

balance roundrobin # 轮询算法

server server1 192.168.1.101:80 check # check表示健康检查

server server2 192.168.1.102:80 check

6.2 高可用集群(Keepalived)

Keepalived 基于 VRRP(Virtual Router Redundancy Protocol)实现服务器高可用,通过虚拟 IP(VIP)漂移实现故障转移。

  • 主服务器配置(/etc/keepalived/keepalived.conf):
global_defs {

router_id LVS_MASTER

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 100 # 优先级,主服务器高于从服务器

advert_int 1 # 心跳间隔(秒)

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.200/24 # 虚拟IP

}

}
  • 从服务器配置类似,state设为BACKUP,priority设为 90。当主服务器故障,从服务器接管 VIP,保证服务不中断。

七、网络监控与管理工具

7.1 网络监控系统

  • Zabbix 网络监控:添加网络设备(路由器、交换机、服务器),通过 SNMP 协议监控设备接口流量、CPU 使用率、内存使用率等,创建触发器(如流量超过阈值告警),生成网络拓扑图。
  • Prometheus + Grafana 网络监控:使用node_exporter监控服务器网络指标,snmp_exporter监控网络设备,PromQL 查询指标,Grafana 创建网络流量、带宽使用率等仪表盘。

7.2 网络设备管理

  • SNMP(Simple Network Management Protocol):用于网络设备监控和管理,设备支持 SNMP 代理,管理端通过 SNMP 协议获取设备信息(如接口状态、流量)。常见 MIB(Management Information Base)库定义了可管理的对象。
  • Cisco 设备管理:通过 Telnet/SSH 登录 Cisco 路由器或交换机,使用命令配置(如enable进入特权模式,configure terminal进入全局配置模式,interface GigabitEthernet0/0配置接口,ip address 192.168.1.1 255.255.255.0设置 IP)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值