ip命令替代ifconfig:用ip link set dev eth0 up启用接口,ip addr add 192.168.1.10/24 dev eth0配ip,ip route add default via 192.168.1.1设默认路由。

如何用 ip 命令替代已废弃的 ifconfig
现在运行 ifconfig 很可能报 command not found,因为多数新发行版(如 Ubuntu 22.04+、Fedora 35+)默认不装 net-tools。这不是 bug,是明确弃用——ip 是 iproute2 的核心命令,功能更全、状态更准确。
常见错误:用 ifconfig eth0 up 启用接口,结果没反应或提示不存在。实际应改用:
-
ip link set dev eth0 up(启用接口) -
ip addr add 192.168.1.10/24 dev eth0(配 IP,注意不是ifconfig eth0 192.168.1.10 netmask 255.255.255.0那种语法) -
ip route add default via 192.168.1.1(加默认路由,route命令也属net-tools,同样被取代)
关键区别:ip link 管理设备状态(up/down、mtu、mac),ip addr 管理协议地址,ip route 管理路由表——三者职责分离,比 ifconfig 混合操作更清晰,也避免了“配置了 IP 但链路没 up”这类静默失败。
ethtool 查看和修改网卡真实能力,不是所有参数都可写
ethtool 是调优物理层的关键工具,但它显示的很多字段只是只读状态(比如 Speed、Link detected),盲目执行 ethtool -s eth0 speed 1000 duplex full 可能失败,甚至断连。
实操前必须确认三点:
- 先运行
ethtool eth0,看Supported link modes是否包含目标速率(例如1000baseT/Full) - 检查
Auto-negotiation是否为on;若手动设速,通常需先ethtool -s eth0 autoneg off - 某些驱动(如
igb、ixgbe)对rx/tx队列数、ring buffer大小支持有限,ethtool -g eth0 rx 4096可能返回Operation not supported
典型场景:高吞吐下出现 rx_missed_errors 上升,优先查 ethtool -S eth0 | grep miss,再结合 ethtool -g eth0 看当前 ring buffer 是否已到上限——不是所有网卡都能无限制调大。
ECTouch是上海商创网络科技有限公司推出的一套基于 PHP 和 MySQL 数据库构建的开源且易于使用的移动商城网店系统!应用于各种服务器平台的高效、快速和易于管理的网店解决方案,采用稳定的MVC框架开发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。ECTouch程序源代码完全无加密。安装时只需将已集成的文件夹放进指定位置,通过浏览器访问一键安装,无需对已有
永久生效网络配置时,/etc/network/interfaces 和 NetworkManager 别混用
Debian/Ubuntu 传统用 /etc/network/interfaces,而 CentOS/RHEL 8+ 默认用 NetworkManager。两者共存时,ifup/ifdown 可能失效,nmcli connection modify 改的配置又会被 systemctl restart networking 覆盖。
判断当前谁在管接口:
- 运行
nmcli device status,若显示connected或unmanaged,说明NetworkManager在起作用 - 检查
systemctl is-active NetworkManager和systemctl is-active networking,二者不应同时 active - 临时禁用
NetworkManager管某接口:在/etc/NetworkManager/NetworkManager.conf加[keyfile] unmanaged-devices=interface-name:eth0,再systemctl restart NetworkManager
容易踩的坑:在 /etc/network/interfaces 里写了 auto eth0,但忘了注释掉 allow-hotplug eth0,导致重启后接口不自动 up;或者用 nmcli 配了静态 IP,却还去改 /etc/network/interfaces,结果下次 nmcli reload 时把手工改的覆盖了。
TCP 调优真正起效的三个硬条件
改 /proc/sys/net/ipv4/tcp_window_scaling 或 tcp_slow_start_after_idle 这类参数,常被当成“万能加速开关”,但实际效果取决于路径 MTU、RTT、接收方通告窗口是否匹配。
真正起效的前提:
- 发送方和接收方都开启
tcp_window_scaling(默认开启,但老内核或嵌入式设备可能关) - 连接建立时三次握手的 SYN 包携带了
WSOPT选项,否则缩放因子不协商,后续窗口仍受限于 64KB -
net.ipv4.tcp_rmem和net.ipv4.tcp_wmem的第二、三值(即 max 值)必须大于带宽时延积(BDP),例如千兆网 + 50ms RTT,BDP ≈ 6MB,此时tcp_rmem第三项至少设为6291456
验证是否生效:用 ss -i 查单个连接的 cwnd、rtt、send-q,比看 /proc 参数值更直接。别只改完就以为“调优完成”——TCP 是端到端协议,一端调得再激进,另一端不配合,窗口照样打不开。









