zoukankan      html  css  js  c++  java
  • Linux网络——配置网络之iproute家族命令

    Linux网络——配置网络之iproute家族命令

    摘要:本文主要学习了iproute家族用来配置网络的命令。

    ip命令

    ip命令用于查看和管理IP地址、接口、路由、隧道等。用来取代ifconfig命令。

    基本语法

    网络接口相关:

    1 ip link [选项]

    网络名称空间相关:

    1 ip netns [选项]

    IP地址相关:

    1 ip addr [选项]

    路由相关:

    1 ip route [选项]

    选项说明

    网络接口相关:

    1 list 网卡名称:查看网卡信息,不指定则查看全部网卡信息。
    2 show 网卡名称:查看网卡信息,不指定则查看全部网卡信息。
    3 set 网卡名称 up:启用网卡。
    4 set 网卡名称 down:关闭网卡。
    5 set 网卡名称 name 网卡名称:修改网卡名称,需要在网卡关闭状态才可修改。
    6 set 网卡名称 mtu mtu值:修改网卡最大传输单元。
    7 set 网卡名称 multicast on:开启组播功能。
    8 set 网卡名称 multicast off:禁用组播功能。
    9 set 网卡名称 netns 名称空间:将接口移动至指定的网络名称空间中。

    网络名称空间相关:

    1 list:列出所有的netns。
    2 add 名称空间:创建指定的netns。
    3 del 名称空间:删除指定的netns。
    4 exec 名称空间 命令:在指定的netns上运行命令。

    IP地址相关:

    1 list 网卡名称:查看网卡上的IP地址,不指定则查看全部网卡IP地址。
    2 show 网卡名称:查看网卡上的IP地址,不指定则查看全部网卡IP地址。
    3 add IP地址/掩码位数 dev 网卡名称:添加IP地址。
    4 add IP地址/掩码位数 dev 网卡名称 label 别名:添加IP地址并指定别名。
    5 add IP地址/掩码位数 dev 网卡名称 broadcast 广播地址:添加IP地址并指定广播地址。
    6 add IP地址/掩码位数 dev 网卡名称 scope 作用域:添加IP地址并指定作用域。作用域主要有三种:global全局有效,link仅接口有效,host仅主机有效。
    7 delete IP地址/掩码位数 dev 网卡名称:删除IP地址。
    8 flush dev 网卡名称:清空IP地址。

    路由相关:

    1 show 路由地址:显示路由表,不指定地址则查看全部路由。
    2 add 目标网络 via 网关 dev 网卡 src 出口地址:添加路由,网卡和出口地址可以省略。
    3 change 目标网络 via 网关 dev 网卡 src 出口地址:修改路由,网卡和出口地址可以省略。
    4 replace 目标网络 via 网关 dev 网卡 src 出口地址:修改路由或添加路由,网卡和出口地址可以省略。
    5 del 目标网络:删除路由。
    6 get 目标网络:获得单条路由的详细信息。
    7 flush:清空路由表。

    ss命令

    ss命令用于获取socket统计信息等。用来取代netstat命令。

    基本语法

    1 ss [选项] 过滤条件

    选项说明

     1 -t:显示tcp协议相关的连接。
     2 -u:显示udp协议相关的连接。
     3 -w:显示raw协议相关的连接。
     4 -a:显示所有状态的连接。
     5 -l:显示处于监听状态的连接。
     6 -e:以扩展格式显示。
     7 -n:以数字格式显示IP和Port。
     8 -p:显示相关进程和PID。
     9 -m:显示内存用量。
    10 -o:显示计数器信息。

    过滤条件

    过滤条件可以没有,主要有种方式:

    1)通过TCP状态过滤

    语法如下:

    1 state TCP状态

    TCP状态通常为以下几个值之一:

     1 ESTABLISHED 套接字有一个有效连接。
     2 SYN_SENT 套接字尝试建立一个连接。
     3 SYN_RECV 从网络上收到一个连接请求。
     4 FIN_WAIT1 套接字已关闭,连接正在断开。
     5 FIN_WAIT2 连接已关闭,套接字等待远程方中止。
     6 TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组。
     7 CLOSED 套接字未用。
     8 CLOSE_WAIT 远程方已关闭,等待套接字关闭。
     9 LAST_ACK 远程方中止,套接字已关闭。等待确认。
    10 LISTEN 套接字监听进来的连接。如果不设置-l或者-a选项,将不显示出来这些连接。
    11 CLOSING 套接字都已关闭,而还未把所有输出发出。
    12 UNKNOWN 套接字状态未知。

    2)通过表达式过滤

    语法如下:

    1 dport 目标端口或协议类型
    2 sport 源端口或协议类型

    使用举例

    显示tcp网络连接:

    1 [root@localhost ~]# ss -tan
    2 State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
    3 LISTEN      0      128                                          *:22                                                       *:*                  
    4 LISTEN      0      100                                  127.0.0.1:25                                                       *:*                  
    5 ESTAB       0      0                               192.168.35.128:22                                            192.168.35.1:9341               
    6 ESTAB       0      52                              192.168.35.128:22                                            192.168.35.1:12751              
    7 LISTEN      0      128                                         :::22                                                      :::*                  
    8 LISTEN      0      100                                        ::1:25                                                      :::*                  
    9 [root@localhost ~]# 

    通过状态筛选:

     1 [root@localhost ~]# ss state ESTABLISHED
     2 Netid Recv-Q Send-Q                            Local Address:Port                                             Peer Address:Port                
     3 u_str 0      0                                             * 19669                                                       * 19670                
     4 u_str 0      0                                             * 19633                                                       * 19634                
     5 u_str 0      0                                             * 16125                                                       * 16787                
     6 u_str 0      0                                             * 19661                                                       * 19660                
     7 u_str 0      0                                             * 19646                                                       * 19645                
     8 u_str 0      0                                             * 18283                                                       * 18284                
     9 ...
    10 [root@localhost ~]# 

    通过端口筛选:

     1 [root@localhost ~]# ss dport = 17715
     2 Netid State      Recv-Q Send-Q                       Local Address:Port                                        Peer Address:Port                
     3 u_str ESTAB      0      0                                        * 17224                                                  * 17715                
     4 [root@localhost ~]# ss sport = 17224
     5 Netid State      Recv-Q Send-Q                       Local Address:Port                                        Peer Address:Port                
     6 u_str ESTAB      0      0                                        * 17224                                                  * 17715                
     7 [root@localhost ~]# ss sport = 22
     8 Netid State      Recv-Q Send-Q                       Local Address:Port                                        Peer Address:Port                
     9 tcp   ESTAB      0      0                           192.168.35.128:ssh                                         192.168.35.1:9341                 
    10 tcp   ESTAB      0      52                          192.168.35.128:ssh                                         192.168.35.1:12751                
    11 [root@localhost ~]# 

    通过组合筛选:

    1 [root@localhost ~]# ss state established '( dport = :ssh or sport = :ssh )'
    2 Netid Recv-Q Send-Q                            Local Address:Port                                             Peer Address:Port                
    3 tcp   0      0                                192.168.35.128:ssh                                              192.168.35.1:9341                 
    4 tcp   0      52                               192.168.35.128:ssh                                              192.168.35.1:12751                
    5 [root@localhost ~]# ss -tan state established sport = :22
    6 Recv-Q Send-Q                                Local Address:Port                                               Peer Address:Port              
    7 0      0                                    192.168.35.128:22                                                 192.168.35.1:9341               
    8 0      52                                   192.168.35.128:22                                                 192.168.35.1:12751              
    9 [root@localhost ~]#
  • 相关阅读:
    JavaScript提供了哪些定时器
    谈谈对CSS盒子模型的理解
    我们来谈谈类的加载机制
    谈谈你对ThreadLocal的理解
    谈谈你对线程安全的理解?
    JDK提供的线程池有哪些?实际开发我们该怎么使用?
    Pytest系列(7)
    Pytest系列(6)
    Pytest系列(5)
    Pytest系列(4)
  • 原文地址:https://www.cnblogs.com/shamao/p/11278380.html
Copyright © 2011-2022 走看看