欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-08-29 07:59:41
Linux网络——配置网络之iproute家族命令 摘要:本文主要学习了iproute家族用来配置网络的命令。 ip命令 ip命令用于查看和管理IP地址、接口、路由、隧道等。用来取代ifconfig命令。 基本语法 网络接口相关: 网络名称空间相关: IP地址相关: 路由相关: 选项说明 网络接口相 ......

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 ~]#