当前位置: 首页 > news >正文

Linux-网络管理

网络管理

      • 1. 网络基础
        • 1.1 TCP/IP 协议栈(四层模型)
        • 1.2 网络设备配置与基础概念
        • 1.3 网络接口命名规则
        • 1.4 网络配置文件位置
      • 2. 常用网络配置命令
        • 2.1 查看网络接口信息
        • 2.2 配置 IP 地址
        • 2.3 启用/禁用网卡
        • 2.4 修改网卡 MAC 地址
        • 2.5 配置网卡的 MTU(最大传输单元)
      • 3. 配置网络服务
        • 3.1 静态 IP 配置
          • Debian 系列
          • RHEL 系列
        • 3.2 动态 IP 配置(DHCP)
          • Debian 系列
          • RHEL 系列
      • 综合案例
        • 一、目标与思路
        • 二、操作步骤总览
        • 三、详细步骤与命令
          • 1. 配置网络接口(让服务器“有网可上”)
            • Debian / Ubuntu
            • RHEL / CentOS / Rocky
          • 2. 配置防火墙(只开 80/443)
            • 方案 A:iptables(一次性,重启后需 save)
            • 方案 B:firewalld(持久化)
          • 3. 加固 SSH(换端口 + 禁用 root 密码)
          • 4. 连通性测试
            • 4.1 测试上网
            • 4.2 查看路由路径
          • 5. 配置验证(确保真正生效)
        • 四、一键脚本
        • 五、常见故障排查表
      • 常见面试问题及答案
        • 问题 1:如何查看 Linux 系统中所有网络接口的配置信息?
        • 问题 2:如何为 Linux 系统中的网络接口配置静态 IP 地址?
        • 问题 3:如何测试 Linux 系统中网络的连通性?
        • 问题 4:如何查看 Linux 系统中网络接口的硬件信息?
        • 问题 5:如何在 Linux 系统中配置防火墙规则?
        • 问题 6:如何在 Linux 系统中配置 SSH 服务?
      • 网络诊断与监控
        • 4.1 查看网络连接状态
          • ① netstat(传统工具,net-tools 包)
          • ② ss(iproute2 套件,比 netstat 快且功能更多)
        • 4.2 测试网络连通性
          • ping(IPv4/IPv6 连通性测试)
        • 4.3 跟踪路由
          • traceroute
        • 4.4 DNS 查询
          • nslookup
          • dig
        • 4.5 捕获和分析网络流量
          • tcpdump
          • **一个实际案例整合知识**
        • 5. VLAN 子接口
        • 6. Bridge(网桥)
        • 7. Bond(链路聚合)
        • 8. Promiscuous Mode(混杂模式)
        • 9. 防火墙(iptables)
        • 10. SSH 服务加固
        • 11. DNS 解析
        • 12. 网卡硬件信息与性能调优
      • 拓展
        • 1、适用于家庭、工作室或小型企业的局域网构建
        • 2.VLAN划分
        • 3.VLAN 划分 + 端口 MAC-IP 绑定 + 静态 DHCP


1. 网络基础

1.1 TCP/IP 协议栈(四层模型)

TCP/IP 是互联网通信的基础,分为四层(从下往上):

  1. 链路层(Link Layer)

    • 负责物理设备间的通信(如以太网、Wi-Fi)。
    • 关键概念:MAC 地址(设备物理地址)、ARP 协议(通过 IP 找 MAC)。
  2. 网络层(Internet Layer)

    • 负责跨网络的数据传输,核心协议是 IP(如 IPv4/IPv6)。
    • 关键概念:IP 地址(逻辑地址)、子网掩码(划分网络范围)、路由(决定数据包路径)。
  3. 传输层(Transport Layer)

    • 提供端到端的通信,主要协议是 TCP(可靠连接)和 UDP(无连接)。
    • 关键概念:端口号(区分不同服务,如 HTTP=80,SSH=22)。
  4. 应用层(Application Layer)

    • 用户直接接触的协议,如 HTTP(网页)、FTP(文件传输)、DNS(域名解析)。

1.2 网络设备配置与基础概念

1. 路由器(Router)

  • 作用:连接不同网络,根据 路由表 决定数据包的下一跳。
  • 关键配置
    • 静态路由:手动指定路径(如 ip route 192.168.2.0 255.255.255.0 10.0.0.1)。
    • 动态路由:通过协议(如 OSPF、RIP)自动学习路径。

2. 交换机(Switch)

  • 作用:在局域网(LAN)内根据 MAC 地址 转发数据,避免广播风暴。
  • 关键配置
    • VLAN(虚拟局域网):将一个物理交换机逻辑划分为多个广播域。
      • 示例:将端口 1-10 划入 VLAN 10(财务部),端口 11-20 划入 VLAN 20(技术部)。
      • 命令(Cisco 交换机)
        vlan 10
        name Finance
        interface range fa0/1-10
        switchport mode access
        switchport access vlan 10
        

3. 子网划分(Subnetting)

  • 作用:将一个大的 IP 网络划分为多个小网络,减少广播流量,提高安全性。
  • 关键概念
    • 子网掩码:如 255.255.255.0(/24)表示前 24 位是网络号,后 8 位是主机号。
    • 示例
      • 公司需要 50 台主机,可分配 192.168.1.0/26(子网掩码 255.255.255.192),可用主机范围:
        192.168.1.1 ~ 192.168.1.62

1.3 网络接口命名规则

在 Linux 系统中,网络接口的命名规则如下:

  • 传统命名规则eth0eth1 等,通常用于较旧的系统。
  • 现代命名规则enp0s3enp2s0 等,这种命名方式更描述性,便于识别接口的物理位置。
1.4 网络配置文件位置
  • Debian 系列/etc/network/interfaces
  • RHEL 系列/etc/sysconfig/network-scripts/ifcfg-*

2. 常用网络配置命令

以下是 2. 常用网络配置命令 的参数列表及输出样例:

2.1 查看网络接口信息

