Linux之網絡管理(6)ip及路由相關命令

Linux之網絡管理(6)ip及路由相關命令

linux中提供了很多強大的網絡管理工具,而且每更新一些版本後都會有新功能、新工具的出現,對於iproute設置最常用的,就是ifconfigroute等命令了。

 

IP及設備相關的命令使用:

ifconfig 命令

查看接口設備信息

ifconfig                 #查看所有啓用(up狀態)的接口信息

ifconfig  ifcfg-x        #查看指定的網絡接口信息

ifconfig  -a             #查看所有網卡接口設備信息

ifconfig  -s             #顯示設備列表中數據傳輸狀態信息

啓用或禁用網卡接口設備

ifconfig  ifcfg-ethX  {up|down}               #up爲啓用,down爲禁用

設置接口設備基本信息

ifconfig  ifcfg-ethX  ipaddr/prefixlen             #設置網卡IP及子網掩碼:格式一

ifconfig  ifcfg-ethX  ipaddr  netmask  maskaddr    #設置網卡IP及子網掩碼:格式二

ifconfig  ifcfg-ethX  IP/MASK  up   #設置網卡IP及子網掩碼並激活此設備

ifconfig  ifcfg-ethX  mtu  N        #設置指定設備的最大傳輸單元,默認爲1500

給指定網卡添加別名及IP

ifconfig  ifcfg-ethX:X  ipaddr/prefixlen  up

 

  

ip命令

查看接口設備

ip  link  show      #顯示所有接口設備

ip  link  show  up  #只查看查看激活的設備

ip  -o  link  show  up     #每個啓用的設備列表信息顯示在一行

啓用或禁用接口設備

ip  link  set  {up|down}  dev  ethX         

ip  link  set  up  dev  eth1             #啓用指定設備 eth1

ip  link  set  down  dev  eth1            #禁用指定設備eth1

查看ip

ip  addr  show            #顯示所有網卡設備IP地址等信息

ip  addr  show  up        #只顯示啓用狀態網卡設備IP地址等信息

ip  addr  show  [ethX]    #顯示指定網卡ethXIP地址等信息

ip  addr  show  to  2/8   #顯示子網位8ip2開頭的地址

設置ip

ip  addr  add  addr/prefixlen  dev  ethX        #給指定設備添加IP地址

ip  addr  del   addr/prefixlen  dev  ethX        #刪除指定設備的指定IP地址

ip  add   add  addr/prefixlen  dev  ethX  label  ethX:X  #對指定網卡添加別名設備

清除 ip

ip  addr  flush  dev  ethX                  #清除指定網卡ethX的所有地址

ip  addr  flush  to  8  ethX                #清除ethX子網掩碼爲8位的所有IP

ip  addr  flush  to  1/8  ethX              #清除ethX IP開頭爲1子網位數8爲的IP

 

 

網關路由Route的相關命令使用:

route 命令

查看路由

route                         #查看所有路由表

route  -n                     #查看所有路由表,並以數字方式顯示

添加路由

route  add  defualt   dev  eth0     #eth0添加默認路由

route  add  0.0.0.0   dev  eth0   

添加指定地址路由:

#給指定設備設置通往指定IP主機的網關

route  add  -host  ipaddr   dev  ethX    

#給指定設備設置主機並指定路由

route  add  -host  ipaddr/prefixlen   dev  ethX    

route  add  -host  ipaddr  netmask  maskaddr   dev  ethX

#指定網段路由

route  add  -net   10.0.0.0/8    dev  eth0

route  add  -net   172.0.0.0  netmask  255.255.0.0   dev  eth0

#指定網關的路由

route  add  -net   10.0.0.0/8   gw   10.0.0.2   dev  eth0

刪除路由

route  del   defualt                       #刪除默認路由

route  del   0.0.0.0   dev  eth0    

route  del   -host   10.0.0.1/8            #刪除指定主機路由

route  del   -host   10.0.0.1/8  dev  eth1   

route  del   -net    10.0.0.0/8  gw  10.0.0.2     #刪除指定網關的路由

 

 

ip  命令

查看路由

ip  route              #查看所有路由

設置路由

ip  route  add   default   [ via   ipaddr  dev  ethX ]    #添加默認路由

ip  route  add   0.0.0.0                                  #添加默認路由

ip  route  del   default                                  #刪除默認路由

ip  route  add  10.0.0.10   via  10.0.0.20  dev  eth0     #添加指定主機路由

ip  route  add  10.0.0.0/8  via  10.0.0.2   dev  eth0     #添加指定網段路由並指定網關

ip  route  del   10.0.0.0/8dev   eth0                     #刪除指定網段路由

ip  route  del   10.0.0.10     dev   eth0                 #刪除指定主機路由

ip  route  change  10.0.0.0/8   via   20.0.0.10  dev  eth0    #修改指定路由網關

 

IP設置使用案例:

ifconfig  命令

設置eth2設備的ip地址並啓用

[root@mzf ~]# ifconfig eth2 20.0.0.20/8  up

