基于iproute命令集配置Linux网络

时光毁灭记忆、已成空白 提交于 2019-11-27 16:47:32

  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

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!