码迷,mamicode.com
首页 > 其他好文 > 详细

ifconfig、route、ip route、ip addr、 ip link 用法

时间:2017-09-08 23:03:15      阅读:525      评论:0      收藏:0      [点我收藏+]

标签:ip及路由记录

      网络管理是一个复杂而庞大的体系,博主最近刚好学了一点关于网络的知识,就跟大家分享一下,如何管理网卡、配置及查看ip地址和路由表。主要通过以下几个命令来演示一下。

 一、ifconfig   

           1)配置地址:

比如修改eth0网卡的ip192.168.174.100,子网掩码为255.255.255.0

ifconfig eth0 192.168.174.100/24  

 

使用ifconfig修改ip直接在内存中生效,重启系统或者重启network服务就丢失

重启服务:Centos6service network restart

          Centos7systemctl restart network

 

           2)具有查看功能:

ifconfig   显示网卡信息,被禁用的网卡看不到,拔了网线断连接不算禁用,仍然能看到该网卡

技术分享 

ifconfig -a   不管启用的网卡还是禁用的都能显示出来,但是看不到禁用网卡的ip

技术分享   ip a也可以查看网卡,但是如果网卡被downifconfig -a不显示该ip,也不显示网卡状态,但是ip a可以显示网卡处于down状态

技术分享 

              3)启用、禁用网卡

 ifconfig eth1 up    启用eth1网卡

   ifconfig eth1 down  禁用eth1网卡,这种禁用是从数据链路层断掉,但是网络层ip还在,也就是仍然能ping

技术分享 

 

 ifdown  eth0   禁用网卡,删除了网络层ip            

技术分享 

4ifconfig -s eth0    扫描eth0接口的数据

技术分享 

     5)网卡别名

        ifconfig eth1:1 192.168.174.100/24   起网卡别名

        ifconfig eth1:1 192.168.174.100/24   删除别名

技术分享 

 

 

      

 

二、route

     1、 查看路由表: route -n

技术分享 

2添加路由记录:是临时添加的记录,重启network服务就失效

     1)添加到达目标主机的路由

          route add -host 目标主机 gw 网关 dev 接口

          比如 eth0网卡添加一条到达10.1.111.111的路由记录,网关是10.2.111.111

          route add -host 10.1.111.111 gw 10.2.111.111 dev eth0

技术分享 

          2)添加到达目标网络的路由

route add -net 目标网络 netmask 子网掩码 gw 网关 dev 接口

              或者route add -net 目标网络/子网掩码 gw 网关 dev 接口

比如 eth0网卡添加一条到达网络10.1.0.0/16的路由,网关是10.2.111.111

          route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.2.111.111 dev eth0  或者

route add -net 10.1.0.0/16 gw 10.2.111.111 dev eth0

技术分享 

          3)添加默认路由

route add default gw 网关

比如给eth0添加一条默认路由,网关是10.2.111.111

  route add default gw 10.2.111.111

技术分享 

     3删除路由记录:

          删除路由记录只需要把添加路由记录命令中的add改成del就可以了,不过删除路由记录可以省略接口

1)删除到达目标主机的路由记录

             route del -host 主机名

          2)删除到达目标网络的路由记录

             route del -net 目标网络/子网掩码

3)删除默认路由

             route del default

三、ip route

      ip route 的用法与route大同小异

          1、显示路由:

                   ip route [show | list]

              ip route显示的路由记录与route显示的格式不一样

技术分享 

          2、添加路由

                1)添加到达目标主机的路由记录

                   ip route add 目标主机 via 网关

2)添加到达网络的路由记录

                   ip route add 目标网络/掩码 via 网关

                3)添加默认路由

                   ip route add default via 网关

下面只举一个例子说明一下。

比如增加一条到达主机10.2.111.112的路由,网关是10.1.111.112

                   ip route add 10.2.111.112 via 10.1.111.112

技术分享 

          3、删除路由

                   ip route del 目标网络/掩码

                   ip route del default [via 网关]

          4、清空路由表:

                   ip route flush

四、ip link  

        1)查看

 Ip link只能看链路层的状态,看不到ip地址

