博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux TCP/IP网络管理工具:net-tools VS iproute2
阅读量:7096 次
发布时间:2019-06-28

本文共 3064 字,大约阅读时间需要 10 分钟。

Blog:

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

net-tools访问和修改网络配置是通过procfs(/proc)和ioctl系统调用来完成的,而iproute2是通过netlink socket方式与内核通信;重要的是,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 
iproute2 man  
RTnetlink         
Netlink             

本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto.com/linuxgeek/1549191

转载地址:http://bqaql.baihongyu.com/

你可能感兴趣的文章
sql中如何调用另一台服务器的数据库查询数据呢?
查看>>
EF+Code First+Database First+Model First,EF开发流程
查看>>
HttpWebRequest的常见错误使用TcpClient可避免
查看>>
报表技术
查看>>
java基础---多线程---volatile详解
查看>>
eclipse中tomcat启动成功,浏览器访问失败
查看>>
中文乱码(Python、WEB、ajax)
查看>>
mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)...
查看>>
Go开发之路 -- 流程控制
查看>>
bootstrap:按钮下拉菜单
查看>>
git diff命令
查看>>
LeetCode:Climbing Stairs(DP)
查看>>
STC12C5A60S2笔记7(定时器)
查看>>
[HNOI2004]宠物收养场 BZOJ1208 splay tree
查看>>
Python标准模块--built-ins函数
查看>>
mysql超时机制
查看>>
复习java基础第一天
查看>>
程序后台服务启动,MongoDB未启动(启动较慢)/(关机重启情况下)。
查看>>
数据库系统阶段特点
查看>>
假期演练1-3
查看>>