Linux TCP/IP网络管理工具:net-tools VS iproute2

Blog:http://www.simlinux.com

许多系统管理员仍然使用ifconfig、route、arp、netstat 命令组合来管理和排错网络配置,这些命令有net-tools包提供,但在Arch Linux、Centos7/RHEL7等发行版里面已经使用iproute2替代了net-toolsiproute2是另外一个网络配置工具,用来取代net-tools的功能;

net-tools访问和修改网络配置是通过procfs(/proc)和ioctl系统调用来完成的,而iproute2是通过netlink socket方式与内核通信;重要的是,iproute2发展一直很好:
https://www.kernel.org/pub/linux/utils/net/iproute2/
下面是net-tools和iproute2的使用对比:

列出所有网络接口(包括没有激活的网卡)
使用net-tools:
$ ifconfig -a
使用iproute2:
$ ip link show
激活和关闭网卡
使用net-tools:
$ sudo ifconfig eth1 up
$ sudo ifconfig eth1 down
使用iproute2:
$ sudo ip link set down eth1
$ sudo ip link set up eth1
配置IPv4地址
使用net-tools:
$ sudo ifconfig eth1 10.0.0.1/24
使用iproute2:
$ sudo ip addr add 10.0.0.1/24 dev eth1

使用net-tools配置多IP:
$ sudo ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up
$ sudo ifconfig eth0:2 192.168.10.15 netmask 255.255.255.0 up

使用iproute2配置多IP:
$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1

查看eth0的IP地址
$sudo ip addr list dev eth0
移除网卡上的IPv4地址
使用net-tools:
$ sudo ifconfig eth1 0
使用iproute2:
$ sudo ip addr del 10.0.0.1/24 dev eth1
查看网卡上配置的IPv4地址
使用net-tools:
$ ifconfig eth1
使用iproute2:
$ ip addr show dev eth1
如果是网卡绑定了多IP的话,iproute2能显示所有的地址,而net-tools只能显示一个
配置IPv6地址
使用net-tools:
$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64
$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
使用iproute2:
$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1
$ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1
查看网卡上配置的IPv6地址
使用net-tools:
$ ifconfig eth1
使用iproute2:
$ ip -6 addr show dev eth1
移除网卡上的IPv6地址
使用net-tools:
$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
使用iproute2:
$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1
更改网卡MAC地址
使用net-tools:
$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66
使用iproute2:
$ sudo ip link set dev eth1 address 08:00:27:75:2a:67
查看路由表
使用net-tools:
$route -n
$ netstat -rn
使用iproute2:
$ ip route show
添加修改默认路由
使用net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
使用iproute2:
$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0
添加和删除静态路由
使用net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
使用iproute2:
$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0
查看socket统计
使用net-tools:
$ netstat
$ netstat -l
使用iproute2:
$ ss
$ ss -l
查看ARP表
使用net-tools:
$ arp -an
使用iproute2:
$ ip neigh
添加和删除静态ARP
使用net-tools:
$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef
$ sudo arp -d 192.168.1.100
使用iproute2:
$ sudo ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0
$ sudo ip neigh del 192.168.1.100 dev eth0
添加、删除和查看多播地址
使用net-tools:
$ sudo ipmaddr add 33:44:00:00:00:01 dev eth0
$ sudo ipmaddr del 33:44:00:00:00:01 dev eth0
$ ipmaddr show dev eth0
$ netstat -g
使用iproute2:
$ sudo ip maddr add 33:44:00:00:00:01 dev eth0
$ sudo ip maddr del 33:44:00:00:00:01 dev eth0
$ ip maddr list dev eth0

参考文档:
iproute2 HowTo http://www.policyrouting.org/iproute2.doc.html
iproute2 man  http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2/
RTnetlink         http://www.man7.org/linux/man-pages/man7/rtnetlink.7.html
Netlink             http://www.man7.org/linux/man-pages/man7/netlink.7.html

时间: 2024-09-30 05:27:19

Linux TCP/IP网络管理工具:net-tools VS iproute2的相关文章

