zoukankan      html  css  js  c++  java
  • 【linux网络相关的命令工具】之ip

    【linux网络相关的命令工具】之ip

    不管是什么设备,只要想加入一个网络(或是互联网,或是局域网),都离不开IP地址,设备想要发收东西总要给别人一个你的地址吧。

    实验环境:Fedora 30

    一、ifconfig

    ifconfig命令是一个linux下常用的网络接口配置的命令行工具

    直接在终端输入ifconfig会输出当前配置好且激活的网络端口,也可以在后面接上端口名来查看特定端口的信息。

    可以看到该命令输出可以查看端口状态,配置好的IP地址等。

    也可以通过一些options来进行网络地址的设置。

    比如

    sudo ifconfig eth0 192.168.88.1/28
    

    命令ifconfig 端口号 ip/掩码就可以进行端口的ip和子网掩码的配置

    但ifconfig已经过时了,未来有可能被取代,而现在大部分linux已经提供了更先进的iproute2来进行网络的配置

    二、iproute2

    传统的ifconfig、route等命令属于老版本Linux内核中的net-tools,而net-tools已停止维护,大部分新系统里都自带iproute2。一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。

    如果linux版本太老可以手动安装

    # centos
    yum install -y iproute2
    # 或则Ubuntu下
    sudo apt-get update -y
    sudo apt-get install -y iproute2
    

    iproute2由Alexey N. Kuznetsov开发,在Linux 2.2.加入,有着更强大的功能。

    三、ip

    ip只是iproute2中的工具之一,可以对路由,设备,策略隧道等进行管理。

    1. 命令格式

    ip [option] 对象 [指令]
    

    • OPTIONS: 选项
      • -s: 显示设备统计信息
    • OBJECT: 对象
      • 常用操作对象有link(第二层)
      • addr(第三层)
      • route(路由)

    2. 二层相关

    ip link用来设定数据链路层相关的参数,比如MTU,网络接口的开关甚至MAC地址(前提是可修改)

    2.1 查看链路状态

    ip link show
    

    可以看到,这里是无法获取到网卡的IP地址的,IP地址属于三层信息,应该在下面的ip addr show命令查看。

    2.2 网卡端口的开启和关闭

    ip link set { DEVICE | dev | group } [ { up | down } ]
    

    如:关闭网卡ens33

    ip link set ens33 down
    

    再激活关闭的网卡ens33

    2.3 更精细的操作

    ip link set DEVICE [arp] [name] [address] [ broadcast] [mtu]
    

    可以设置网卡的arp开关,广播开关,可以修改网卡名字,修改MAC地址,mtu大小等

    2.4 常用命令总结

    ip link show # 查看设备链路状态
    ip -s link show # 查看设备链路统计信息
    ip link set ens33 down # 关闭ens33网卡
    ip link set ens33 up # 激活ens33网卡
    ip link set ens33 mtu 1000 # 修改网卡mtu大小
    ip link set ens33 name other # 修改网卡名
    ip link set ens33 address ab:ab:ab:ab:ab:ab # 修改网卡mac
    

    3. 三层相关

    ip addr相关命令与网络层三层相关

    ip address [show]
               [add|del] [IFADDR] [dev IFNAME] [CONFIG]
    

    相关参数

    • broadcast(brd): 设定广播地址,+表示自动计算
    • label: 设置别名
    • scope: 设备的域

    3.1 查看网卡IP配置和地址信息

    ip addr show
    

    当然也可以通过网卡名来指定查看某张网卡的三层信息,可以看到和ip link show相比多了很多信息,比如网卡的IP地址,网络的广播地址等

    3.2 网卡ip地址的分配

    ip address {add|change|replace} IFADDR dev IFNAME
    

    如:向ens33网卡添加ip为192.168.88.1/28的地址

    移除ip配置

    3.3 记得添加广播地址

    光设置ip地址不够,还需要给网卡添加一个广播地址

    只需要在添加IP地址的命令里加入brd +就可以添加属于它的网段的默认广播地址,如下

    ip addr add 192.168.88.2/28 brd + dev ens33 
    

    3.4 给一张网卡添加多个IP

    ip addr add 192.168.88.2/24 dev ens33 label ens33:1
    

    3.5 常用命令总结

    ip addr show # 查看网卡三层信息
    ip addr add 192.168.88.2/24 brd + dev ens33 # 给ens33网卡设置IP为192.168.88.2,掩码24位,默认广播地址
    ip addr del 192.168.88.2/24 dev ens33 # 删除指定的IP
    ip addr add 192.168.88.2/24 dev ens33 label ens33:1 # 一张网卡添加多个IP
    

    4. 路由相关

    ip route [add|del] [IP] [via gateway] [dev IFNAME]
    

    IP可以是单个IP或网段

    4.1 查看路由表

    ip route show
    

    获取到某个ip地址的路由条目

    ip route get IFADDR
    

    4.2 添加路由

    • 默认路由
      想要正常访问网络,还需要一条默认路由,默认路由通过以下命令添加
    ip route add default via IFADDR dev ens33
    
    • 添加静态路由
    ip route add 192.168.10.0/24 via 192.168.59.2 dev ens33
    

    • 删除路由条目
    ip route del 192.168.10.0/24
    

    4.3 刷新路由表

    ip route flush cache
    

    4.4 常用命令总结

    ip route show # 查看设备路由表
    ip route get IPADDR # 获取到某个IP地址的路由条目
    ip route add default via IFADDR dev ens33 # 添加一条默认路由
    ip route add 192.168.10.0/24 via 192.168.59.2 dev ens33 # 添加一条到192.168.10.0网段从ens33走的静态路由
    ip route flush cache # 刷新路由表
    

    ARP表

    使用这个命令

    ip neigh
    

    可以看到设备的ARP表

  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/Axi8/p/11938873.html
Copyright © 2011-2022 走看看