文档章节

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

Geekwolf
 Geekwolf
发布于 2014/09/05 13:19
字数 862
阅读 620
收藏 18

许多系统管理员仍然使用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
iplink
激活和关闭网卡
使用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只能显示一个

ipaddr

配置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
移除网卡上的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
route
添加修改默认路由
使用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
socket查看ARP表
使用net-tools:
$ arp -an
使用iproute2:
$ ip neigh
arp
添加和删除静态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

© 著作权归作者所有

Geekwolf
粉丝 6
博文 20
码字总数 24718
作品 0
广州
私信 提问
iproute2 对决 net-tools

via: http://xmodulo.com/2014/09/linux-tcpip-networking-net-tools-iproute2.html 作者:Dan Nanni 译者:KayGuoWhu 校对:wxy 本文由 LCTT 原创翻译,Linux中国 荣誉推出 如今很多系统管理...

kuSorZ
2018/05/30
0
0
Linux TCP/IP网络小课堂:net-tools与iproute2大比较

如今许多系统管理员仍结合使用ifconfig、route、arp和netstat等命令行工具(它们统称为net-tools),管理和排查各种网络配置。这类工具原先起源于BSD TCP/IP工具箱,旨在配置老式Linux内核的...

andy1灬
2014/10/24
0
0
Linux中“新旧”TCP/IP工具的对比

如今很多系统管理员依然通过组合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来配置网络功能、解决网络故障,net-tools起源于BSD的TCP/IP工具箱,后来成为老版本L...

linuxprobe16
2016/11/03
16
0
4 种在 Linux 中检查默认网关或者路由器 IP 地址的方法

你应该意识到你的默认网关是你的路由器的 IP 地址。一般这是在安装过程中由操作系统自动检测的,如果没有,你可能需要改变它。如果你的系统不能 ping 自身,那么很可能是一个网关问题,你必须...

作者: Magesh Maruthamuthu
05/01
0
0
Linux 使用ss命令代替 netstat

ss是Socket Statistics的缩写。 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netst...

LionelShen
2013/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nproc systemd on CentOS 7

Increasing nproc for processes launched by systemd on CentOS 7 Ask Question I have successfully increased the nofile and nproc value for the local users, but I couldn't find a p......

MtrS
今天
3
0
了解微信小程序下拉刷新功能

小程序提供了这个事件。 onPullDownRefresh() 监听用户下拉刷新事件。 如果要开启下拉刷新功能,要先到json配置: "enablePullDownRefresh":true 配置后下拉有反应了但是没有加载效果,在onP...

oixxan__
今天
2
0
springmvc java对象转json,上传下载(未完)拦截器Interceptor以及源码解析(未完待续)

package com.atguigu.my.controller;import java.util.Collection;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Contr......

architect刘源源
今天
32
0
[日更-2019.5.24、25、26] Android系统中的Binder通信机制分析(一)--servicemanager

声明 其实对于Android系统Binder通信的机制早就有分析的想法,记得去年6、7月份Mr.Deng离职期间约定一起对其进行研究的,但因为我个人问题没能实施这个计划,留下些许遗憾... 最近,刚好在做...

Captain_小馬佩德罗
昨天
24
0
聊聊dubbo的DataStore

序 本文主要研究一下dubbo的DataStore DataStore dubbo-2.7.2/dubbo-common/src/main/java/org/apache/dubbo/common/store/DataStore.java @SPI("simple")public interface DataStore { ......

go4it
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部