ifconfig

  • 作用:显示网络接口的配置信息。
  • 参数
    • -a:显示所有网络接口的信息,包括未激活的接口。
    • -s:显示简要的网络接口信息。
  • 示例
    ifconfig
    
    输出样例
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255ether 00:11:22:33:44:55  txqueuelen 1000  (Ethernet)RX packets 123456  bytes 123456789 (117.7 MiB)TX packets 654321  bytes 987654321 (941.9 MiB)
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0loop  txqueuelen 1000  (Local Loopback)RX packets 1234  bytes 123456 (120.6 KiB)TX packets 1234  bytes 123456 (120.6 KiB)
    
  1. 接口名称和标志

    • eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
      • eth0:网络接口名称,表示以太网接口。
      • flags=4163<UP,BROADCAST,RUNNING,MULTICAST>
        • UP:接口已启用。
        • BROADCAST:支持广播功能。
        • RUNNING:接口正在运行。
        • MULTICAST:支持多播功能。
      • mtu 1500:最大传输单元(MTU)为 1500 字节。
  2. IPv4 配置

    • inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
      • inet:表示 IPv4 地址。
      • 192.168.1.100:接口的 IP 地址。
      • netmask 255.255.255.0:子网掩码。
      • broadcast 192.168.1.255:广播地址。
  3. MAC 地址和队列长度

    • ether 00:11:22:33:44:55 txqueuelen 1000 (Ethernet)
      • ether:表示以太网接口的 MAC 地址。
      • 00:11:22:33:44:55:接口的 MAC 地址。
      • txqueuelen 1000:发送队列长度。
      • (Ethernet):接口类型为以太网。
  4. 接收和发送统计

    • RX packets 123456 bytes 123456789 (117.7 MiB)
      • RX packets:接收的数据包数量。
      • bytes:接收的字节数。
      • (117.7 MiB):接收的字节数换算成兆字节。
    • TX packets 654321 bytes 987654321 (941.9 MiB)
      • TX packets:发送的数据包数量。
      • bytes:发送的字节数。
      • (941.9 MiB):发送的字节数换算成兆字节。
  5. 环回接口

    • lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
      • lo:环回接口(loopback)。
      • flags=73<UP,LOOPBACK,RUNNING>
        • UP:接口已启用。
        • LOOPBACK:环回接口。
        • RUNNING:接口正在运行。
      • mtu 65536:环回接口的 MTU 为 65536 字节。
    • inet 127.0.0.1 netmask 255.0.0.0
      • inet:环回接口的 IPv4 地址。
      • 127.0.0.1:环回地址。
      • netmask 255.0.0.0:子网掩码。
        ip
  • 作用:显示和操作路由、网络设备、接口等网络信息。
  • 参数
    • addra:显示或操作 IP 地址。
    • linkl:显示或操作网络设备。
    • router:显示或操作路由表。
  • 示例
    ip addr show
    
    输出样例
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ffinet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0valid_lft 86399sec preferred_lft 86399sec
    
  1. 接口索引和名称

    • 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
      • 1::接口索引号。
      • lo:接口名称,表示环回接口。
      • <LOOPBACK,UP,LOWER_UP>
        • LOOPBACK:环回接口。
        • UP:接口已启用。
        • LOWER_UP:接口处于低层活动状态。
      • mtu 65536:环回接口的 MTU 为 65536 字节。
      • qdisc noqueue:队列调度器类型为 noqueue
      • state UNKNOWN:接口状态未知。
      • group default:接口属于默认组。
      • qlen 1000:队列长度。
  2. 环回接口的链路信息

    • link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      • link/loopback:环回接口的链路类型。
      • 00:00:00:00:00:00:环回接口的 MAC 地址。
      • brd 00:00:00:00:00:00:广播地址。
  3. 环回接口的 IPv4 配置

    • inet 127.0.0.1/8 scope host lo
      • inet:表示 IPv4 地址。
      • 127.0.0.1/8:环回接口的 IP 地址和子网掩码(CIDR 表示法)。
      • scope host:地址作用范围为本地主机。
      • lo:所属接口名称。
    • valid_lft forever preferred_lft forever
      • valid_lft:地址的有效生命周期。
      • preferred_lft:地址的优先使用生命周期。
  4. 以太网接口

    • 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
      • 2::接口索引号。
      • eth0:接口名称,表示以太网接口。
      • <BROADCAST,MULTICAST,UP,LOWER_UP>
        • BROADCAST:支持广播功能。
        • MULTICAST:支持多播功能。
        • UP:接口已启用。
        • LOWER_UP:接口处于低层活动状态。
      • mtu 1500:接口的 MTU 为 1500 字节。
      • qdisc pfifo_fast:队列调度器类型为 pfifo_fast
      • state UP:接口状态为启用。
      • group default:接口属于默认组。
      • qlen 1000:队列长度。
  5. 以太网接口的链路信息

    • link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
      • link/ether:以太网接口的链路类型。
      • 00:11:22:33:44:55:接口的 MAC 地址。
      • brd ff:ff:ff:ff:ff:ff:广播地址。
  6. 以太网接口的 IPv4 配置

    • inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
      • inet:表示 IPv4 地址。
      • 192.168.1.100/24:接口的 IP 地址和子网掩码(CIDR 表示法)。
      • brd 192.168.1.255:广播地址。
      • scope global:地址作用范围为全局。
      • dynamic:地址是动态分配的。
      • eth0:所属接口名称。
    • valid_lft 86399sec preferred_lft 86399sec
      • valid_lft:地址的有效生命周期为 86399 秒。
      • preferred_lft:地址的优先使用生命周期为 86399 秒。
  • ifconfig 输出更简洁,适合快速查看网络接口的基本信息。
  • ip addr show 输出更详细,包含更多技术细节(如队列调度器类型、地址生命周期等),适合用于更复杂的网络配置和调试。
2.2 配置 IP 地址

ifconfig

  • 作用:配置网络接口的 IP 地址。
  • 参数
    • up:启用网络接口。
    • down:禁用网络接口。
    • hw ether:设置网络接口的 MAC 地址。
    • mtu:设置网络接口的 MTU(最大传输单元)。
  • 示例
    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    

ip

  • 作用:配置网络接口的 IP 地址。
  • 参数
    • add:添加 IP 地址。
    • del:删除 IP 地址。
  • 示例
    sudo ip addr add 192.168.1.100/24 dev eth0
    
2.3 启用/禁用网卡

ifconfig

  • 作用:启用或禁用网络接口。
  • 参数
    • up:启用网络接口。
    • down:禁用网络接口。
  • 示例
    sudo ifconfig eth0 up
    

ip

  • 作用:启用或禁用网络接口。
  • 参数
    • up:启用网络接口。
    • down:禁用网络接口。
  • 示例
    sudo ip link set eth0 up
    
2.4 修改网卡 MAC 地址

ifconfig

  • 作用:修改网络接口的 MAC 地址。
  • 参数
    • hw ether:设置网络接口的 MAC 地址。
  • 示例
    sudo ifconfig eth0 hw ether 00:11:22:33:44:55
    

