iproute是Linux下一个网络管理工具包合集,用于取代先前的如ifconfig,route,ifup,ifdown,netstat等历史网络管理工具。该工具包功能强大,它通过网络链路套接字接口与内核进行联系。iproute的用户界面比net-tools的用户界面要更直观。对网络资源比如链路、IP地址、路由和隧道等用“对象”抽象进行了恰当的定义,因此可以使用一致的语法来管理不同的对象。本文主要描述使用该工具包的ip命令来配置Linux网络。
一、ip命令帮助及模块功能
获取ip命令帮助
1 Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } 2 ip [ -force ] -batch filename 3 where OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable | 4 tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm | 5 netns | l2tp | tcp_metrics | token } 6 OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | 7 -h[uman-readable] | -iec | 8 -f[amily] { inet | inet6 | ipx | dnet | bridge | link } | 9 -4 | -6 | -I | -D | -B | -0 | 10 -l[oops] { maximum-addr-flush-attempts } | 11 -o[neline] | -t[imestamp] | -b[atch] [filename] | 12 -rc[vbuf] [size] | -n[etns] name | -a[ll] }
iproute子模块功能
1 ip link 2 网络设备配置命令,如可以启用/禁用某个网络设备,改变mtu及mac地址等 3 4 ip addr 5 用于管理某个网络设备与协议(ip或ipv6)有关的地址。 6 与ip link类似,不过增加了协议有关的管理(ip地址管理) 7 8 ip addrlabel 9 ipv6的地址标签,主要用于RFC3484中描述的ipv6地址的选择。 10 RFC3484主要介绍了2个算法,用于ipv6地址(源地址和目标地址)的选择策略 11 12 ip route 13 管理路由,如添加,删除 14 15 ip rule 16 管理路由策略数据库。这里边有一个算法,用来控制路由的选择策略 17 18 ip neigh 19 用于neighbor/ARP表的管理,如显示,插入,删除等 20 21 ip tunel 22 隧道配置 23 隧道的作用是将数据(可以是不同协议)封装成ip包然后再互联网传输 24 25 ip maddr 26 多播地址管理 27 28 ip mroute 29 多播路由管理 30 31 ip monitor 32 状态监控。如可以持续监控ip地址和路由的状态 33 34 ip xfrm 35 设置xfrm。xfrm是一个ip框架,可以转换数据包的格式,如用某个算法对数据包加密
二、使用实例
1 查看当前主机网络连接信息 2 # ip link show 3 4 查看当前主机指定网络连接信息 5 # ip link show eno16777728 6 7 多播的启用与关闭 8 # ip link set eno16777728 multicast off 9 # ip link set eno16777728 multicast on 10 11 网卡的启用与关闭 12 # ip link set eno33554960 down 13 # ip link set eno33554960 up 14 15 显示主机ip地址信息 16 # ip addr show 17 18 为指定网卡删除ip地址 19 # ip addr del dev eno33554960 192.168.81.144/24 20 # ip addr show eno33554960 21 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 22 link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff 23 24 为指定网卡添加ip地址 25 # ip addr add dev eno33554960 192.168.81.189/24 26 # ip addr show eno33554960 27 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 28 link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff 29 inet 192.168.81.189/24 scope global eno33554960 30 valid_lft forever preferred_lft forever 31 32 为指定网卡添加多ip地址 33 # ip addr add dev eno33554960 192.168.81.150/24 34 # ip addr show eno33554960 35 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 36 link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff 37 inet 192.168.81.189/24 scope global eno33554960 38 valid_lft forever preferred_lft forever 39 inet 192.168.81.150/24 scope global secondary eno33554960 40 valid_lft forever preferred_lft forever 41 42 为指定网卡添加多ip及使用别名 43 # ip addr add dev eno33554960 192.168.81.199/24 label eno33554960:0 44 45 # ip addr show label eno33554960:0 46 inet 192.168.81.199/24 scope global secondary eno33554960:0 47 valid_lft forever preferred_lft forever 48 49 # ifconfig|grep eno33554960:0 -A2 50 eno33554960:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 51 inet 192.168.81.199 netmask 255.255.255.0 broadcast 0.0.0.0 52 ether 00:0c:29:57:26:a7 txqueuelen 1000 (Ethernet) 53 54 释放特定网卡ip地址 55 # ip addr show eno33554960 56 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 57 link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff 58 inet 192.168.81.144/24 scope global dynamic eno33554960 59 valid_lft 1364sec preferred_lft 1364sec 60 inet 192.168.81.199/24 scope global secondary eno33554960:0 61 valid_lft forever preferred_lft forever 62 # ip addr flush eno33554960 //如果不指定特定网卡,则表示当前主机所有网卡ip地址被释放 63 # ip addr show eno33554960 64 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 65 link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff 66 67 68 使用ip route添加主机路由 69 ###假定要到达目标地址为:192.168.20.1,下一跳为: 172.24.8.254 70 # ip route add 192.168.20.1 via 172.24.8.254 71 # ip route list |grep 192.168.20.1 72 192.168.20.1 via 172.24.8.254 dev eno16777728 73 74 删除之前添加的网络路由和主机路由 75 # ip route del 192.168.10.0/24 ###对于网络路由应指定掩码 76 # ip route del 192.168.20.1 77 78 删除缺省网关 79 # ip route del default 80 # ip route list|grep default 81 82 添加缺省网关 83 # ip route add default via 172.24.8.2 dev eno16777728 84 # ip route list|grep default 85 default via 172.24.8.2 dev eno16777728 86 87 ###配置到达网络192.168.10.0经由172.27.8.2路由并且从这个ip 172.27.8.150收发数据包 88 # ip route add 192.168.10.0 via 172.27.8.2 src 172.27.8.150 89 # ip route list |grep 172.27.8.150
来源:https://www.cnblogs.com/yusi007/p/11937857.html