你的Linux服务器突然断网?Ubuntu插着网线死活不认?别急着重装系统!今天咱们就手把手拆解Linux下的以太网配置难题。上周公司那台CentOS服务器断网,实习生折腾两天没搞定,结果我用三条命令5分钟解决...
一、基础篇:Linux怎么看网卡状态?
灵魂拷问:网线插了但ifconfig没显示IP?
先掏出这三板斧:
ip link show
→ 看物理连接状态(注意"LOWER_UP"字样)dmesg | grep eth
→ 查内核是否识别到网卡lspci -v | grep -i ethernet
→ 确认硬件信息
常见翻车现场:
▶️ 网卡灯不亮 → 八成是驱动没装
▶️ 显示"NO-CARRIER" → 检查网线/交换机端口
▶️ 出现"promiscuous mode" → 可能被黑客搞了
二、配置篇:静态IP怎么设置最稳?
主流发行版配置对比:
系统 | 配置文件路径 | 推荐工具 |
---|---|---|
Ubuntu | /etc/netplan/*.yaml | netplan |
CentOS | /etc/sysconfig/network-scripts/ | nmcli |
Arch | /etc/systemd/network/ | systemd-networkd |
血泪经验:
• Ubuntu 18.04后别再用ifconfig,会跟netplan冲突
• 用这个模板保平安:
yaml复制network: version: 2 ethernets: enp3s0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]
三、排障篇:这些命令能救命!
网络诊断三板斧:
- 连通性检测 →
ping -c4 8.8.8.8
- DNS检测 →
dig google.com +short
- 路由追踪 →
mtr -n 114.114.114.114
进阶工具包:
• 抓包分析:tcpdump -i eth0 -w capture.pcap
• 带宽测试:iperf3 -c 192.168.1.1
• ARP表检查:ip neigh show
上周用tcpdump抓到个奇葩故障——某台机器每秒发送10万个ARP请求,最后发现是网卡驱动版本太旧!
四、实战案例库
▶️ 案例1:双网卡绑定怎么做?
用nmcli
创建链路聚合:
bash复制nmcli con add type bond con-name bond0 ifname bond0 mode active-backup nmcli con add type ethernet slave-type bond master bond0 con-name eth0-bond ifname eth0 nmcli con add type ethernet slave-type bond master bond0 con-name eth1-bond ifname eth1
▶️ 案例2:虚拟机网卡不识别?
加载驱动模块:
bash复制modprobe e1000 echo "options e1000 IntMode=1,1" > /etc/modprobe.d/e1000.conf
▶️ 案例3:千兆网卡跑不满速?
优化MTU值:
bash复制ip link set eth0 mtu 9000 echo "net.core.rmem_max=16777216" >> /etc/sysctl.conf
五、私藏调优参数
在/etc/sysctl.conf加入这些参数,网络性能飙升:
ini复制# 禁用IPv6(必要时) net.ipv6.conf.all.disable_ipv6 = 1 # 提升TCP性能 net.core.netdev_max_backlog = 30000 net.ipv4.tcp_window_scaling = 1 # 防DDOS基础 net.ipv4.tcp_syncookies = 1
上个月用这套配置,把Nginx服务器的并发连接数从1.2万提升到4.8万,客户端的API响应时间平均降低40ms!
搞Linux网络就像修车——工具用对了事半功倍。记住这三个原则:
- 先硬件后软件(网卡灯不亮别瞎敲命令)
- 从底层到高层(物理层→数据链路层→网络层)
- 善用日志和抓包(dmesg和tcpdump是黄金搭档)
最后爆个料:某大厂运维团队统计过,75%的网络故障其实都是双工模式不匹配引起的。所以下回断网别慌,试试ethtool -s eth0 speed 1000 duplex full
,说不定有奇迹!