ip

  • 作用:修改网络接口的 MAC 地址。
  • 参数
    • link set:设置网络接口的属性。
  • 示例
    sudo ip link set eth0 address 00:11:22:33:44:55
    
2.5 配置网卡的 MTU(最大传输单元)

ifconfig

  • 作用:配置网络接口的 MTU。
  • 参数
    • mtu:设置网络接口的 MTU。
  • 示例
    sudo ifconfig eth0 mtu 1500
    

ip

  • 作用:配置网络接口的 MTU。
  • 参数
    • mtu:设置网络接口的 MTU。
  • 示例
    sudo ip link set eth0 mtu 1500
    

以下是 ifconfigip 命令的参数对比表格:

功能/参数ifconfig 命令ip 命令
查看网络接口信息ifconfig
ifconfig -a
ip addr show
ip link show
启用网络接口ifconfig [interface] upip link set [interface] up
禁用网络接口ifconfig [interface] downip link set [interface] down
配置 IP 地址ifconfig [interface] [IP] netmask [MASK]ip addr add [IP]/[CIDR] dev [interface]
删除 IP 地址ifconfig [interface] del [IP]ip addr del [IP]/[CIDR] dev [interface]
修改 MAC 地址ifconfig [interface] hw ether [MAC]ip link set [interface] address [MAC]
配置 MTUifconfig [interface] mtu [MTU]ip link set [interface] mtu [MTU]
支持 IPv6需单独配置 IPv6 地址支持 IPv6 配置
高级功能支持不支持 VLAN、隧道、策略路由等支持 VLAN、隧道、策略路由等
  • ifconfig 是较传统的网络配置工具,功能相对简单,主要用于 IPv4 配置。
  • ip 命令功能更强大,支持 IPv4 和 IPv6,适用于现代复杂网络环境。

3. 配置网络服务

3.1 静态 IP 配置
Debian 系列
  • 文件位置/etc/network/interfaces
  • 示例
    auto eth0
    iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4
    
RHEL 系列
  • 文件位置/etc/sysconfig/network-scripts/ifcfg-eth0
  • 示例
    BOOTPROTO=static
    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
    
3.2 动态 IP 配置(DHCP)
Debian 系列
  • 文件位置/etc/network/interfaces
  • 示例
    auto eth0
    iface eth0 inet dhcp
    
RHEL 系列
  • 文件位置/etc/sysconfig/network-scripts/ifcfg-eth0
  • 示例
    BOOTPROTO=dhcp
    

综合案例

假设您需要为一个 Linux 服务器配置网络,使其能够访问外部网络,并且需要配置防火墙规则以允许 HTTP 和 HTTPS 流量,同时禁用 root 用户的 SSH 登录。

适用系统
• Debian 系列:Ubuntu 18/20/22、Debian 10/11/12
• RHEL 系列:CentOS 7/8、Rocky Linux 8/9、AlmaLinux 8/9


一、目标与思路

目标技术手段
服务器能上网静态 IP + 网关 + DNS
对外提供 Web防火墙放行 80/TCP、443/TCP
远程管理安全改 SSH 端口、禁止 root 密码登录
配置可验证ping、traceroute、ss、tcpdump

二、操作步骤总览

  1. 配置网络接口
  2. 配置防火墙
  3. 配置 SSH
  4. 连通性测试
  5. 配置验证

三、详细步骤与命令

1. 配置网络接口(让服务器“有网可上”)
Debian / Ubuntu
sudo vim /etc/network/interfaces

写入:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4

立即生效:

sudo ifdown eth0 && sudo ifup eth0
RHEL / CentOS / Rocky
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0

写入:

BOOTPROTO=static
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

重启网络:

sudo nmcli connection reload && sudo nmcli connection up eth0

2. 配置防火墙(只开 80/443)
方案 A:iptables(一次性,重启后需 save)
sudo iptables -A INPUT -p tcp --dport 80  -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4
方案 B:firewalld(持久化)
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

3. 加固 SSH(换端口 + 禁用 root 密码)

编辑配置文件:

sudo vim /etc/ssh/sshd_config

修改/新增:

Port 12345
PermitRootLogin no
PasswordAuthentication no

重启服务:

sudo systemctl restart sshd

⚠️ 在退出当前会话前,请先另开窗口验证能否密钥登录!


4. 连通性测试
4.1 测试上网
ping -c 4 8.8.8.8

期望输出:

4 packets transmitted, 4 received, 0% packet loss
4.2 查看路由路径
traceroute 8.8.8.8

确认数据包经过的网关及延迟正常。


5. 配置验证(确保真正生效)
检查项命令期望结果
本机监听端口sudo ss -tulnp80、443、12345 均出现
防火墙规则sudo iptables -L -nsudo firewall-cmd --list-all80/tcp、443/tcp 为 ACCEPT
实时抓包sudo tcpdump -i eth0 host 8.8.8.8 -c 5可见正常 ICMP 或 HTTP 流量

四、一键脚本

保存为 setup.sh,root 执行即可(需自行改接口名):

#!/bin/bash
set -e
# 1. 静态 IP
cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
BOOTPROTO=static
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
EOF
nmcli connection reload && nmcli connection up eth0# 2. 防火墙
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload# 3. SSH
sed -ri 's/^#?Port .*/Port 12345/' /etc/ssh/sshd_config
sed -ri 's/^#?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -ri 's/^#?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshdecho "Done. 请使用密钥登录测试!"

五、常见故障排查表

现象排查思路
ping 不通外网检查网关/掩码/DNS、路由表 ip r
80 端口拒绝ss -lntp 看 nginx/apache 是否启动;防火墙是否放行
SSH 连不上确认端口 telnet IP 12345;SELinux、云安全组是否放行新端口
DNS 解析慢换 DNS echo nameserver 1.1.1.1 > /etc/resolv.conf

常见面试问题及答案

问题 1:如何查看 Linux 系统中所有网络接口的配置信息?
  • 答案
    ifconfig
    
    ip addr show
    
问题 2:如何为 Linux 系统中的网络接口配置静态 IP 地址?
  • 答案
    对于 Debian 系列系统,编辑 /etc/network/interfaces 文件:
    auto eth0
    iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4
    
    对于 RHEL 系列系统,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:
    BOOTPROTO=static
    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
    
问题 3:如何测试 Linux 系统中网络的连通性?
  • 答案
    使用 ping 命令:
    ping -c 4 192.168.1.1
    