查看 eth2 修改後的ip的地址

[root@mzf ~]# ifconfig eth2

wKiom1fVB8PDMOWsAAAf3I4SjIQ883.png 

解析:其中inet addr顯示爲IP地址,而 Mask指定爲子網掩碼,HWaddr爲網卡的MAC物理地址。

禁用eth2 設備

[root@mzf ~]# ifconfig eth2 down

eth2添加別名設備地址

[root@mzf ~]# ifconfig eth2:1  172.0.0.10 netmask 255.255.0.0 up

同時查看eth2eth2:1別名設備

[root@mzf ~]# echo -e "eth2\neth2:1" | xargs -I {}  ifconfig {}

wKiom1fVB_HyWHDaAAAotahiH64204.png 

注意:剛纔添加別名時最後設置爲激活狀態,但是ifconfig查看此設備並未激活,因爲eth2本身是禁用狀態,因此eth2啓動,eth2:1纔會起用並有效。

再次啓用eth2

[root@mzf ~]# ifconfig eth2 up

解析:這裏ifconfig再次查看就能同時顯示eth2eth2:1ip信息了,但是如果此時禁用掉eth2:1別名設備,那麼再次啓動別名設備就不行了,因爲數據在內存中,並未配置文件正宗保存永久數據。

#設置eth2:1別名設備的最大傳輸單元爲900

[root@mzf ~]# ifconfig eth2:1 mtu 900

wKioL1fVCBLBu0xTAAAS5wvvGCw688.png 

 

ip命令

查看所有網卡設備

[root@mzf ~]# ip link show

 wKiom1fVCDvj1Ho6AAAiaOwBfJY682.png

解析:這裏顯示所有網絡設備,stateDOWN表示禁用,stateUP表示啓用。

只顯示啓用狀態的設備

[root@mzf ~]# ip link show up

wKiom1fVCFmihwXnAAAYTPp8oBo125.png

只顯示禁用狀態設備,這裏只有eth2爲禁用

[root@mzf ~]# ip -o link show | grep --color 'state[[:space:]]DOWN'

wKioL1fVCGODuh1oAAASzb5szlU634.png啓用eth2設備

[root@mzf ~]# ip link set up dev eth2

再次查看eth2設備狀態,紅色UP表示eth2已經啓用

[root@mzf ~]# ip link show dev eth2 | grep --color -A 2 'state [^[:space:]]\+\>'

wKioL1fVCJGCYCEQAAASnOjUTtw480.png 

eth2添加額外ip地址

[root@mzf ~]# ip addr add 172.0.0.20/16 dev eth2

 wKioL1fVCKuChZERAAAZjxQq-eI650.png

解析:這裏現在eth2已經有3IP 地址了。

eth2添加別名設備

[root@mzf ~]# ip addr add 192.168.0.10/24 dev eth2 label eth2:1

刪除指定條目地址

[root@mzf ~]# ip addr del 192.168.0.10/24 dev eth2

產看指定ip條目,只顯示172開頭的ip

[root@mzf ~]# ip addr show to 172/8 dev eth2

清除指定設備的指定ip

[root@mzf ~]# ip addr flush to 172/8 dev eth2

清除指定設備所有ip

[root@mzf ~]# ip addr flush dev eth2

wKioL1fVCPXyBN8zAAARhrF7vZk875.png 

 

route設置使用案例:

route 命令

查看路由表

[root@mzf ~]# route -n

wKiom1fVCSuwn03uAAARCSccWK8205.png 

eth2添加默認路由,並設置網關地址

[root@mzf ~]# route add default gw 20.0.0.2 dev eth2

刪除eth2默認路由

[root@mzf ~]# route del default dev eth2

添加指定主機並設置網關

[root@mzf ~]# route add -host 10.1.249.185 gw 10.1.250.111  dev eth1

添加指定網段並設置網關

[root@mzf ~]# route add -net 20.0.0.0/8 gw 10.1.0.1  dev eth1

刪除指定主機路由

[root@mzf ~]# route del -host 10.1.249.185 dev eth1

刪除指定網段路由

[root@mzf ~]# route del -net 169.254.0.0/16 dev eth1


ip命令

顯示所有route

[root@mzf ~]# ip route show
10.1.0.0/16 dev eth1  proto kernel  scope link  src 10.1.249.145 
20.0.0.0/8 via 10.1.0.1 dev eth1 
20.0.0.0/8 dev eth2  proto kernel  scope link  src 20.0.0.20 
default via 10.1.0.1 dev eth1

添加192.168網段路由指定網關

[root@mzf ~]# ip route add 192.168.0.0/24 via 20.0.0.20 dev eth2

修改eth2設備指定網段的網關地址

[root@mzf ~]# ip route change 192.168.0.0/24 via 20.0.0.10 dev eth2

刪除指定條目路由

[root@mzf ~]# ip route del 20.0.0.0/8  dev eth2

清除所有設備10開頭的ip網段路由

[root@mzf ~]# ip route flush to 20/8


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章