• 【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表

  • 相关阅读:
    Java 集合(静态导入)
    Java 集合 (Collections、Arrays)
    Java 异常
    Java 多态
    Java 继承

    内网服务器配置访问公网
    替换centos的原生yum源为阿里云yum源
    centos7安装杀毒软件ClamAV
    linux程序名称带devel跟不带的区别
  • 原文地址:https://www.cnblogs.com/Axi8/p/11938873.html
Copyright © 2020-2023  润新知