问题 4:如何查看 Linux 系统中网络接口的硬件信息?
  • 答案
    使用 lshw 命令:
    sudo lshw -C network
    
    或使用 ethtool 命令:
    sudo ethtool -i eth0
    
问题 5:如何在 Linux 系统中配置防火墙规则?
  • 答案
    使用 iptables 命令:
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
    或使用 firewalld 命令:
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --reload
    
问题 6:如何在 Linux 系统中配置 SSH 服务?
  • 答案
    编辑 /etc/ssh/sshd_config 文件:
    Port 12345
    PermitRootLogin no
    PasswordAuthentication no
    
    然后重启 SSH 服务:
    sudo systemctl restart sshd
    

网络诊断与监控

4.1 查看网络连接状态
① netstat(传统工具,net-tools 包)
常用组合含义
-a列出所有 socket(监听 + 已连接)
-n不做反向解析,IP 和端口都以数字显示
-t仅显示 TCP
-u仅显示 UDP
-p把拥有 socket 的进程 PID/名字也打印出来
-l只看处于 LISTEN 状态的 socket

示例 1:查看当前所有 TCP 监听端口(带进程名)

sudo netstat -lntp

真实输出

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State  PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN 1058/sshd
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN 1821/postgres
tcp6       0      0 :::80                   :::*                    LISTEN 1247/nginx

逐行解读

  • Proto:协议,tcptcp6
  • Recv-Q:LISTEN 状态下表示已完成三次握手、等待应用 accept 的半连接队列长度。
  • Send-Q:LISTEN 状态下表示半连接队列的最大容量。
  • Local Address:0.0.0.0:22 表示本机所有 IPv4 地址都监听 22 端口;127.0.0.1:5432 只监听回环。
  • State:LISTEN 表示正在等待连接。
  • PID/Program name:哪个进程占用了该 socket。

② ss(iproute2 套件,比 netstat 快且功能更多)
常用组合含义
-a所有 socket
-n不解析名称
-tTCP
-uUDP
-l仅监听
-p显示进程
-s打印统计摘要

示例 2:查看所有 UDP 监听端口(带进程号)

sudo ss -unlp

真实输出

State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
UNCONN 0      0          0.0.0.0:68        0.0.0.0:*      users:(("dhclient",pid=987,fd=6))
UNCONN 0      0          0.0.0.0:111       0.0.0.0:*      users:(("rpcbind",pid=680,fd=5))

逐行解读

  • State UNCONN:UDP 无连接,所以不是 LISTEN,而是“未连接”。
  • Local Address:Port 0.0.0.0:68:本机 68 端口(DHCP 客户端)。
  • users:进程 PID + 名字 + 文件描述符。

4.2 测试网络连通性
ping(IPv4/IPv6 连通性测试)
常用参数含义
-c N发送 N 个 ICMP Echo 后退出
-i S每 S 秒发送一次(默认 1s)
-s SIZEICMP 数据部分大小(默认 56 字节)
-W T等待响应的超时时间(秒)
-4 / -6强制 IPv4/IPv6

示例 3:向 8.8.8.8 发送 4 个包

ping -c 4 8.8.8.8

真实输出

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=28.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=27.9 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=28.1 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=27.8 ms--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 27.809/28.043/28.411/0.233 ms

逐行解读

  • 56(84) bytes:ICMP 数据 56 字节 + 8 字节 ICMP 头 + 20 字节 IP 头 = 84。
  • icmp_seq:第几个 Echo 请求。
  • ttl=117:剩余跳数(从 128 开始,128-117=11 跳)。
  • time=28.4 ms:往返时延。
  • 最后统计:发送 4 个,收到 4 个,丢包 0%,平均延迟 28.043 ms。