技术分享 

       2)启用、禁用接口

 ip link set device down   禁用指定接口

         ip link set device up     启用指定接口

 比如禁用eth0就是ip link set eth0 down

说明:

      ip link不支持tab键补齐

centos6中有的命令不支持tab键补齐,那么使用需要安装bash-completion包,安装完之后,可以查看包里都支持哪些命令补齐,但是发现ip link不包括在内。   

五、ip addr

         1)查看

ip addr ip a   可以查看网卡的ipmac等,即使网卡处于down状态,也能显示出网卡状态,但是ifconfig查看就看不到。

技术分享 

         ip addr show device  查看指定网卡的信息

         比如查看eth的信息,就是ip addr show eth0

        2)作用域

        scope {global|link|host}]:指明作用域

               global: 全局可用,即两个接口进来的数据我都可以响应。是默认状态。

               link: 仅链接可用,进来的数据只有直接相连的那个接口能够响应

               host: 本机可用,即只能自己访问

技术分享 

      3)增加ip

               ip addr add ip/netmask dev 接口  

   比如给eth0增加一个2.2.2.2/16 地址

       ip addr add 2.2.2.2/16 dev eth0

技术分享 

      4)删除ip

                ip addr del ip/netmask dev 接口   

      5)清空指定网卡的所有ip

                ip addr flush dev 接口        

      6)给网卡起别名,起别名相当于给网卡多绑定了一个ip     

         用法: 比如给网卡eth0增加别名                

ip addr add 3.3.3.3/16 dev eth0 label eth0:1  

技术分享       7)删除别名              

   ip addr del ip/netmask dev eth0 [label eth0:1]  

  

说明一:  

使用命令的方式设置别名,重启服务就没了,若要永久生效,需要写配置文件,步骤如下:

           1、确保NetworkManager服务是停止的

            Centos6: service NetworkManager status 查看服务状态

                   service NetworkManager stop 临时停止

                   chkconfig NetworkManager off  下次开机即停止服务  

            Centos7: systemctl status NetworkManager 查看服务状态

systemctl stop NetworkManager 临时停止

                    systemctl disable NetworkManager   下次开机即停止服务

           2、 编辑配置文件

cd /etc/sysconfig/network-scripts/

               vim ifcfg-eth1:1  至少写入以下内容

                   DEVICE=eth1:1

                   BOOTPROTO=static

                   IPADDR=           ==ip地址

                   PREFIX=           ==》掩码

                   GATEWAY=         ==》网关

               设置别名时必须是静态ip,不能是自动获取

3、 重启服务

         Centos6:  service network restart

         Centos7:  systemctl restart network

 

如果不想要这个别名了,直接删除该文件,然后重启服务即可      

说明二:

       使用命令的方式增加或者删除ip,都是临时的,如果重启network服务,那么操作就失效了。想要永久生效可以修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth*,这个文件是用来设置网卡参数,这个文件内的所有设置,基本上就是bash的变量设置规则(都应该要大写),否则我们的scropt会误判。

步骤如下:

        1) 编辑文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0  至少要有如下几项:

                   DEVICE=eth0

                   BOOTPROTO=static

                   IPADDR=           ==ip地址

                   PREFIX=           ==》掩码

                   GATEWAY=         ==》网关

        2)生效:重启服务

           Centos6:  service network restart

           Centos7:  systemctl restart network

说明三: 使用命令的方式增加或者删除路由记录,都是临时的,如果重启network服务,那么操作就失效了。想要永久生效可以编辑配置文件/etc/sysconfig/network-scripts/route-eth*,步骤如下:   

              1vim etc/sysconfig/network-scripts/route-eth0 

                  文件内容有两种写法:

                  1netid/mask via gw  比如2.2.2.2/16 via 10.0.0.0

                  2ADDRESS#=目标网络

                     NETMASK#=子网掩码

                     GATEWAY#=网关

2、重启服务

                  Centos6:  service network restart

                      Centos7:  systemctl restart network    

       同一路由记录的#数字必须一样,因为可能会添加多条路由,数字一样的为同一组。

       同一个文件里,两种格式不能混合着写

         

 


ifconfig、route、ip route、ip addr、 ip link 用法

标签:ip及路由记录

原文地址:http://13150617.blog.51cto.com/13140617/1963833

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!