ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

IP地址与MAC地址的区别、转发机制及Linux网络排障实战

IP地址与MAC地址的区别、转发机制及Linux网络排障实战 1. 先理清一个根上的问题IP地址和MAC地址到底在解决什么事干网络这行被问得最多的问题里一定有一个是为什么一台电脑既要有IP地址又要有MAC地址不能只用一个吗我先直接给结论IP地址解决的是你身在哪个网络的问题MAC地址解决的是你这块网卡到底是谁的问题。这俩一个是位置信息一个是身份信息。你搬家了身份证号不变但住址变了——MAC地址就是身份证号IP地址就是住址。这么一类比你应该立马明白为什么设计网络的人当初要搞出两套地址体系。实际工作中凡是涉及网络排障、设备部署、路由器配置的活儿你绕不开三个东西IP协议的工作原理、MAC地址的转发机制、以及Linux上最常用的网卡观测命令ip addr。这篇就把这三件事串起来讲重点放在你真正用得上的部分不堆砌教科书概念。先说一个我观察到的普遍现象。很多刚入行的朋友能在纸上算出子网掩码能背出A/B/C类地址范围但真正拿到一台服务器让他解释ip addr输出里每一行的含义或者让他说清楚PC访问另一个网段的服务器时MAC地址到底是怎么变的就开始含糊了。这很要命。因为网络排障的本质上就是翻译现场——你得能从设备的地址信息里读懂网络当前的状态。所以这篇我打算按这个路径走先把IP地址划分的逻辑用最直白的方式讲透再讲MAC地址在转发里的真实作用然后带你把ip addr命令的每一段输出彻底啃下来最后用GNS3搭个双路由拓扑把ARP报文转发过程抓出来亲眼看看。看完你能干两件事一是看ip addr输出就能判断网卡状态和地址规划二是对数据包到达路由器之后发生了什么心里有数。2. IPv4地址划分别再死记硬背ABC类了CIDR才是你的日常2.1 32位拆开看网络位决定你在哪个小区主机位决定你在哪栋楼IPv4地址本质是32个二进制位为了方便人类读写才拆成四组十进制。比如192.168.1.100写作二进制就是11000000.10101000.00000001.01100100这32位里前面一部分叫网络位后面一部分叫主机位。网络位相同的设备才能认为彼此在同一个网络里直接通过二层交换机通信网络位不同就必须经过三层路由器转发。关键是网络位和主机位到底怎么切分这就轮到子网掩码出场了。子网掩码的二进制永远是连续的1后面跟着连续的0它的作用就是告诉你前面多少位是网络位。比如255.255.255.0二进制就是24个1加8个0所以前缀长度是 /24意思就是前24位是网络位后8位是主机位。我给你一个实际计算例子。地址10.10.10.66/26掩码是255.255.255.192。这个 /26 意味着主机位只有6位可用地址数量是 2^6 64 个去掉网络地址和广播地址就是62个可用。这个网段的起始地址怎么算把66换算成二进制是01000010前2位因为是第四段的网络位占了26-242位是01那么网络地址第四段就是01000000 64广播地址则是把主机位全置101111111 127。所以这个子网就是10.10.10.64/26范围从 .64 到 .127可用地址 .65 到 .126。这个计算能力你必须熟练到条件反射因为配置DHCP地址池、规划VLAN网段、排查地址冲突天天都要用。2.2 为什么说传统的A/B/C类划分在实际工作中已经退居二线教科书上告诉你A类是1.0.0.0到127.0.0.0B类是128.0.0.0到191.255.0.0C类是192.0.0.0到223.255.255.0。这个体系叫有类编址它在互联网早期够用但今天你规划一个办公网的地址几乎不会说我分一个B类地址段而是直接说我用172.16.0.0/16这个段。原因在于有类编址太死板。一个C类只能容纳254台主机一个B类却有65534台中间没有灵活的档位。而今天的VLSM可变长子网掩码和CIDR无类别域间路由技术允许你用任何前缀长度分割地址空间你说/28就是14台可用主机说/22就是1022台。服务器区、办公区、打印机区各自按需划分互不浪费。这就是你规划地址段的核心思路先数清楚这个网段里未来会有多少台设备留出20%到30%的余量再选择合适的前缀长度。我见过太多人把整个办公网塞进一个192.168.1.0/24设备一多就广播泛滥、地址冲突不断原因就是当初没按业务模块拆分网段。2.3 内网地址、回环地址、链路本地地址这几类地址你天天见但未必较真过实际运维中你一定会碰到的特殊地址有这么几类分清楚它们能省掉很多排查时间。第一是私有地址段IANA保留给内网使用的三段地址段前缀可用网段数10.0.0.0 - 10.255.255.255/81个超大段172.16.0.0 - 172.31.255.255/1216个B段192.168.0.0 - 192.168.255.255/16256个C段私有地址不会在公网路由上出现你内网随便用只要访问外网时需要NAT转换。第二是127.0.0.0/8整个段都指回本机。你 ping127.0.0.1通只能说明你的协议栈是完好的不能说明网卡或网线没问题。想测物理链路必须 ping 本机网卡的实际IP。第三是169.254.0.0/16叫链路本地地址APIPA。Windows网卡开了DHCP但死活拿不到地址时会自动给自己配一个169.254.x.x的地址。所以你在ipconfig里看到这个段别怀疑是自己记错配置了——这说明DHCP交互失败了优先检查网线、交换机端口、DHCP服务状态。第四是0.0.0.0它在不同语境下含义不同作为源地址表示本机发出的、还不知道自己地址的报文在路由表里表示默认路由在监听地址里表示监听所有网卡接口。2.4 IPv6地址划分的思路与IPv4完全不同但开头几段你只要记住关键分类虽然标题主要讲的是经典IP协议但既然热搜词里出现了ipv6地址划分我还是把核心差异点讲清楚因为现在新部署的网络基本都要求双栈了。IPv6地址是128位写作8组十六进制数。它和IPv4最明显的差别是接口标识符相当于主机位通常不是手工规划出来的而是由网卡的MAC地址通过EUI-64算法自动生成或者DHCPv6分配产生。所以在IPv6里主机位部分不用你去精打细算这大大减轻了规划压力。你只需要记住几个前缀分类前缀用途2000::/3全球单播地址类似公网IPv4fc00::/7唯一本地地址类似私有IPv4内网使用fe80::/10链路本地地址每个接口自动生成只在本链路有效ff00::/8组播地址fe80::/10特别重要。IPv6的邻居发现协议NDP就是靠链路本地地址工作的你在Linux上执行ip -6 addr每个接口几乎都会有个fe80:开头的地址那是自动生成的别试图删掉它删了邻居发现就挂了。3. 弄懂二层转发的核心MAC地址到底怎么工作以及怎么查怎么改3.1 MAC地址的物理意义它是网卡的出厂身份证MAC地址是48位12个十六进制字符由IEEE统一分配管理。前24位是OUI组织唯一标识符相当于厂商代码后24位是厂商自己分配的序列号。比如00:1A:2B:3C:4D:5E00:1A:2B指向某个厂商后三位是该厂商出厂时写入。它的作用范围只在同一个二层网络也就是同一个广播域内。交换机转发数据帧的核心依据就是MAC地址和接口的对应关系——这个对应关系存在交换机的CAM表也叫MAC地址表里。交换机收到一个帧看目的MAC然后查表表里有对应接口就单播转发过去表里没有就向所有接口泛洪。这就是二层转发最朴素的样子。所以MAC地址的作用一句话总结在同一广播域内标示设备身份让交换机知道应该把帧从哪个物理端口送出去。3.2 MAC地址和IP地址协作的经典场景跨网段访问时目的MAC是谁这是很多人翻车的重灾区。我给你把完整过程走一遍你就能彻底记住。假设你的电脑192.168.1.10/24要访问服务器10.0.0.20/24两个网段。电脑发现目的IP和自己不在同一网段于是它把数据包先发给默认网关192.168.1.1。此时数据帧里的内容如下源IP: 192.168.1.10 目的IP: 10.0.0.20 源MAC: 自己网卡的MAC 目的MAC: 网关192.168.1.1的MAC注意目的MAC写的是网关的MAC不是服务器网卡的MAC。数据包到达路由器后路由器查路由表发现10.0.0.0/24在自己另一个接口上于是改写源IP: 192.168.1.10不变 目的IP: 10.0.0.20不变 源MAC: 路由器出口接口的MAC 目的MAC: 服务器网卡的MACIP地址在端到端的通信过程中保持不变而MAC地址每经过一个三层设备就重写一次。这是理解网络转发最关键的一句话。如果你在Wireshark里抓包看到某一段目的MAC变成了网关的MAC而诧异那说明你还没把这个机制刻进脑子。3.3 查MAC地址的实操方法Windows、Linux、macOS一个不落热搜词里mac地址怎么查被反复搜索我直接给你汇总表各系统最常用的方法都在里面操作系统命令说明Windowsipconfig /all看物理地址那一行Windowsgetmac /v只列出MAC速度更快Linuxip link show看link/ether字段Linuxcat /sys/class/net/eth0/address直接读取内核信息macOSifconfig en0看ether字段补充一个Linux小技巧多网卡服务器上你想快速把每个网卡的MAC和对应接口名一起列出来可以这么写for iface in /sys/class/net/*; do echo $(basename $iface): $(cat $iface/address); done这个命令会遍历所有网络接口把名字和MAC打印成规整的列表排查多网卡绑错线的问题时非常好用。3.4 修改MAC地址的两个正当场景和正确姿势很多人一听到改MAC地址就想到各种灰色用途其实工作中有两个完全合法且高频的正当场景一是路由器WAN口MAC绑定。有些运营商的光猫或宽带接入设备做了MAC绑定你更换路由器后上不了网这时把新路由器的WAN口MAC克隆成旧设备的MAC就能恢复。二是软硬件迁移场景。比如换了主板又不想重新申请软件授权有些软件的授权跟MAC地址绑定临时把新网卡MAC改成旧值可以避免重新走一遍授权流程。Linux下临时改MAC的标准操作是ip link set eth0 down ip link set eth0 address 00:11:22:33:44:55 ip link set eth0 up改完再用ip link show确认。注意这是临时修改重启网卡或重启系统就还原了。Windows下则在网络适配器属性 - 配置 - 高级 - Network Address里填入12位十六进制数可以不带横线。Win10和Win11这个入口基本没变。顺带说一句改MAC地址后如果网络不通第一件事检查ARP缓存因为局域网里的交换机或网关可能还记录着旧MAC到IP的对应等它老化一般几十秒到几分钟或手动清一下ARP表就好。4. 把 ip addr 命令彻底吃透一个命令看穿网卡的全部状态4.1 为什么我让你抛弃 ifconfig 改用 ip addrip addr是iproute2工具包的一员是Linux内核网络栈的标准配置工具。ifconfig来自net-tools包已经多年不维护很多新特性都不支持了。比如给一个网卡配多个不同网段的IP地址、操作VLAN子接口、查看IPv6地址——这些用ifconfig要么做不到要么输出残缺用ip addr则全都清晰明了。另外ifconfig对某些网卡状态显示不准比如网卡处在没有载波状态时ip addr会明明白白显示NO-CARRIER而ifconfig有时候只是含糊地显示接口不存在。排障时这一点差距可能就导致你多折腾半小时。我建议你把ip addr当作主力ifconfig只在某些老系统兼容性排查时才看一眼。别的不说ip命令支持Tab补全和批量操作写脚本时比正则解析ifconfig输出省心太多。4.2 逐行拆解 ip addr 的输出尤其是 UP 和 LOWER_UP 的区别直接看一个典型输出我一行行给你讲这是我最常遇到的场景新装的CentOS或Ubuntu服务器配置好静态IP后确认状态$ ip addr show eth0 2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:15:5d:01:ca:03 brd ff:ff:ff:ff:ff:ff inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0 valid_lft 86182sec preferred_lft 86182sec inet6 240e:390:1234:5678::20/64 scope global dynamic valid_lft 2591986sec preferred_lft 86386sec inet6 fe80::215:5dff:fe01:ca03/64 scope link第一行尖括号里的标志位是重点。UP表示这个接口已经被管理员启用相当于ip link set eth0 up的结果。LOWER_UP表示物理层链路是通的——网线插着、对端交换机端口没有shutdown载波信号正常。这两个状态组合起来就能定位很多问题有UP没LOWER_UP网卡被启用了但物理链路不通。检查网线、对端端口、光模块。有LOWER_UP没UP物理链路没问题但接口被管理员down掉了执行ip link set eth0 up即可。两个都没有检查驱动是否加载dmesg | grep eth0看内核日志。第二行link/ether后面就是网卡的MAC地址brd ff:ff:ff:ff:ff:ff是广播地址所有MAC地址位全1。第三行inet是你的IPv4地址和掩码前缀。scope global意味着这个地址是全局可路由的相对于scope link只在本链路内有效。dynamic表示这个地址是DHCP分配的。如果要确认是不是静态配置看有没有dynamic关键字就够了。第五、六行是IPv6地址一个全局地址一个链路本地地址。valid_lft是地址有效生存期preferred_lft是首选生存期这两个参数在DHCP租约续签时很有参考价值——如果租约快到期而续签失败valid_lft会一直缩小直到地址被移除。4.3 用 ip addr 解决真实问题查看、添加、删除地址的标准操作现在说实操。最常见的需求是给服务器临时加一个IP做测试或者改静态IP。我给出命令模板你直接套用就行。查看所有接口ip addr show查看指定接口ip addr show eth0添加一个IP临时生效ip addr add 192.168.10.20/24 dev eth0删除一个IPip addr del 192.168.10.20/24 dev eth0启停接口ip link set eth0 up ip link set eth0 down这四个命令覆盖了日常90%的临时配置需求。但我要强调一个新手最容易踩的坑ip addr add添加的配置重启就丢。如果你是想永久配置静态IP必须写入系统配置文件。Ubuntu/Debian系的写法是在/etc/netplan/下编辑YAML文件如果是Ubuntu 18.04CentOS/RHEL系则编辑/etc/sysconfig/network-scripts/ifcfg-eth0。我自己习惯在Netplan里这么写network: version: 2 ethernets: eth0: addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 223.5.5.5 - 114.114.114.114写完执行netplan apply。这一步经常有同事漏掉改完配置文件不应用服务器还是拿着旧IP白白浪费排查时间。4.4 几个 ip 命令家族的高频用法一次补齐ip addr只是ip命令的一个子命令实际工作中还有几个兄弟命令你离不开顺手一起说了ip link show # 查看所有二层接口状态和MAC ip route show # 查看路由表 ip neigh show # 查看ARP缓存表邻居表 ip -s link show eth0 # 查看接口详细统计信息包括收发字节数、错误数ip neigh show尤其常用。当网络不通时先看ARP表里有没有对应IP的记录有记录说明二层能通问题可能在三层以上没记录说明ARP解析失败问题在二层或网络地址配置上。这个判断思路能帮你砍掉一半的无头排查。5. 用GNS3亲手复现一次ARP转发过程让IP和MAC的协作变得肉眼可见5.1 为什么我推荐用GNS3而不是虚拟机来做这个实验热搜词里出现了gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议这个搜索词说明很多人想在模拟器里看真实的帧结构。GNS3和EVE-NG这类模拟器允许你抓取真实的路由器接口报文而VMware里只能模拟到虚拟网卡的层面抓不到路由器改写MAC这个过程。看帧结构这种需求还是GNS3最趁手。另外你如果能在这个实验里彻底看清楚ARP请求是怎么广播的、响应是怎么单播的、以及路由器在转发不同网段报文时如何重写MAC那你就拥有了排查二层故障的透视眼。5.2 实验拓扑与配置一路操作的完整记录拓扑很简单两台路由器串起来每台路由器接一台主机。我用的是GNS3自带的路由镜像也可用思科IOS或运行Linux镜像的QEMU节点都可以主机A(192.168.1.10/24) --- R1(G0/0) [R1(G0/1)] --- [R2(G0/1)] R2(G0/0) --- 主机B(10.0.10.10/24)R1的配置interface g0/0 ip address 192.168.1.1 255.255.255.0 no shutdown interface g0/1 ip address 10.0.1.1 255.255.255.0 no shutdownR2的配置interface g0/1 ip address 10.0.1.2 255.255.255.0 no shutdown interface g0/0 ip address 10.0.10.1 255.255.255.0 no shutdown主机A的默认网关设192.168.1.1主机B的默认网关设10.0.10.1。因为主机A的网段192.168.1.0/24和主机B的10.0.10.0/24不在同一网段所以主机A发送给主机B的报文会先交给R1R1再到R2最后由R2转给主机B。如果只有R1和R2直连还需要加静态路由让R1知道去10.0.10.0/24走R2R2知道去192.168.1.0/24走R1R1(config)# ip route 10.0.10.0 255.255.255.0 10.0.1.2 R2(config)# ip route 192.168.1.0 255.255.255.0 10.0.1.15.3 抓包分析ARP请求的广播、响应与MAC重写的完整链路在主机A上 ping 主机B同时在R1的 g0/0 接口和R2的 g0/0 接口分别抓包。先看R1 g0/0 这个接口上发生了什么第一个出现的报文一定是ARP请求源MAC: 主机A的MAC 目的MAC: ff:ff:ff:ff:ff:ff 源IP: 192.168.1.10 目的IP: 192.168.1.1网关 操作码: 1请求注意ARP请求的目的IP是网关的IP不是主机B的IP。因为主机A在第一跳就发现目标不在同一网段它只会向网关发起ARP解析。目的MAC是全F的广播地址所以这个帧会被交换机泛洪给同一广播域的所有设备但只有IP为192.168.1.1的R1会回应。R1回复的ARP响应是单播的目的MAC就是主机A的MAC同时携带192.168.1.1对应的MAC是R1_g0/0的MAC。主机A拿到这个信息后开始向网关发送ICMP请求报文。这时候看R1 g0/0的抓包你会发现帧1主机A发出: 源MAC: 主机A的MAC 目的MAC: R1_g0/0的MAC 源IP: 192.168.1.10 目的IP: 10.0.10.10 协议: ICMP Echo Request这个帧的源IP和目的IP都是端到端的但MAC地址只到R1这一跳。接着看R2 g0/1这个接口的抓包你会发现数据包到达R2之前帧头已经变了帧2R1转发到R2: 源MAC: R1_g0/1的MAC 目的MAC: R2_g0/1的MAC 源IP: 192.168.1.10 目的IP: 10.0.10.10也就是说R1做完路由决策后重新封装了二层帧头源MAC换成了自己出接口的MAC目的MAC换成了下一跳R2接口的MAC但IP层的内容原封不动。等R2收到帧同样做一遍查路由表发现目标网段10.0.10.0/24在自己的 g0/0 接口直连如果ARP表里没有主机B的MAC先发ARP广播问谁是10.0.10.10拿到主机B的MAC后再把IP报文封装成新的帧从 g0/0 发出去帧3R2转发到主机B: 源MAC: R2_g0/0的MAC 目的MAC: 主机B的MAC 源IP: 192.168.1.10 目的IP: 10.0.10.10当你亲眼看到这几个帧的变化你就能彻底理解文章前面那三行MAC地址变来变去的转发过程了。排跨网段故障时只要抓包确认目的MAC是不是下一跳接口的MAC就能立刻定位问题是出在二层封装还是三层选路。5.4 用 ip neigh 和 tcpdump 在Linux上验证一遍同样的机制如果你手头没有GNS3用两台Linux虚拟机加你的物理路由器也能验证同样的效果。最简单的方式是在一台Linux主机上 ping 外部网段的地址然后立刻执行ip neigh show你会看到类似下面的输出192.168.1.1 dev eth0 lladdr 00:0c:29:ab:cd:ef REACHABLElladdr那一段就是网关的MAC地址REACHABLE表示这条邻居表项是刚更新过、可用的。如果你ping完后这条记录还是显示FAILED或者根本没有说明ARP请求没能获得响应要么网关地址配错要么物理链路有问题。想看过程在发送ping之前先在另一个终端跑tcpdumpsudo tcpdump -i eth0 arp or icmp -n -e-e参数会打印MAC地址信息你就能看到类似GNS3实验里的完整帧序列ARP, Ethernet II, Src: 主机A的MAC, Dst: ff:ff:ff:ff:ff:ff, Request who-has 192.168.1.1 ARP, Ethernet II, Src: 网关的MAC, Dst: 主机A的MAC, Reply 192.168.1.1 is-at 网关的MAC ICMP, Src: 192.168.1.10, Dst: 10.0.10.10到这里你会发现ARP协议本身极其简单就是广播问一句这个IP是谁的然后拿到MAC地址放进缓存。但它在整个转发链路上的位置极其关键——没有这一下解析IP报文连封装成帧这步都做不了。6. 高频报错排查从协议栈绑定失败到IP冲突的实战解法6.1 Windows提示无法自动将IP协议堆栈绑定到网络适配器的排查链路这个报错在Win10和Win11上并不罕见热搜词里也专门出现了。现象通常是网络适配器显示已连接但IPv4获取不到地址手动配置IP后提示无法自动将IP协议堆栈绑定到网络适配器。我的排查思路按顺序来照着走能省掉一大半的无用功第一步重启网络适配器。在控制面板的网络连接里找到对应网卡右键禁用再启用。这一步能解决大概一成的临时性协商失败。第二步重置Winsock目录。以管理员身份打开CMD执行netsh winsock reset这个命令会重置Winsock目录到干净状态。Winsock是Windows网络编程的API接口层装了某些安全软件、代理工具后它可能被篡改导致协议栈绑定异常。执行完必须重启系统。第三步重置TCP/IP协议栈netsh int ip reset它会重置IP配置相关注册表项到默认状态包括路由表、DHCP设置这些。重启后再看网卡状态。第四步检查网卡驱动。设备管理器里找到网卡看属性里是否有黄色感叹号或者驱动日期异常旧。去官网下载最新驱动覆盖安装。这一步能解决部分兼容性问题。第五步检查服务。确认DHCP Client服务和Network Setup Service如果存在处于启动状态依赖服务WinHTTP Web Proxy Auto-Discovery Service没有被手动禁用。这几个服务互相依赖任何一个被停用都能导致奇怪的网络故障。如果以上全走完还不行那就得考虑注册表层面的问题不过那属于少数情况需要具体看错误日志才能定向修复。普通用户把前三步走完九成情况下问题就消失了。6.2 地址冲突的定位套路用ARP表和抓包双重确认另一种高频故障是IP地址冲突报错。办公网里手动配过静态IP的电脑重启后经常撞车。定位思路分两步。第一步看本机的ARP缓存里那个冲突IP的MAC是谁的arp -a如果显示某个IP地址对应的MAC一直在变化或者和你自己网卡的MAC不一致那说明确实有另一台设备占用了这个IP。第二步用抓包确认。在Wireshark里设置过滤器arp你会在冲突发生时反复看到同一对IP和MAC的ARP请求回应包。把那个MAC前缀复制到IEEE OUI查询数据库里能查出厂商再结合交换机上的端口MAC表就能定位到具体是哪台设备、插在哪个交换机端口上。这个技能在管理几百台设备的园区网里非常值钱。6.3 Linux下常见的 ip addr 输出异常与对应处理最后说几个Linux上你一定会遇到的ip addr异常输出每一个都有对应的处置方式我全部列在下面现象原因处置有UP无LOWER_UP物理链路断检查网线、交换机端口状态inet地址显示169.254.x.xDHCP获取失败dhclient eth0或systemctl restart networking重试地址显示DUP关键字检测到IP冲突ip addr del删除后改配其他地址invaild或tentative地址探测中等几秒让DAD检测完成多网卡上地址出现在错误接口绑错了网卡逐个ip addr show确认配合ethtool -p eth0亮灯找口ethtool -p eth0这个命令特别实用它能让交换机或网卡物理端口的LED灯闪烁帮你快速确认某块网卡对应哪个物理口。多网卡服务器上绑错口的概率其实不低有了这个命令就不用一根根拔线试了。7. 一点切实的收尾经验写到这里我把个人的使用心得总结一下希望对你有用。我现在排查网络问题的第一反应永远是先跑ip addr show和ip neigh show用30秒确认接口状态和ARP表再决定要不要深入抓包。这个习惯帮我挡掉了大量无效操作——很多时候问题根本不在IP层而是网线松了或者交换机端口被人手动关闭了这些从ip addr的状态位里一眼就能看出来。对于刚入行的人来说我不建议一上来就去背路由协议和防火墙策略先把IP地址划分、MAC地址转发的协作关系、ip addr这个命令吃透这就像一个医生先把体温计、血压计玩明白再去看复杂病症。这三样东西是网络世界里最底层也最常碰到的基础设施它们搞通了后续学VLAN、学OSPF、学防火墙策略都会顺畅很多。最后分享一个小技巧在Linux上你可以给ip命令设置一个别名把常用命令缩短alias ip-addrip -brief addr show这样在排障时敲两下就能把网卡状态和地址信息全都列出来短小精悍。等你哪天不用脑子想就能背出/26有多少可用主机、看到NO-CARRIER就知道物理链路断掉那你在网络这块就算真正入了门。
返回列表