场景推荐命令
查看本机所有监听端口sudo ss -tulnp(或 netstat -tulnp
查某端口被谁占用sudo ss -lntp sport = :80
测试到外网通不通ping -c 4 8.8.8.8
查看路由ip r(取代 netstat -r

4.3 跟踪路由
traceroute
常用参数含义
-n不做 DNS 反查,直接显示 IP,速度更快
-mmax-hops,默认 30,可手动改小改大
-I用 ICMP Echo 而不是 UDP 数据包(穿透部分防火墙)
-T用 TCP SYN 探测(常用于 80/443)

示例

sudo traceroute -n -m 5 8.8.8.8

输出

traceroute to 8.8.8.8 (8.8.8.8), 5 hops max, 60 byte packets1  192.168.1.1    0.504 ms  0.458 ms  0.432 ms2  10.10.10.1     2.351 ms  2.123 ms  2.089 ms3  172.16.0.1     5.630 ms  5.487 ms  5.321 ms4  202.96.199.1   7.125 ms  7.012 ms  6.893 ms5  * * *

解读

  • 第 1 列:跳数编号。
  • 第 2 列:该跳的 IP(因 -n 没做 DNS)。
  • 后面 3 个时间:traceroute 默认发 3 个包,RTT 分别列出。
  • * * *:第 5 跳超时,可能 ICMP 被丢弃或 TTL 已到达目标但目标不回应。

4.4 DNS 查询
nslookup
交互式参数含义
-type=A / -type=MX / -type=TXT指定查询记录类型
-debug显示整个响应包内容

示例

nslookup -type=MX example.com

输出

Server:  8.8.8.8
Address: 8.8.8.8#53Non-authoritative answer:
example.com     mail exchanger = 10 mail.example.com.

解读

  • Server/Address:本机当前使用的 DNS 服务器。
  • Non-authoritative:非权威回答,说明来自缓存。
  • 10:MX 优先级,数字越小越优先。
  • mail.example.com:真正负责收邮件的主机。

dig
常用参数含义
+short仅显示结果,不显示 flags、headers
+trace逐级迭代查询,从根开始
+norecurse不请求递归,可测权威服务器
@8.8.8.8临时指定 DNS 服务器

示例 1:A 记录 + 简短输出

dig example.com A +short

输出:

93.184.216.34

示例 2:完整迭代追踪

dig example.com +trace

输出(截取关键行):

.            518400  IN  NS  a.root-servers.net.
;; Received 525 bytes from 127.0.0.53#53(127.0.0.53)
com.         172800  IN  NS  a.gtld-servers.net.
;; Received 828 bytes from 198.41.0.4#53(a.root-servers.net)
example.com. 172800  IN  NS  a.iana-servers.net.
;; Received 700 bytes from 192.5.6.30#53(a.gtld-servers.net)
example.com. 86400   IN  A   93.184.216.34

解读

  • 每段以 ;; 开头的是注释,告诉你“刚才向谁查到了什么”。
  • 从上到下,依次是:根 → TLD(.com) → 目标域的权威服务器 → 最终 A 记录。

4.5 捕获和分析网络流量
tcpdump
常用参数含义
-i any监听所有接口
-i eth0指定接口
-n不解析域名和端口名
-nn连端口号也不解析
-v / -vv / -vvv逐级增加详细度
-w file.pcap写入文件供 Wireshark 分析
-c 100抓 100 个包后自动停止
host 8.8.8.8只抓与 8.8.8.8 相关的流量
port 80只抓 80 端口

示例

sudo tcpdump -i eth0 -nn -c 3 host 8.8.8.8

输出

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
15:21:12.123456 IP 192.168.1.100.54321 > 8.8.8.8.53: UDP, length 64
15:21:12.124789 IP 8.8.8.8.53 > 192.168.1.100.54321: UDP, length 80
15:21:12.125012 IP 192.168.1.100.54322 > 8.8.8.8.53: UDP, length 64
3 packets captured

解读

  • 时间戳:微秒级。
  • 192.168.1.100.54321:源 IP.源端口。
  • 8.8.8.8.53:目的 IP.目的端口(53 即 DNS)。
  • UDP:协议,length 表示载荷字节数。

步骤/工具目的(一句话完整描述)
4.1 ① netstat通过列出所有监听端口、已建立连接及其所属进程信息,帮助管理员快速确认哪些服务正在运行、哪些端口被占用,是传统网络排查的入门级工具。
4.1 ② ss利用内核 netlink 接口高速输出套接字统计,比 netstat 更快速、更详细地展示 TCP/UDP/RAW 连接状态、队列长度和进程 PID,适用于高并发场景下的端口监控与故障定位。
4.2 ping发送 ICMP Echo 请求并统计往返时延和丢包率,用于验证本地到目标主机在 IPv4/IPv6 层的可达性以及链路质量,是最简单直观的网络连通性测试手段。
4.3 traceroute通过递增 TTL 逐跳发送探测包并记录每一跳返回的 ICMP 超时或端口不可达报文,从而绘制出完整的路由路径并发现潜在的高延迟或丢包节点。
4.4 nslookup以交互或命令行方式向指定 DNS 服务器查询各类记录(A、AAAA、MX、TXT 等),帮助管理员快速判断域名解析是否正确、权威 DNS 是否生效。
4.4 dig提供丰富的 DNS 诊断选项(+trace、+short、@server),可完整展示从根到权威服务器的迭代查询过程,精确定位解析故障、缓存污染或 TTL 问题。
4.5 tcpdump在网络接口上实时捕获并解码链路层到应用层的原始数据包,支持灵活过滤表达式,用于深度故障排查、性能分析与安全取证。

一个实际案例整合知识

场景:用户投诉无法访问互联网,如何排查?

  1. ping 测试

    ping 8.8.8.8
    
    • 如果 不通:可能是本地网络、路由器或 ISP 问题。
    • 如果 通但域名不通:可能是 DNS 问题(如 ping www.baidu.com 失败)。
  2. traceroute 定位

    traceroute 8.8.8.8
    
    • 如果卡在 第一跳(如 192.168.1.1):检查路由器是否故障。
    • 如果卡在 中间某跳:联系 ISP 报障。
  3. netstat 检查本机

    netstat -rn    # 查看路由表,确认是否有默认网关(如 0.0.0.0 -> 192.168.1.1)
    

总结

  • 协议栈:从下往上理解数据如何封装、传输、解封装。
  • 工具ping 测连通性、traceroute 追路径、netstat 看连接。
  • 设备与概念:路由器跨网络,交换机隔离冲突域,VLAN 隔离广播域,子网划分优化 IP 使用。

5. VLAN 子接口
  • What
    在一张物理网卡上虚拟出带 802.1Q tag 的子接口。
  • Why
    交换机 trunk 打 tag,服务器需要识别不同 VLAN。
  • When
    需要把一台服务器同时放进多个二层网段。
  • How
    # 1. 基于 eth0 创建 VLAN ID 100 的子接口 eth0.100
    sudo ip link add link eth0 name eth0.100 type vlan id 100# 2. 给子接口配置 IP
    sudo ip addr add 192.168.100.10/24 dev eth0.100# 3. 启用接口
    sudo ip link set eth0.100 up# 4. 验证 tag 与状态
    ip -d link show eth0.100
    

6. Bridge(网桥)
  • What
    把多张网卡变成一台虚拟交换机。
  • Why
    让虚拟机/容器直接出现在物理网络,或做简单二层转发。
  • When
    KVM、Docker、LXC 需要桥接;或把多端口当交换机用。
  • How
    # 1. 创建名为 br0 的网桥
    sudo ip link add br0 type bridge# 2. 把 eth0 塞进 br0
    sudo ip link set eth0 master br0# 3. 先启物理口再启桥
    sudo ip link set eth0 up
    sudo ip link set br0 up# 4. 验证端口归属与 STP 状态
    bridge -d link
    

7. Bond(链路聚合)
  • What
    把 ≥2 张物理网卡聚合成一个逻辑口。
  • Why
    冗余(active-backup)或带宽叠加(LACP)。
  • When
    交换机支持 LACP/静态聚合;或需要故障秒级切换。
  • How
    # 1. 创建 mode=1(active-backup) 的 bond0
    sudo ip link add bond0 type bond mode active-backup# 2. 先把从接口关掉,避免抖动
    sudo ip link set eth0 down
    sudo ip link set eth1 down# 3. 把从接口加入 bond
    sudo ip link set eth0 master bond0
    sudo ip link set eth1 master bond0# 4. 依次启接口
    sudo ip link set eth0 up
    sudo ip link set eth1 up
    sudo ip link set bond0 up# 5. 验证主备状态
    cat /proc/net/bonding/bond0
    

8. Promiscuous Mode(混杂模式)
  • What
    网卡不再按 MAC 过滤,全部收包。
  • Why
    抓包、IDS、网络虚拟化必备。
  • When
    tcpdump、Wireshark、Docker bridge、Open vSwitch。
  • How
    # 开启混杂
    sudo ip link set eth0 promisc on# 验证标志出现 PROMISC
    ip link show eth0
    

9. 防火墙(iptables)
  • What
    内核包过滤框架,四表五链。
  • Why
    最小权限原则:只让必要流量进出。
  • When
    任何对外暴露服务的主机;上线前。
  • How
    # 追加一条规则:放行入向 TCP/22
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 查看规则并带行号,方便删除
    sudo iptables -L INPUT -n --line-number
    

10. SSH 服务加固
  • What
    改端口、禁 root 密码、强制密钥。
  • Why
    减少爆破面,符合合规。
  • When
    公网云主机、生产跳板机。
  • How
    # 1. 先备份原配置
    sudo cp /etc/ssh/sshd_config{,.bak}# 2. 改端口为 2222(行内注释:-i 就地替换)
    sudo sed -ri 's/^#?Port.*/Port 2222/' /etc/ssh/sshd_config# 3. 禁止 root 用密码登录
    sudo sed -ri 's/^#?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config# 4. 重启生效
    sudo systemctl restart sshd# 5. 验证监听端口
    sudo ss -lntp | grep 2222
    

11. DNS 解析
  • What
    把域名解析成 IP。
  • Why
    系统需要外部域名;调试 CDN/内部 DNS。
  • When
    新装系统、临时科学上网、测试新 DNS。
  • How
    # 临时把 /etc/resolv.conf 改成 1.1.1.1
    echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf# 验证
    systemd-resolve --status | grep -A 3 "DNS Servers"
    

12. 网卡硬件信息与性能调优
  • What
    查看驱动/固件/PCI 地址,调 Ring Buffer。
  • Why
    定位兼容性、丢包、性能瓶颈。
  • When
    千兆跑不满、升级内核后。
  • How
    # 1. 查看驱动与固件
    sudo ethtool -i eth0# 2. 查看当前 Ring Buffer
    ethtool -g eth0# 3. 把 RX/TX 队列都调到 4096(需网卡支持)
    sudo ethtool -G eth0 rx 4096 tx 4096# 4. 验证已生效
    ethtool -g eth0 | grep -A2 "Current hardware settings"
    


拓展

1、适用于家庭、工作室或小型企业的局域网构建

✅ 一、硬件连线(一次到位)

  1. 光纤入户 → 光猫/宽带调制解调器
  2. 光猫 LAN 口 → 路由器 WAN 口(RJ-45 或 SFP)
  3. 路由器 LAN 口(任意)→ 交换机 Up-link(普通千兆口即可)
  4. 交换机剩余端口 → 电脑A、电脑B、打印机、NAS 等

示意图

外网光纤│
[光猫]---(WAN)[路由器](LAN)---[交换机]---{电脑A、电脑B、打印机、NAS}

✅ 二、路由器配置(打通外网)

以家用/小型商用路由器为例(华为/新华三/小米/网件通用):

  1. WAN 口设置
    • 上网方式:按 ISP 选择 PPPoE、动态 IP 或静态 IP
    • 填写账号/密码或 ISP 提供的静态地址
    NAT 开关保持启用,否则内网无法出网

  2. LAN 口设置
    • IP:192.168.1.1/24
    • DHCP:开;地址池 192.168.1.100-200(留给终端自动获取)
    • 网关和 DNS 自动指向 192.168.1.1(路由器自身)

  3. 保存并重启路由器


✅ 三、交换机配置(纯二层,零配置即可用)

• 若交换机为无管理型(D-Link/TP-Link 普通 8/16 口):
直接插线即可,所有端口默认 VLAN 1。

• 若交换机为可管理型(华为 S 系列、H3C、Cisco):

  1. 创建 VLAN 1(或自定义 VLAN 10)
  2. 把与路由器连接的口设为 access 并加入 VLAN 1
  3. 其余口保持默认 access 即可

示例(华为 CLI)

[Huawei] vlan 1
[Huawei]interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] port link-type access
[Huawei-GigabitEthernet0/0/1] port default vlan 1

至此交换机只做「透明转发」角色。


✅ 四、终端配置(全自动)

• 电脑/打印机/NAS 设置为 自动获取 IP(DHCP)
• 获取成功后:

  • IP:192.168.1.x
  • 网关:192.168.1.1
  • DNS:192.168.1.1 或 8.8.8.8

✅ 五、验证与排障

验证项目命令/操作通过标准
局域网互通ping 192.168.1.20% 丢包
外网连通ping 8.8.8.80% 丢包
DNS 解析nslookup www.baidu.com返回真实 IP
端口/速率电脑网卡状态显示 1 Gbps 全双工


2.VLAN划分

参考视频1

参考视频2

参考视频3

✅ 下面给出一个企业四部门真实 VLAN 划分的完整实操案例,华为交换机(eNSP、真机、云网管均支持)中运行。
场景:

  • 财务部(VLAN10)、人事部(VLAN20)、市场部(VLAN30)、研发部(VLAN40)
  • 交换机:华为 S5700 系列
  • 核心需求:
    ① 部门内可以互访 ② 部门间默认隔离 ③ 关键设备固定 IP
  • 所有终端网关统一在三层交换机,出网由路由器 NAT

✅ 步骤 1  规划表(先列后配)

部门VLAN ID网段/掩码网关端口范围固定 MAC/IP 示例
财务部10192.168.10.0/27192.168.10.1GE0/0/1-800e0-fc10-0001 → 192.168.10.4
人事部20192.168.20.0/27192.168.20.1GE0/0/9-1600e0-fc20-0002 → 192.168.20.5
市场部30192.168.30.0/27192.168.30.1GE0/0/17-2400e0-fc30-0003 → 192.168.30.6
研发部40192.168.40.0/27192.168.40.1GE1/0/1-800e0-fc40-0004 → 192.168.40.7

✅ 步骤 2  进入系统视图

<Huawei> system-view          # 进入系统视图
[Huawei] sysname Core-SW      # 给交换机起个名字
[Core-SW] undo info-center enable   # 关闭烦人的日志刷屏

✅ 步骤 3  创建 VLAN(四部门一次建完)

[Core-SW] vlan batch 10 20 30 40   # 同时新建 4 个 VLAN

✅ 步骤 4  把端口“丢”进对应 VLAN(以财务部为例,其余同理)

# 财务部端口 GE0/0/1-8
[Core-SW] port-group finance      # 建端口组,方便批量操作
[Core-SW-port-group-finance] group-member GigabitEthernet 0/0/1 to 0/0/8
[Core-SW-port-group-finance] port link-type access   # 设为接入端口
[Core-SW-port-group-finance] port default vlan 10    # 统一扔进 VLAN10
[Core-SW-port-group-finance] quit# 人事部端口 GE0/0/9-16
[Core-SW] port-group hr
[Core-SW-port-group-hr] group-member GigabitEthernet 0/0/9 to 0/0/16
[Core-SW-port-group-hr] port link-type access
[Core-SW-port-group-hr] port default vlan 20
[Core-SW-port-group-hr] quit# 市场部端口 GE0/0/17-24
[Core-SW] port-group market
[Core-SW-port-group-market] group-member GigabitEthernet 0/0/17 to 0/0/24
[Core-SW-port-group-market] port link-type access
[Core-SW-port-group-market] port default vlan 30
[Core-SW-port-group-market] quit# 研发部端口 GE1/0/1-8
[Core-SW] port-group rd
[Core-SW-port-group-rd] group-member GigabitEthernet 1/0/1 to 1/0/8
[Core-SW-port-group-rd] port link-type access
[Core-SW-port-group-rd] port default vlan 40
[Core-SW-port-group-rd] quit

✅ 步骤 5  三层网关 + DHCP 地址池(每 VLAN 一套)

# 先打开 DHCP 总开关
[Core-SW] dhcp enable# —— 财务部 ——
[Core-SW] interface Vlanif 10                # 进入 VLAN10 的三层接口
[Core-SW-Vlanif10] ip address 192.168.10.1 255.255.255.224  # 设置网关
[Core-SW-Vlanif10] dhcp select global        # 用全局地址池
[Core-SW-Vlanif10] quit[Core-SW] ip pool finance-pool               # 建 DHCP 地址池
[Core-SW-ip-pool-finance-pool] network 192.168.10.0 mask 255.255.255.224
[Core-SW-ip-pool-finance-pool] gateway-list 192.168.10.1
[Core-SW-ip-pool-finance-pool] dns-list 8.8.8.8 114.114.114.114
# 固定 IP(财务服务器)
[Core-SW-ip-pool-finance-pool] static-bind ip-address 192.168.10.4 mac-address 00e0-fc10-0001
[Core-SW-ip-pool-finance-pool] quit# —— 人事部 ——
[Core-SW] interface Vlanif 20
[Core-SW-Vlanif20] ip address 192.168.20.1 255.255.255.224
[Core-SW-Vlanif20] dhcp select global
[Core-SW-Vlanif20] quit[Core-SW] ip pool hr-pool
[Core-SW-ip-pool-hr-pool] network 192.168.20.0 mask 255.255.255.224
[Core-SW-ip-pool-hr-pool] gateway-list 192.168.20.1
[Core-SW-ip-pool-hr-pool] dns-list 8.8.8.8 114.114.114.114
[Core-SW-ip-pool-hr-pool] static-bind ip-address 192.168.20.5 mac-address 00e0-fc20-0002
[Core-SW-ip-pool-hr-pool] quit# —— 市场部 ——
[Core-SW] interface Vlanif 30
[Core-SW-Vlanif30] ip address 192.168.30.1 255.255.255.224
[Core-SW-Vlanif30] dhcp select global
[Core-SW-Vlanif30] quit[Core-SW] ip pool market-pool
[Core-SW-ip-pool-market-pool] network 192.168.30.0 mask 255.255.255.224
[Core-SW-ip-pool-market-pool] gateway-list 192.168.30.1
[Core-SW-ip-pool-market-pool] dns-list 8.8.8.8 114.114.114.114
[Core-SW-ip-pool-market-pool] static-bind ip-address 192.168.30.6 mac-address 00e0-fc30-0003
[Core-SW-ip-pool-market-pool] quit# —— 研发部 ——
[Core-SW] interface Vlanif 40
[Core-SW-Vlanif40] ip address 192.168.40.1 255.255.255.224
[Core-SW-Vlanif40] dhcp select global
[Core-SW-Vlanif40] quit[Core-SW] ip pool rd-pool
[Core-SW-ip-pool-rd-pool] network 192.168.40.0 mask 255.255.255.224
[Core-SW-ip-pool-rd-pool] gateway-list 192.168.40.1
[Core-SW-ip-pool-rd-pool] dns-list 8.8.8.8 114.114.114.114
[Core-SW-ip-pool-rd-pool] static-bind ip-address 192.168.40.7 mac-address 00e0-fc40-0004
[Core-SW-ip-pool-rd-pool] quit

✅ 步骤 6  上联出口(Trunk 到路由器)

[Core-SW] interface GigabitEthernet 0/0/25   # 接路由器的口
[Core-SW-GigabitEthernet0/0/25] port link-type trunk
[Core-SW-GigabitEthernet0/0/25] port trunk allow-pass vlan 10 20 30 40

✅ 步骤 7  路由器端(只做 NAT,不做 VLAN)
路由器子接口示例(华为 AR 系列):

[Router] interface GigabitEthernet 0/0/1.10   # 子接口对应 VLAN10
[Router-GigabitEthernet0/0/1.10] dot1q termination vid 10
[Router-GigabitEthernet0/0/1.10] ip address 192.168.10.254 255.255.255.224
[Router-GigabitEthernet0/0/1.10] nat outbound 2000   # 出网 NAT

同理再建 .20 .30 .40 子接口并做 NAT。


✅ 步骤 8  验证命令(逐条带注释)

display vlan                     # 查看 VLAN 列表与端口归属
display ip pool all              # 查看四个地址池分配情况
display dhcp server ip-in-use    # 看哪些 IP 已租出
display port vlan active         # 端口 → VLAN 对应表
ping 192.168.10.4 -c 3         # 财务服务器是否在线
tracert 8.8.8.8                # 能否出网

✅ 实现功能:

  • 同部门互 ping 成功,跨部门默认隔离
  • 所有终端自动获取 IP,固定设备永不漂移
  • 通过路由器子接口 + NAT,四 VLAN 都能上互联网


3.VLAN 划分 + 端口 MAC-IP 绑定 + 静态 DHCP

下面用 一台 H3C S5500-V3 三层交换机 作为示例,演示
“企业四部门 VLAN 划分 + 端口 MAC-IP 绑定 + 静态 DHCP”

🧩 场景需求

部门VLAN网段/掩码固定设备 MAC/IP 示例
财务部10192.168.10.0/2700e0-fc10-0001 → 192.168.10.100
人事部20192.168.20.0/2700e0-fc20-0002 → 192.168.20.100
市场部30192.168.30.0/2700e0-fc30-0003 → 192.168.30.100
研发部40192.168.40.0/2700e0-fc40-0004 → 192.168.40.100

✅ 1  进入系统视图

<H3C> system-view
[H3C] sysname Core-SW
[Core-SW] undo info-center enable      # 关闭日志刷屏

✅ 2  创建 VLAN & 三层网关

[Core-SW] vlan batch 10 20 30 40       # 一次建 4 个 VLAN# 财务 VLAN10
[Core-SW] interface Vlan-interface 10
[Core-SW-Vlan-interface10] ip address 192.168.10.1 255.255.255.224
[Core-SW-Vlan-interface10] dhcp select server   # 本接口用 DHCP 服务器
[Core-SW-Vlan-interface10] quit# 人事 VLAN20
[Core-SW] interface Vlan-interface 20
[Core-SW-Vlan-interface20] ip address 192.168.20.1 255.255.255.224
[Core-SW-Vlan-interface20] dhcp select server
[Core-SW-Vlan-interface20] quit# 市场 VLAN30
[Core-SW] interface Vlan-interface 30
[Core-SW-Vlan-interface30] ip address 192.168.30.1 255.255.255.224
[Core-SW-Vlan-interface30] dhcp select server
[Core-SW-Vlan-interface30] quit# 研发 VLAN40
[Core-SW] interface Vlan-interface 40
[Core-SW-Vlan-interface40] ip address 192.168.40.1 255.255.255.224
[Core-SW-Vlan-interface40] dhcp select server
[Core-SW-Vlan-interface40] quit

✅ 3  开 DHCP 总开关 & 排除保留段

[Core-SW] dhcp enable
# 把 .1~.99 留给网管/服务器,不参与自动分配
[Core-SW] dhcp server forbidden-ip 192.168.10.1 192.168.10.99
[Core-SW] dhcp server forbidden-ip 192.168.20.1 192.168.20.99
[Core-SW] dhcp server forbidden-ip 192.168.30.1 192.168.30.99
[Core-SW] dhcp server forbidden-ip 192.168.40.1 192.168.40.99

✅ 4  建 DHCP 地址池 + 静态绑定(以财务为例)

[Core-SW] dhcp server ip-pool finance-pool        # 建池
[Core-SW-dhcp-pool-finance-pool] network 192.168.10.0 255.255.255.224
[Core-SW-dhcp-pool-finance-pool] gateway-list 192.168.10.1
[Core-SW-dhcp-pool-finance-pool] dns-list 8.8.8.8 114.114.114.114
# 关键:把指定 MAC 固定到 192.168.10.100
[Core-SW-dhcp-pool-finance-pool] static-bind ip-address 192.168.10.100 hardware-address 00e0-fc10-0001
[Core-SW-dhcp-pool-finance-pool] quit

人事/市场/研发同理,只需改 VLAN 号、IP、MAC 即可。


✅ 5  端口 MAC-IP 绑定(防私接)

# 财务服务器专用端口 GE1/0/1
[Core-SW] interface GigabitEthernet 1/0/1
[Core-SW-GigabitEthernet1/0/1] port link-type access
[Core-SW-GigabitEthernet1/0/1] port access vlan 10
# 关键:只允许 00e0-fc10-0001 这个 MAC 上此口
[Core-SW-GigabitEthernet1/0/1] am user-bind mac-addr 00e0-fc10-0001 ip-addr 192.168.10.100
[Core-SW-GigabitEthernet1/0/1] quit

其他端口同理:人事 GE1/0/2、市场 GE1/0/3、研发 GE1/0/4。
命令模板:

am user-bind mac-addr <MAC> ip-addr <IP>

即可。


✅ 6  把端口批量扔进对应 VLAN(示例:财务口 1-8)

[Core-SW] interface range GigabitEthernet 1/0/1 to 1/0/8
[Core-SW-if-range] port link-type access
[Core-SW-if-range] port access vlan 10
[Core-SW-if-range] quit

人事 9-16 → vlan 20,市场 17-24 → vlan 30,研发 25-32 → vlan 40。


✅ 7  上联 Trunk(接防火墙/核心)

[Core-SW] interface GigabitEthernet 1/0/48
[Core-SW-GigabitEthernet1/0/48] port link-type trunk
[Core-SW-GigabitEthernet1/0/48] port trunk permit vlan 10 20 30 40

✅ 8  验证 & 排障

display dhcp server ip-in-use        # 查看已分配地址
display dhcp server pool all         # 查看四个地址池
display am user-bind interface GE 1/0/1  # 查看端口绑定
display vlan 10                      # 端口是否已进 VLAN10
ping 192.168.10.100 -c 3             # 财务服务器是否可达

✅ 9  一键保存

save force
http://www.lryc.cn/news/586894.html

相关文章:

  • iTestin 自动化录制工具
  • Kimi K2深度解析:开源万亿参数大模型,复杂场景能力强悍,为AI Agent而生!
  • Vision Kit之文档扫描
  • 【PyMuPDF】PDF图片处理过程内存优化分析
  • 论文Review 3DGSSLAM GauS-SLAM: Dense RGB-D SLAM with Gaussian Surfels
  • kettle从入门到精通 第102课 ETL之kettle xxl-job调度kettle的两种方式
  • 归并排序递归法和非递归法的简单简单介绍
  • 三种网络类型
  • X00211-基于残差edge-graph注意力机制的深度强化学习优化车辆路径问题
  • RedisJSON 技术揭秘(五)`JSON.ARRPOP` 原子弹出 修改数组的终极手段
  • 基于Java Web的销售管理系统设计系统
  • 操作系统--用户态和内核态
  • MongoDB对接SpringBoot【大数据存储】
  • ref 和 reactive
  • https交互原理
  • [Subtitle Edit] 字幕格式处理 | .Net依赖管理(NuGet)
  • Python----OpenCV(图像分割——彩色图像分割,GrabCut算法分割图像)
  • LeetCode--44.通配符匹配
  • Mybatis 两级缓存可能导致的问题
  • Java4种设计模式详解(单例模式、工厂模式、适配器模式、代理模式)
  • 笔记/sklearn中的数据划分方法
  • 赛力斯6月新能源汽车销量46086辆,同比增长4.44%
  • JavaScript加强篇——第九章 正则表达式高级应用(终)
  • Linux编程:6、进程通信-信号量与共享内存
  • OpenLayers 入门指南【二】:坐标系与投影转换
  • linux进程信号II
  • Node.js特训专栏-实战进阶:16. RBAC权限模型设计
  • 基于YOLOv7的改进模型:集成Swin Transformer和ASFF模块
  • 26-计组-数据通路
  • 【软件开发】使用 Spring WebFlux 进行请求校验