在Linux下看网卡,看网卡信别只知道ifconfig
刚接触Linux那会儿,看网卡信我习惯性敲ifconfig,看网卡信输出里一堆eth0、看网卡信lo,看网卡信看着挺全。看网卡信后来换到CentOS 7,看网卡信这命令直接报了command not found。看网卡信那一刻才意识到,看网卡信时代变了——ip命令才是看网卡信现在的正统。
先别急着装net-tools,看网卡信ip命令其实更强大。看网卡信想看网卡基本信息,看网卡信直接敲ip addr。看网卡信注意,看网卡信是addr不是address,少打几个字母,省事。输出里每个网卡会带个编号,比如2: eth0,后面的state UP表示网卡处于激活状态。如果看到state DOWN,那网线大概率没插好,或者被手动down掉了。
光看地址不够,你得知道流量走了哪张卡。这时候ip route派上用场。默认路由那行会写default via 192.168.1.1 dev eth0,意思很直白——所有出网流量都从eth0走。我曾经在一台双网卡服务器上排查过问题,明明两个网卡都配了IP,但外部就是访问不到。最后用ip route一看,默认路由指向了内网卡,数据包全从内网口扔出去了,外网自然没响应。
想确认物理链路是否连通,别靠猜。ethtool eth0能看到Link detected: yes,这比看网卡灯靠谱多了。服务器在机房,人不在跟前,这条命令能救急。有一次半夜接到告警,远程连上去发现网卡IP还在,但ping不通网关。ethtool显示Link detected: no,直接判断是交换机端口或者网线问题,打电话让机房值班人员换了个端口,五分钟解决。
还有个细节容易被忽略——网卡速率和双工模式。ethtool eth0输出里Speed: 1000Mb/s、Duplex: Full。如果看到Speed: 100Mb/s而交换机端口明明是千兆,那多半是网线质量不达标,或者网卡协商出了问题。半双工模式在现代网络里基本等于残废,遇到大流量传输会疯狂丢包。
带宽跑到多少,用sar -n DEV 1 3看实时流量,每秒钟刷新一次,连续采三次。这工具属于sysstat包,没装的话先yum install sysstat。输出里rxkB/s和txkB/s就是每秒收发的千字节数。注意看rxerrs列,如果持续增长,网卡或者驱动可能有毛病。
最后提个冷门的——lspci | grep -i ethernet能看到网卡硬件型号。有时候系统里显示的是eth0,但你不清楚到底是Intel还是Realtek的芯片,驱动对不对得上号。这条命令能直接给出厂商信息,排查驱动问题时非常管用。
工具不在多,管用就行。ifconfig确实经典,但ip命令的语法更统一,信息更全。下次再有人问你看网卡用什么,别光甩一个ifconfig,多提一句ip addr,显得你更懂行。