翼度科技»论坛 云主机 LINUX 查看内容

别再傻傻地用 ifconfig 查地址了!这条命令足以让你摘掉小白工程师的帽子

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
大家好,我是民工哥。
众所周知,在 Linux 系统中,ip 和 ifconfig 这个两命令的功能十分相似,ifconfig 是 net-tools 中已被弃用的一个命令,很多年前就已经没有维护了。但是今天我们不讨论与学习这个,来学习一个更强大的命令工具:iproute2。
别再用 ifconfig 啦!赶紧试试这个吧:iproute2 !
简介

Iproute2 是一个在 Linux 下的高级网络管理工具软件。实际上,它是通过 rtnetlink sockets 方式动态配置内核的一些小工具组成的,从 Linux2.2 内核开始,Alexey Kuznetsov 实现了通过 rtnetlink sockets 用来配置网络协议栈,它是一个现代的强大的接口。
Iproute2 之所以出现,是因为,之前一直以来,互联网上的一些不关联的网络工具都被打包进了 net-tools,随着时间的推移,很多工具都已经没有维护了。所以,才使用了新的名字 iproute2 来替代net-tools工具包。
目前iproute2工具包内的工具,它们使用方式都非常的相似,且统一开发维护,这样也便于用户灵活的运用工具包内的工具。
net-tools 和 iproute2 的对比


安装与使用

安装

centos 安装 iproute2 命令
  1. yum install -y iproute
复制代码
  1. [root@CentOS7-1 ~]# ip -Vip utility, iproute2-ss170501
复制代码
常用命令及参数介绍
  1. ip link  #网络设备配置命令,如:启用/禁用某个网络设备,改变mtu及mac地址等
  2. ip addr  #管理某个网络设备与协议 (IP或IPv6) 有关的地址,与ip link类似
  3. ip addrlabe  #IPV6的地址标签,
  4. ip route #管理路由· 如添加,删除等
  5. ip rule  #管理路由策略数据库
  6. ip neigh #用于neighbor/ARP表的管理
  7. ip tunnel #隧道配置
  8. ip maddr  #多播地址管理
  9. ip mroute  #多播路由管理
  10. ip monitor #状态监控
  11. ip xfrm  #配置xfrm 
复制代码
使用

查看arp缓存表


iproute2的核心命令是ip命令,下面一起来看看具体的操作。
查看网络接口信息
  1. [root@CentOS7-1 ~]# ip link show
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
  3.     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  4. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
  5.     link/ether 00:0c:29:25:62:6f brd ff:ff:ff:ff:ff:ff
复制代码
上面是查看所有的网络接口信息,也可以查看指定的接口信息:
  1. [root@CentOS7-1 ~]# ip link show ens33
  2. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
  3.     link/ether 00:0c:29:25:62:6f brd ff:ff:ff:ff:ff:ff
复制代码
配置网络接口

通过使用以下命令来打开或关闭网络接口:
  1. ip link set ens33 up
  2. ip link set ens33 down
复制代码
还可以使用 ip link 子命令来配置网络接口的属性。比如,如果你想打开或关闭网络接口的多播标志:
  1. ip link set ens33 multicast on
  2. ip link set ens33 multicast off
复制代码
还可以通过下面的命令来修改 MTU 和分组队列的长度:
  1. ip link set ens33 mtu 1500
  2. ip link set ens33 txqueuelen 1000
复制代码
查看路由表


linux 系统中,可以自定义从 1-252个路由表,其中,linux系统维护了4个路由表:
  1. 0: #系统保留表
  2. 253: #defulte table 没特别指定的默认路由都放在改表
  3. 254: #main table 没指明路由表的所有路由放在该表,**默认表**
  4. 255: #locale table 保存本地接口地址,广播地址、NAT地址 由系统维护,用户不得更改
复制代码
显示所有路由
  1. [root@CentOS71 ~]# ip route
  2. default via 192.168.1.1 dev ens33 proto static metric 100 
  3. 192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
复制代码

路由策略 ip rule

使用语法如下:
  1. Usage: ip rule [ list | add | del ] SELECTOR ACTION 
复制代码
查看规则
  1. ip rule show
复制代码

上图所显示内容的第一个字段就是优先级别(prio),数字越小,代表优先级别越高,也代表这条规则越靠前。比如:在进行对数据包条件匹配时,优先级高的就越早被匹配到。从输出的数据中可以看出,默认优先级别 0、32766 及 32767 已被占用。
所以,如果在添加规则时没有特别指定prio优先,默认就是从32766开始向下递减,也就是说从32765开始,如需指定,可以使用下面的命令:
  1. ip rule add xxxxx  xxxx table xxxx prio 6666
复制代码
添加规则,有两种方法:

  • 根据源IP地址
  1. ip rule add from 192.168.100.10 table 10  
  2. ip rule add from 192.168.100.0/24 table 20 
复制代码

  • 根据目标IP地址
  1. ip rule add to 192.168.100.10 table 10  
  2. ip rule add to 192.168.100.0/24 table 20 
复制代码
ip route还可以结合iptables做高级路由策略,比如给数据包打上标记等等。
这个工具包的功能十分强大,有兴趣的读者可以自行体验,也欢迎大家积极分享你在工作中所使用的好用、实用的工具、命令。

来源:https://www.cnblogs.com/youkanyouxiao/p/17947089
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具