Contents

Linux IP 命令

Contents

目前各大发行版都在推ip命令了,原有的ifconfig可能会慢慢退出历史舞台了,先总结几条常用的以备不时之需。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#列出路由
ip route list
ip route show
ip route

#查看指定网段的路由
ip route list 192.168.2.0/24

#添加路由
ip route add 192.168.2.0/24 via 192.168.1.1

#追加路由
ip route append 192.168.2.0/24 via 192.168.1.12 #追加一个指定网络的路由,为了平滑切换网关使用

#修改路由
ip route change 192.168.2.0/24 via 192.168.1.11
ip route replace 192.168.2.0/24 via 192.168.1.111

#删除路由
ip route del 192.168.2.0/24 via 192.168.1.1

#清空指定网络的路由
ip route flush 192.168.2.0/24 #这个是清理所有192.168.2.0/24相关的所有路由,有时候设置错网关存在多条记录,就需要一次性清空相关路由再进行添加

#添加默认路由**
ip route add default via 192.168.1.1

#指定路由metirc
ip route add 192.168.2.0/24 via 192.168.1.15 metric 10

#增加删除GRE隧道
ip tunnel add gre01 mode gre local 10.1.1.1 remote 20.2.2.1 ttl 255
ip tunnel del gre01

#IPIP隧道
ip tunl a ipip01 mode ipip local 10.1.1.1 remote 20.2.2.1 ttl 255

#显示隧道
ip tunnel show

#显示隧道统计
ip -s tunl ls gre01

#邻居和arp表管理

#查看arp表
ip neigh show

#手工增加删除arp项
ip neighbor add 10.2.2.2 dev eth0
ip neigh del 10.2.2.1 dev eth0

#socket统计

#显示当前监听
ss -l

#显示当前监听的进程
ss -p

ip link show #显示链路

ip addr show #显示地址(或ifconfig)

ip route show #显示路由(route -n)

ip neigh show #显示arp表(ping 192.168.95.50,如果主机在同一局域网内,直接加到arp表)

ip neigh delete 192.168.95.50 dev eth0 #删除arp条目,条目仍然存在状态为stale,下次通信需要确认

ip rule show #显示缺省规则

ip route del default dev eth0 #删除接口路由

ip route show table local #查看本地静态路由

ip route show table main #查看直连路由

#添加静态路由

ip route add 10.0.0.0/24 via 192.168.92.129
ip route add 10.10.10.10 via 192.168.92.129
ip route add 172.31.100.0/24 dev eno16777736
ip route add 172.32.0.2 dev eno16777736

#查看路由表

ip route show table main

#删除
ip route del 10.0.0.0/24
ip route del 10.10.10.10
ip route del 172.31.100.0/24
ip route del 172.32.0.2

#再次查看路由表

ip route show table main
ip route show table local

#添加网卡别名
ip addr add 192.168.0.11/24 dev eno16777736

#查看下网卡,别名没有产生,而是直接继承
ip addr show eno16777736

#添加网卡别名并添加标记 label
ip addr add 192.168.1.2 label eno16777736:0 dev eno16777736

#查看下,多了eno16777736:0
ip addr show eno16777736
ip addr add 192.168.55.191/24 label eth0:1 dev eth0
ip addr show


##################################################################old##################################
#查看路由
route -n

#添加路由
route add -net 192.168.2.0/24 gw 192.168.1.1
route add -host 192.168.2.100/32 gw 192.168.1.1

#删除路由
route del -net 192.168.2.0/24 gw 192.168.1.1
route del -host 192.168.2.100/32 gw 192.168.1.1

#添加默认路由
route add default gw 192.168.1.1

#ifconfig 添加ip
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255 

#删除IP路由
route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.152.33.250 dev  bond0
route del -net 192.168.0.0 netmask 255.255.0.0 gw 10.152.33.250 dev bond0
route del -net 172.16.0.0 netmask 255.240.0.0 gw 10.152.33.250 dev  bond0
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.152.33.240 dev  bond0
route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.152.33.240 dev bond0
route add -net 172.16.0.0 netmask 255.240.0.0 gw 10.152.33.240 dev  bond0