[转帖]Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点

Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点 http://network.51cto.com/art/201909/603780.htm 可以毫不夸张的说现如今的互联网是基于TCP/IP构建起来的网络.弄懂协议栈的原理,无论对调试网络IO性能还是解决网络问题都是有很大帮助的.本片文章就带领大家来看看内核是如何控制网络数据流的. 作者:底层软件架构来源:今日头条|2019-09-30 09:28 收藏 分享 可以毫不夸张的说现如今的互联网是基于TCP/IP构建起来的网络.弄懂

[转] Linux TCP/IP网络小课堂:net-tools与iproute2大比较

http://os.51cto.com/art/201409/450886.htm 如今许多系统管理员仍结合使用ifconfig.route.arp和netstat等命令行工具(它们统称为net-tools),管理和排查各 种网络配置.这类工具原先起源于BSD TCP/IP工具箱,旨在配置老式Linux内核的网络功能.自2001年以后,它在Linux社区的发展就止步不前了.Arch Linux和CentOS/RHEL 7等一些Linux发行版已经弃用了net-tools,其他发行版计划弃用net

Linux 强大的网络管理工具——NetworkManager

NetworkManager服务:NetworkManager - Linux Networking made Easy NetworkManager简介:NetworkManager由一个管理系统网络连接.并且将其状态通过D-BUS(是一个提供简单的应用程序互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的.)进行报告的后台服务,以及一个允许用户管理网络连接的客户端程序. NetworkManager的优点:简化网络连接的工作,让桌面本身和其他应用程序能感知

Linux TCP/IP协议之三次握手

TCP/IP协议是整个网络通信中最重要的协议,它提供可靠安全的通信服务,这里只讲数据传输层的TCP协议的三次握手及相关内容. 一,TCP报文头部报文数据结构 1,字段详细说明:源端口和目的端口:各占2个字节,分别写入源端口号和目的端口号.序号(seq):占4个字节.序号使用mod运算.TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号.确认序号(用小写的ack表示):占4个字节,是期望收到对方下一个报文段的第一个数据字节的序号.若确认序号=N,则表明:到序号N-1为止

Linux TCP/IP调优-Linux内核参数注释

固定文件的内核参数 下列文件所在目录: /proc/sys/net/ipv4/ 名称 默认值 建议值 描述 tcpsyn_retries 5 1 对于一个新建连接,内核要发送多少个SYN连接请求才决定放弃.不应该大于255,默认值是5,对应于180毫秒左右时间.(对于大负载而物理通信良好的网络来说,这个值偏高,可以修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1决定) tcp_synack_retries 5 1 对于远端的连接请求SYN,内核会发送SYN+ACK

Linux TCP/IP调优参数 /proc/sys/net/目录

所有的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数,后面是它们的含义: /proc/sys/net/core/rmem_default "110592" 定义默认的接收窗口大小:对于更大的 BDP 来说,这个大小也应该更大. /proc/sys/net/core/rmem_max "110592" 定义接收窗口的最大大小:对于更大的 BDP 来说,这个大小也应该更大. /proc/sys/net/core/wmem

Linux TCP/IP parameters reference

This is a reference of IP networking parameters that are configurable as described in our linux tweaking article -here-. /proc/sys/net/ipv4/* Variables: ip_forward - BOOLEAN 0 - disabled (default) not 0 - enabled Forward Packets between interfaces. T

Linux下的网络管理工具—OpenNMS

导读 OpenNMS的是一个运营商级别的,高度集成的,开放源码的平台,用于构建网络监控解决方案.OpenNMS有两个发行版:Meridian and Horizon.使用Meridian是可取的,对企业提供稳定和长期的支持.Horizon是创新迅速产生的,是理想的监测新技术和新的IT生态系统的发行版.这两个分布是完全开源的. 1. OpenNMS安装准备 环境:CentOS 7.2 更新源: yum -y install yum-plugin-priorities epel-release ce

网络tcp/ip资料

1. Linux TCP/IP 协议栈分析,这是chinaunix.net论坛里的N人写的电子书,可以在这里下载PDF版本.http://blog.chinaunix.net/u2/85263/showart_1810785.html 2. <TCP/IP详解>三卷书,PDF版本下载地址: <TCP/IP详解,卷1:协议>,http://www.laogu.com/ds_510.htm<TCP/IP详解,卷2:实现>,http://www.laogu.com/ds_51