• 比如修改eth0网卡的ip为192.168.174.100,子网掩码为255.255.255.0 ifconfig eth0192.168.174.100/24 使用ifconfig修改ip会直接在内存中生效,重启系统或者重启network服务就丢失。 重启服务:Centos6:ser...

    linux中的 ip addr 和 ip link命令详解

    一、ip addr命令

    我是使用的linux系统是redhat7.3,其它linux的相关操作大同小异(在这里不做赘述)

    1.查看

    (1). ip addr 的缩写是ip a ,可以查看网卡的ip、mac等, 

    即使网卡处于down状态,也能显示出网卡状态,但是ifconfig查看就看不到。

    (2).ip addr show device  查看指定网卡的信息

    比如查看网卡接口的信息,就是ip addr show eth0

     

    2.增加ip

    ip addr add ip/netmask dev 接口

    比如给eth0增加一个172.25.21.1/24 地址

    ip addr add 172.25.21.1/24 dev eth0

    3.删除ip

    ip addr del ip/netmask dev 接口   

    4.清空指定网卡的所有ip

    ip addr flush dev 接口        

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

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

     ip addr add 172.25.21.1/32 dev eth0 label eth0:1

     6.删除别名              

     ip addr del ip/netmask dev eth0 

    注意:

    使用命令的方式设置别名,重启服务就没了,若要永久生效,

    需要写配置文件,步骤如下:

    1、确保NetworkManager服务是停止的

        systemctl stop NetworkManager    关闭该服务 

        systemctl disable NetworkManager  开机不自启动

       注意:

    使用命令的方式增加或者删除ip,都是临时的,

    如果重启network服务,那么操作就失效了。

    想要永久生效可以修改配置文件ifcfg-eth0

    二、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键补齐

    展开全文
  • ip addr详解

    2019-07-17 21:13:47
    Windows上查看IP地址是ipconfig, Linux上是ifconfig,但是Linux上还有一个命令叫ip addr可以查看IP地址。 ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link...

    Windows上查看IP地址是ipconfig, Linux上是ifconfig,但是Linux上还有一个命令叫ip addr可以查看IP地址。

     

    ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:1c:62:51 brd ff:ff:ff:ff:ff:ff
        inet 192.168.164.13/24 brd 192.168.164.255 scope global ens33
           valid_lft forever preferred_lft forever
        inet6 fe80::5df:3b5f:e5fe:ddc2/64 scope link
           valid_lft forever preferred_lft forever

    如上图所示命令显示了机器上的所有网卡,大部分网卡都有一个IP地址,也存在特殊情况没有IP地址。这里IP地址是192.168.164.13/24。

    IP地址

    IP地址是网卡的在网络世界的通讯地址,相当于门牌号,如果相同则会冲突。一开始将IP地址分成5类,前一部分是网络号,后一部分是主机号,如下图。

    但是实际上IP地址是不够用的,现在也有了IPv6,但是按照上图的分配方式 C类地址只有254个主机太少,网吧都不够用,A类又太多。

    于是便有了无类型区域间选路(CIDR),他将32位的IP一分为二,前面是网络号,后面是主机号,比如192.168.164.13/24,这个 IP 地址中有一个斜杠,斜杠后面是24,表示24位网络号,8位主机号。广播地址192.168.164.255,如果发送这个地址,所有192.168.164网段的都可以收到,另一个是子网掩码,255.255.255.0。子网掩码与IP进行与运算得到192.168.164.0就是网络号。这就是我们日常生活中所使用的IP,是为私有IP地址,私有IP地址由网络管理人员或直接进行分配。比如我们在不同的学校,使用不同的局域网,我们的IP可以一样。

    而公有IP是有组织统一分配的,需要个人购买。像百度,他得有公有IP,这样全世界的人才能访问。比如我们在不同的学校,宿舍地址都是A栋302,这是私有IP,出了学校,我们先说是不同的大学的,这是公有IP。

    对于IP地址后面的scope说明这张网卡是对外的,可以接收各个地方的包。而对于第一条 lo来讲,她是host,只可以本机互相通信,lo是loopback的简称,又称环回接口,地址基本读书127.0.0.1,她用于本地通信,内核处理后又返回,不会出现在网络中。

    MAC地址

    IP地址上一行的link/ether 70:1c:e7:30:5d:fe brd ff:ff:ff:ff:ff:ff 表示MAC地址,是网卡的物理地址,用十六进制表示,6个byte。MAC号称全网唯一,相当于一个人的身份证,在通信的时候,虽然有了这个唯一标志,但是也需要其他的网络层,这是因为你去找人的时候,光喊

    身份证是没有用的,你需要先去相应的地址,比如某个宿舍,然后再喊身份证号码,这样才能定位。MAC的定位作用范围有限,需要借助其他的网络层。

    网络设备状态标识

    再上面一行,<BROADCAST,,MULTICAST,UP,LOWER_UP>这个叫作net_device flags,网络设备状态标识。

    UP 表示网卡处于启动的状态;

    BROADCAST 表示这个网可以发送广播包;MULTICAST 表示网卡可以发送多播;

    LOWER_UP表示网线插着;

    MTU1500是指最大传输单元 MTU 为 1500,这是以太网的默认值。MTU 是二层 MAC 层的概念。MAC 层有 MAC 的头,以太网规定连 MAC 头带正文合起来,不允许超过 1500 个字节。正文里面有 IP 的头、TCP、HTTP的头。如果放不下,就需要分片来传输。

    qdisc 全称是queueing discipline,中文叫排队规则。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的 qdisc ( 排队规则 ) 把数据包加入 队列。 最简单的 qdisc 是 pfifo,它不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。pfifo_fast 稍微复杂一些,它的队列包括三个波段 ( band ) 。在每个波段里面,使用先进先出 规则。 三个波段 ( band ) 的优先级也不相同。band 0 的优先级最高,band 2 的最低。如果 band 0 里面 有数据包,系统就不会处理 band 1 里面的数据包,band 1 和 band 2之间也是一样。 数据包是按照服务类型 ( Type of Service,TOS ) 被分配多三个波段 ( band ) 里面的。TOS 是 IP 头 里面的一个字段,代表了当前的包是高优先级的,还是低优先级的。  然而这里是mq,还木有搞懂是什么样的队列处理方式。 lo中的fq_codel是多队列处理,每一个数据流都有一个队列处理。

    转载于:https://www.cnblogs.com/wqbin/p/11065587.html

    展开全文
  • 在centOS7中,ifconfig命令已经被正式废除了,所以用该指令找不到网卡,我们在centOS中用ip addr来查看我们的网络信息。 lo是环回接口(loopback)。virbr是虚拟网桥(Virtual Bridge),virbr0是虚拟网桥网卡。...

    在centOS7中,ifconfig命令已经被正式废除了,所以用该指令找不到网卡,我们在centOS中用ip addr来查看我们的网络信息。

    lo是环回接口(loopback)。virbr是虚拟网桥(Virtual Bridge),virbr0是虚拟网桥网卡。一般centos6.5版本前普遍默认的网卡是eth0,centos7版本后普遍默认的网卡是ensxx(xx为数字)。当然也有已经修改过的网卡名称。环回接口的作用是作为本地软件环回测试本主机的进程之间的通信之用,简单理解,就是用做本机测试的,而且它的inet,也就是ip,只能是127.0.0.1。

    例如我的是centos7版本 默认网卡名称就是ens33,而centos6.5版本,默认网卡名称为eth0。

    虚拟机中,有些网卡名称是eth1或eth2,说明这个虚拟影像是被复制的,由于在物理机中的网卡eth0自动识别了物理机的MAC地址,在虚拟机中运行网卡名称就会自动变成eth1,如果复制这个虚拟影像在另一台电脑上运行,则网卡名称会变成eth2。但也可以修改ifcfg-eth0配置文件,绑定MAC地址,删除/etc/udev/rules.d/70-persistent-net.rules配置文件,重启生效。

    展开全文
  • linux iproute2包中ip命令的使用 在centos 后续版本中 net-tools 的包被替换成了iproute2这个包,这个命令添加的东西都是临时生效的,关机就会消失,如果想要永久保存需要编写配置文件,或者使用nmcli生成,在nmcli...

    linux iproute2包中ip命令的使用

    在centos 后续版本中 net-tools 的包被替换成了iproute2这个包,这个命令添加的东西都是临时生效的,关机就会消失,如果想要永久保存需要编写配置文件,或者使用nmcli生成,在nmcli有介绍IP地址的配置。
    今天介绍写ip 下的几个命令:
    ip addr 网络三层的IP地址配置,如修改ip,添加ip等(临时生效)
    ip link 网络二层的配置 如启用禁用某个网卡设备,改变mtu,修改mac地址等(临时生效)
    ip route 网络三层的路由表配置,如添加路由,删除路由等(临时生效)
    ip neigh 查看arp ,添加删除静态arp表项
    ip tunnel 隧道配置

    一、ip addr配置ip

    1. 临时添加ip地址
    [root@localhost ~]#ip addr add 1.1.1.1/24 dev ens37
    [root@localhost ~]#
    [root@localhost ~]#ip addr show ens37
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    
    1. 删除ip地址
      比如我添加了两个ip 地址 如果想删除其中一个(使用ip addr del),删除全部( ip addr flush)。
    [root@localhost ~]#ip addr add 2.2.2.2/24 dev ens37
    [root@localhost ~]#ip addr show ens37
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
        inet 2.2.2.2/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#ip addr del 2.2.2.2/24 dev ens37
    [root@localhost ~]#ip addr show ens37
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#ip addr flush dev ens37
    [root@localhost ~]#ip addr show ens37
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
    [root@localhost ~]#
    
    1. 配置子接口地址
      label 添加子地址,现在仅仅是加个标签,其实可以配合交换机做单臂路由。用服务器的一个接口当多个vlan的网关,以后介绍。
      删除的话,把add 换成 del 即可。
    [root@localhost ~]#ip addr add 2.2.2.2/24 dev ens37 label ens37:1
    [root@localhost ~]#ip addr add  1.1.1.1/24 dev ens37
    [root@localhost ~]#ip add show ens37
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 2.2.2.2/24 scope global ens37:1
           valid_lft forever preferred_lft forever
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    
    1. 查看ip地址
      查看单个网卡的ip地址(ip addr show ens37)
    [root@localhost ~]#ip add show ens37
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 2.2.2.2/24 scope global ens37:1
           valid_lft forever preferred_lft forever
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    

    查看全部网卡的(简写:ip a)全称是 ip addr show 或者ip addr

    [root@localhost ~]#ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:a5 brd ff:ff:ff:ff:ff:ff
        inet 192.168.198.138/24 brd 192.168.198.255 scope global noprefixroute dynamic ens33
           valid_lft 1654sec preferred_lft 1654sec
        inet6 fe80::61ae:79b3:1455:75e9/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    4: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 2.2.2.2/24 scope global ens37:1
           valid_lft forever preferred_lft forever
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    
    1. 有条件筛选查看
      ip -4 a 查看所有接口的ipv4地址
      ip -6 addr show ens33 查看ens33 接口的ipv6地址
    [root@localhost ~]#ip -4 a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 192.168.198.138/24 brd 192.168.198.255 scope global noprefixroute dynamic ens33
           valid_lft 1577sec preferred_lft 1577sec
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    5: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 2.2.2.2/24 scope global ens37:1
           valid_lft forever preferred_lft forever
        inet 1.1.1.1/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#ip -6 addr show ens33
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
        inet6 fe80::61ae:79b3:1455:75e9/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    

    二、ip link 禁用网卡,配置mac,修改mtu

    1. 禁用启用网卡,使用(ip link set up/down)
      注意 state 那个状态,如果使用ip link 关闭的设备是不被nmcli 纳管的,在nmcli 里显示的是不可用
    [root@localhost ~]#ip a show ens37
    5: ens37: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 5.5.5.5/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#ip link set down ens37
    [root@localhost ~]#ip a show ens37
    5: ens37: <BROADCAST,MULTICAST,DYNAMIC> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
        link/ether 00:0c:29:b4:5b:af brd ff:ff:ff:ff:ff:ff
        inet 5.5.5.5/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    [root@localhost ~]#ip link set up ens37
    
    1. 修改mac地址(如非必要,不要修改)(使用 ip link set 修改)
    [root@localhost ~]#ip a show ens37
    5: ens37: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b4:0a:aa brd ff:ff:ff:ff:ff:ff
        inet 5.5.5.5/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    [root@localhost ~]#ip link set ens37 address 00:0c:29:aa:aa:aa
    [root@localhost ~]#ip a show ens37
    5: ens37: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:aa:aa:aa brd ff:ff:ff:ff:ff:ff
        inet 5.5.5.5/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    
    1. 修改mtu值(如非必要,不要修改)
    [root@localhost ~]#ip a show ens37
    5: ens37: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:aa:aa:aa brd ff:ff:ff:ff:ff:ff
        inet 5.5.5.5/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#ip link set ens37 mtu 1492 
    [root@localhost ~]#ip a show ens37
    5: ens37: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:aa:aa:aa brd ff:ff:ff:ff:ff:ff
        inet 5.5.5.5/24 scope global ens37
           valid_lft forever preferred_lft forever
    [root@localhost ~]#
    

    三、ip route 配置路由

    1. 添加路由
      添加网段的路由记得加上掩码,主机路由不需要加掩码,后面不用跟设备也可。
      添加默认路由 需要加设备。删除的时候不需要(ip route del default )
    [root@localhost ~]#ip route add default via 192.168.198.145 dev ens33
    [root@localhost ~]#ip route add 192.168.0.0/24 via 5.5.5.1
    [root@localhost ~]#ip route add 2.2.2.2 via 5.5.5.1
    
    1. 删除路由
      删除路由只需要加上前面的主机路由或者网段路由即可,不用加网关或设备
      使用ip route flush dev ens37 清空ens37 的路由
    [root@localhost ~]#ip route del 2.2.2.2 
    [root@localhost ~]#ip route 
    default via 192.168.198.2 dev ens33 proto dhcp metric 100 
    5.5.5.0/24 dev ens37 proto kernel scope link src 5.5.5.5 
    192.168.0.0/24 via 5.5.5.1 dev ens37 
    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
    192.168.198.0/24 dev ens33 proto kernel scope link src 192.168.198.138 metric 100 
    [root@localhost ~]#ip route del 5.5.5.0/24
    [root@localhost ~]#ip route 
    default via 192.168.198.2 dev ens33 proto dhcp metric 100 
    192.168.0.0/24 via 5.5.5.1 dev ens37 
    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
    192.168.198.0/24 dev ens33 proto kernel scope link src 192.168.198.138 metric 100 
    [root@localhost ~]#ip route flush dev ens37 
    
    1. 查看路由
      使用ip route list 查看全部路由表或者ip route
      使用ip route list get 目标ip 可以查看这个目标ip 会丢进哪个网卡
    [root@localhost ~]#ip route
    default via 192.168.198.2 dev ens33 proto dhcp metric 100 
    2.2.2.2 via 5.5.5.1 dev ens37 
    5.5.5.0/24 dev ens37 proto kernel scope link src 5.5.5.5 
    192.168.0.0/24 via 5.5.5.1 dev ens37 
    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
    192.168.198.0/24 dev ens33 proto kernel scope link src 192.168.198.138 metric 100 
    [root@localhost ~]#ip route get 1.1.1.1
    1.1.1.1 via 192.168.198.2 dev ens33 src 192.168.198.138 
        cache 
    [root@localhost ~]#ip route get 5.5.5.9
    5.5.5.9 dev ens37 src 5.5.5.5 
        cache 
    [root@localhost ~]#
    

    四、ip neigh 配置arp

    1. 查看arp
    [root@localhost ~]#ip neigh
    192.168.198.1 dev ens33 lladdr 00:50:56:c0:00:08 DELAY
    192.168.198.145 dev ens33 lladdr 00:0c:29:84:13:80 REACHABLE
    192.168.198.2 dev ens33 lladdr 00:50:56:f6:6a:a7 REACHABLE
    [root@localhost ~]#
    
    1. 添加静态arp
    [root@localhost ~]#ip neigh add 5.5.5.2 lladdr 00:50:56:f6:aa:aa dev ens37 
    [root@localhost ~]#ip neigh 
    192.168.198.1 dev ens33 lladdr 00:50:56:c0:00:08 REACHABLE
    5.5.5.2 dev ens37 lladdr 00:50:56:f6:aa:aa PERMANENT
    192.168.198.145 dev ens33 lladdr 00:0c:29:84:13:80 STALE
    192.168.198.254 dev ens33 lladdr 00:50:56:f7:97:89 STALE
    192.168.198.2 dev ens33 lladdr 00:50:56:f6:6a:a7 STALE
    [root@localhost ~]#
    
    1. 删除静态arp
    [root@localhost ~]#ip neigh add 5.5.5.2 lladdr 00:50:56:f6:aa:aa dev ens37 
    

    五、ip tunnel 隧道配置

    明天做个简单的gre tunnel
    拓扑大概是这个样子:
    在这里插入图片描述

    展开全文
  • ip route 命令详解

    2018-05-16 10:27:18
    linuxip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。ip...

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。

    Net tools vs Iproute2

    Net tools vs Iproute2

    要安装ip,请点击这里下载iproute2套装工具 。不过,大多数Linux发行版已经预装了iproute2工具。

    你也可以使用git命令来下载最新源代码来编译:

    1. $ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git

    iproute2 git clone

    iproute2 git clone

    设置和删除Ip地址

    要给你的机器设置一个IP地址,可以使用下列ip命令:

    1. $ sudo ip addr add 192.168.0.193/24 dev wlan0

    请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。

    在你按照上述方式设置好IP地址后,需要查看是否已经生效。

    1. $ ip addr show wlan0

    set ip address

    set ip address

    你也可以使用相同的方式来删除IP地址,只需用del代替add。

    1. $ sudo ip addr del 192.168.0.193/24 dev wlan0

    delete ip address

    delete ip address

    列出路由表条目

    ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的路由条目,你可以随意改动它。

    在这个例子中,有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括WIFI、以太网和一个点对点连接。

    1. $ ip route show

    ip route show

    ip route show

    假设现在你有一个IP地址,你需要知道路由包从哪里来。可以使用下面的路由选项(译注:列出了路由所使用的接口等):

    1. $ ip route get 10.42.0.47

    ip route get

    ip route get

    更改默认路由

    要更改默认路由,使用下面ip命令:

    1. $ sudo ip route add default via 192.168.0.196

    default route

    default route

    显示网络统计数据

    使用ip命令还可以显示不同网络接口的统计数据。

    ip statistics all interfaces

    ip statistics all interfaces

    当你需要获取一个特定网络接口的信息时,在网络接口名字后面添加选项ls即可。使用多个选项-s会给你这个特定接口更详细的信息。特别是在排除网络连接故障时,这会非常有用。

    1. $ ip -s -s link ls p2p1

    ip link statistics

    ip link statistics

    ARP条目

    地址解析协议(ARP)用于将一个IP地址转换成它对应的物理地址,也就是通常所说的MAC地址。使用ip命令的neigh或者neighbour选项,你可以查看接入你所在的局域网的设备的MAC地址。

    1. $ ip neighbour

    ip neighbour

    ip neighbour

    监控netlink消息

    也可以使用ip命令查看netlink消息。monitor选项允许你查看网络设备的状态。比如,所在局域网的一台电脑根据它的状态可以被分类成REACHABLE或者STALE。使用下面的命令:

    1. $ ip monitor all

    ip monitor all

    ip monitor all

    激活和停止网络接口

    你可以使用ip命令的up和down选项来激某个特定的接口,就像ifconfig的用法一样。

    在这个例子中,当ppp0接口被激活和在它被停止和再次激活之后,你可以看到相应的路由表条目。这个接口可能是wlan0或者eth0。将ppp0更改为你可用的任意接口即可。

    1. $ sudo ip link set ppp0 down
    2.  
    3. $ sudo ip link set ppp0 up

    ip link set up and down

    ip link set up and down

    获取帮助

    当你陷入困境,不知道某一个特定的选项怎么用的时候,你可以使用help选项。man页面并不会提供许多关于如何使用ip选项的信息,因此这里就是获取帮助的地方。

    比如,想知道关于route选项更多的信息:

    1. $ ip route help

    ip route help

    ip route help

    小结

    对于网络管理员们和所有的Linux使用者们,ip命令是必备工具。是时候抛弃ifconfig命令了,特别是当你写脚本时。

    展开全文
  • linux 命令 ip 详解

    2018-04-27 11:55:05
    linux命令总结之ip命令Linuxip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前...
  • linux ip详解

    2014-02-24 01:46:36
    linux ip详解  一、我们在学习ip之前,首先我们来认识一下linux系统下网络接口的类型和命名规则以及网络地址的类型。 1、网络接口类型:  lo:本地回环接口。  eth[0-9]:以太网接口。  pppx:点对点的...
  • 如今很多系统管理员依然通过...但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。 作为网络配置工具的一份子,iproute2是
  • 不管是 Windows 还是 Linux,都使用 socket() 函数来创建套接字。socket() 在两个平台下的参数是相同的,不同的是返回值: (1)Linux 中的一切都是文件,每个文件都有一个整数类型的文件描述符;socket 也是一个...
  • net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Ubuntu 18,Arch Linux和CentOS/RHEL 7则...
  • Linux 修改IP及虚拟网卡配置详解 修改IP地址及MAC地址:[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 #网卡设备名称BOOTPROTO=static #协议类型 dhcp bootp noneBROADCAST=172.29...
  • IP命令完全可以取代ifconfig命令 甚至更强 ip常用命令格式如下: ip [ OPTIONS ] OBJECT { COMMAND | help } 对象OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | ...
  • LINUX修改IP地址 ifcfg-eth0详解
  • 这里介绍的两个处理IP好用的Python库名为:ipaddr和netaddr 顺便提一个不好用的:IPy。上面两个能完全胜任这个库的功能,但这个库容错性不好,常报错。 1.ipaddr简单介绍: Google开发的IP处理模块,地址:...
  • linux下的arp命令详解

    2012-08-20 14:40:46
    转自:... linux下的arp命令详解 [大] [中] [小] 发布人:圣才学习网 发布日期:2012-04-17 14:09 共158人浏览  佚名 baidu 我们先看一下linux下的a
  • sockaddr sockaddr 是通用的socket地址,具体到...通常大多用的是都是AF_INET,代表TCP/IP协议族 sa_data是14字节协议地址。 此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息。但一般编程...
  • Linux查看ip的命令详解

    2019-06-13 14:43:02
    Linux 查看ip的方法相信大家都很像了解,今天在这里就给大家介绍下Linux查看ip的急个命令,供大家参考学习,以备用时之需。下面是具体介绍。 ifconfig Linux查看IP地址的命令--ifconfig ifconfig命令用于查看和...
  • 查看linux系统的ip

    2018-07-21 13:35:59
    最近学习网络协议,有一篇文章讲解怎么查看机器的ip地址,由于现在用linux比较多,所以重点记录下linux系统怎么查看ip地址。 正文 查看linux ip的命令:ifconfig ifconfig详解 使用ifconfig在linux运行下,效果...
  • ip 命令使用详解

    2013-04-25 10:38:14
    ip 1.作用 ipiproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。 2.格式 ip [OPTIONS] ...
1 2 3 4 5 ... 20
收藏数 17,135
精华内容 6,854