Linux网络属性管理

ipv4地址分类

  • A类: 0.0.0.0-127.255.255/8 网络数127 主机数2^24-2 私网地址10.0.0.0/8
  • B类:128.0.0.0-191.255.255.255/16 2^24 2^16-2 172.16.0.0/16-172.31.0.0/16
  • C类:192.0.0.0-223.255.255.255/24 2^21 2^8-2 192.168.0.0/24-192.168.255.0/24
  • D类:224.0.0.0-239.255.255.255 组播
  • E类:240.0.0.0-255.255.255.255

    ifconfig命令

  • 用法:

    • ifconfig [interface] x.x.x.x/x [up]
    • ifconfig [interface] x.x.x.x netmask x.x.x.x
  • promisc 启动混杂模式(‐ 表示关闭);关闭混杂模式在抓包时如果收到的报文不是发给该接口的也能被抓到,就是抓取所有收到的报文
    • 开启混杂模式:ifconfig [interface] promisc
    • 关闭混杂模式:ifconfgi [interface] ‐promisc

      route命令

  1. Kernel IP routing table
  2. Destination Gateway Genmask Flags Metric Ref Use Iface
  3. 0.0.0.0 192.168.11.2 0.0.0.0 UG 100 0 0 ens33
  4. 192.168.11.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
  5. [root@server ~]#
  6. 路由的标志位:U表示启用状态,G表示默认网关,H表示主机路由
  • 手动添加路由:
    • route add route add [‐net |‐host] target [netmask Nm] [gw Gw] [[dev] if]
  • 主机路由:
    • route add ‐host 192.168.1.3 gw 192.168.1.2 dev eth0
  • 网络路由:
    • route add ‐net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.2 dev eth0
    • route add ‐net 192.168.1.0/24 gw 192.168.1.2 dev eth0
  • 默认路由:
    • route add ‐net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.2
    • route add default gw 192.168.1.2
  • 删除路由:

    • route del [‐net|‐host] target [gw Gw] [netmask Nm] [[dev] If]

      DNS服务器指定

  • 配置文件:/etc/resolv.conf

[root@server ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 114.114.114.114
[root@server ~]#

netstat命令

  • Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
  • netstat [‐‐tcp|‐t] [‐‐udp|‐u] [‐‐raw|‐w] [‐‐listening|‐l] [‐‐all|‐a] [‐‐numeric|‐n] [‐‐extend|‐e[‐‐extend|‐e]] [‐‐program|‐p]
    • ‐t 显示tcp协议相关
    • ‐u 显示udp协议相关
    • ‐w 显示raw socket相关
    • ‐l 显示处于监听状态
    • ‐a 显示所有状态连接
    • ‐n 以数字显示IP和端口号(不进行反向解析)
    • ‐e 扩展格式
    • ‐p 显示相关进程及PID
  • 显示路由表:
    • netstat {‐‐route|‐r} [‐‐numeric|‐n]
    • ‐r 显示内核路由表
    • ‐n 数字格式(不进行反向解析)
  • 显示接口统计数:
    • netstat {‐‐interfaces|‐I|‐i} [iface] [‐‐all|‐a] [‐‐extend|‐e] [‐‐program|‐p] [‐‐numeric|‐n]
    • netstat ‐i 显示所有接口统计
    • netstat ‐Ieth0 显示指定接口统计(注意选项和参数之间不能有空格)
[root@server ~]# netstat -Iens33
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500     4387      0      0 0          1239      0      0      0 BMRU
[root@server ~]#
  • ifup/ifdown [Interface_Name] 用来启用/禁用一个接口
  • ethtool eth0 显示接口设备属性
[root@server ~]# ethtool ens33
Settings for ens33:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off (auto)
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes
[root@server ~]#
  • ethtool ‐S eth0 显示接口设备的统计数据
[root@server ~]# ethtool -S ens33
NIC statistics:
     rx_packets: 4595
     tx_packets: 1334
     rx_bytes: 5052433
     tx_bytes: 119592
     rx_broadcast: 0
     tx_broadcast: 0
     rx_multicast: 0
     tx_multicast: 0
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
……………………

IP命令

  • ip address:查看网络地址
    • ip address add ip/mask dev 配置IP地址
    • ip address add ip/mask dev broadcast b.ip 配置广播地址
    • ip address add ip/mask dev label 配置地址时指定标签
    • ip address add ip/mask dev scope {global | link | host}
      • global:全局可用,从另一个网卡进来的数据也可以与该地址通信
      • link:仅链接可用,只能自己通信,不能与其他任何地址通信
      • host:仅本机可用,不能与其他地址通信通信
    • ip address show 查看指定设备的IP地址
    • ip address label 查看指定标签设备的IP地址
    • ip address show dev primary 查看指定设备的猪IP
    • ip address flush dev 清空接口所有地址
  • ip link:

    • ip link set dev [up | down]
    • ip link set multicast [on | off] 开启关闭接口组播功能(开启关闭功能)
    • ip link set name New_Name 重命名接口(需要接口为Down状态)
    • ip link set mtu MTU_Number 设置接口的MTU,默认1500
    • ip link set netns [PID | Name] 将接口移动至指定的网络名称空间中
      • 网络名称空间,作用是将网络资源隔离
    • ip link show 显示所有接口状态
    • ip link show  显示指定接口状态
    • ip link show up 仅显示处于激活状态的接口
    • ip route add 192.168.0.0/24 via 192.168.1.1 dev eth0 添加网段路由
    • ip route add 192.168.0.10 via 192.168.1.1 dev eth0 添加主机路由
    • ip route add defalt via 192.168.1.1 dev eth0 添加默认路由
    • ip route add 192.168.0.0/24 via 192.168.1.1 dev eth0 src 192.168.1.10 添加路由是指定发报文的源地址
    • ip route change 192.168.0.0/24 via 192.168.1.1 dev eth0 src 192.168.2.10 修改路由信息(如果路由不存在则提示不存在)
    • ip route replace 192.168.0.0/24 via 192.168.1.1 dev eth0 src 192.168.2.10 修改路由信息(如果路由不存在则直接创建)
    • ip route del 192.168.0.0/24 删除路由
    • ip route show 查看路由表
    • ip route get 192.168.1.0/24 查看指定路由的详细信息
    • ip route flush 清空所有路由,可以通过dev清空指定设备

      ss命令

  • 参数

    • ‐t 显示tcp协议相关连接
    • ‐u 显示udp协议相关连接
    • ‐w 显示裸套接字相关连接
    • ‐x 显示unix sock相关连接
    • ‐l 显示listen状态的连接
    • ‐a 显示所有状态的连接
    • ‐n 以数字格式显示ip和port(不进行反向解析)
    • ‐p 显示对应的程序名及PID
    • ‐e 以扩展格式显示
    • ‐m 显示内存用量
    • ‐o 显示计时器信息
  • 指定表达式过滤
    • ss ‐tan state established
    • ss ‐tan sport = :22 显示源端口为22的连接
    • ss ‐tan dport = :51471 显示目的端口为51417的连接