linux命令之网络管理命令(上)

Posted 博小园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令之网络管理命令(上)相关的知识,希望对你有一定的参考价值。

1.ifconfig:配置或显示网络接口信息

该命令用于配置网卡IP地址等网络参数或显示当前网络的接口状态,该命令配置网卡信息时必须要以root用户的身份来执行。

参数选项 说明
up 激活指定的网络接口
down 关闭指定的网络接口

 

 

 

 示例:

1)显示当前系统开启的所有网络接口信息

[[email protected] ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DF:9A:A3  
          inet addr:192.168.13.129  Bcast:192.168.13.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fedf:9aa3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:29610 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13476 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:28140275 (26.8 MiB)  TX bytes:1079738 (1.0 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2862 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2862 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:971569 (948.7 KiB)  TX bytes:971569 (948.7 KiB)

 说明:eth0表示第一块网卡,lo表示回环接口。

以eth0为例对每一行进行说明:

第一行:连接类型为Ethernet(以太网),HWaddr为硬件的mac地址。

第二行:网卡的IP地址,广播地址,子网掩码

第三行:IPv6地址配置信息

第四行:UP表示网卡为开启状态,RUNNING表示网卡上的网线为连接状态,MULTICAST表示支持组播,  MTU:1500表示最大传输单元为1500字节。

第五、六行:表示网卡接收,发送数据包的统计信息。

第八行:表示网卡接收,发送数据字节数的统计信息。

2.ifup:激活网络接口

该命令用于激活指定的网络接口。

示例:

1)激活指定网络接口

Last login: Fri Apr 12 22:06:05 2019 from 192.168.13.1
[[email protected] ~]# ifup eth0
活跃连接状态:激活中
活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/4
状态:激活的
连接被激活

3.ifdown:禁用网络接口

该命令用于进行指定的网络接口。

示例:

1)禁用指定网络接口

[[email protected] 桌面]# ifdown eth0

 4.ip:网络配置工具

该命令是iproute软件包中的一个强大的网络配置工具,用于显示或管理Linux系统的路由,网络设备,策略路由和隧道。

语法格式:

ip [option] [object] [command]
ip   选项       网络对象   操作命令
参数 说明
-s 输出更详细的信息,为了显示更详细的信息,可以重复使用此选项
-r 显示主机时,不使用ip地址,而是主机的域名
网络对象

指定要管理的网络对象,支持的网络对象如下:

link:网络设备

address:设备的协议地址(IP地址)

help

ip help:查看ip命令的帮助

ip [object] help:查看指定的网络对象的帮助

操作命令

对指定的网络对象完成具体的操作,不同的操作对象支持的操作命令不相同,下面给出网络对象支持的常见操作命令:

link对象支持的操作命令:set(修改设备属性),show(显示设备属性)

address对象支持的操作命令:add(添加IP地址),del(删除IP地址),flush(清除协议地址),show(查看IP地址)

 

 

 

 

 

 

 

 

 

 

 

示例:

1)显示网络设备属性

[[email protected] ~]# ip link show dev eth0  # 显示eth0网卡属性
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip -s link show dev eth0  # 显示eth0网卡详细属性
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    57930      651      0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    40879      324      0       0       0       0       
[[email protected] ~]# ip -s -s link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    62130      685      0       0       0       0       
    RX errors: length   crc     frame   fifo    missed
               0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    45045      349      0       0       0       0       
    TX errors: aborted  fifo   window heartbeat
               0        0       0       0 

2)关闭和激活网络设备

[[email protected] 桌面]# ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff
[[email protected] 桌面]# ip link set dev eth0 down 
[[email protected] 桌面]# ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff
[[email protected] 桌面]# ip link set dev eth0 up
[[email protected] 桌面]# ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff

3)修改网卡MAC地址

[[email protected] ~]# ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:a3 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set dev eth0 address 00:0c:29:df:9a:11
[[email protected] ~]# ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:11 brd ff:ff:ff:ff:ff:ff

4)查看网卡信息

[[email protected] ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:11 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.132/24 brd 192.168.13.255 scope global eth0
    inet6 fe80::20c:29ff:fedf:9aa3/64 scope link 
       valid_lft forever preferred_lft forever

5)添加或删除IP地址

[[email protected] 桌面]# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:11 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.132/24 brd 192.168.13.255 scope global eth0
    inet6 fe80::20c:29ff:fedf:9aa3/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected] 桌面]# ip address add 192.168.13.122/24 dev eth0
[[email protected] 桌面]# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:11 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.132/24 brd 192.168.13.255 scope global eth0
    inet 192.168.13.122/24 scope global secondary eth0
    inet6 fe80::20c:29ff:fedf:9aa3/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected] 桌面]# ip address del 192.168.13.132/24 dev eth0
[[email protected] 桌面]# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:11 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:29ff:fedf:9aa3/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected] 桌面]# ip address add 192.168.13.144/24 dev eth0
[[email protected] 桌面]# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:9a:11 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.144/24 scope global eth0
    inet6 fe80::20c:29ff:fedf:9aa3/64 scope link 
       valid_lft forever preferred_lft forever

说明:删除网卡的主IP地址,同时会删除该网卡的所有IP地址;删除网卡的辅助IP地址,不会影响该网卡的其他IP地址。

5.netstat:查看网络状态

该命令可以显示本机网络的连接状态,运行端口和路由表等信息。

参数 说明
-n(常用) 显示数字形式的地址而不是去解析主机,端口号或用户名,默认情况下会去解析主机的主机名
-a(常用) 显示处于监听状态和非监听状态的socket信息
-c(常用) 后面跟的秒数表示每隔几秒就刷新显示一次
-l(常用) 仅显示连接状态为listen的服务的网络状态
-t(常用) 显示所有的TCP连接情况
-u(常用) 显示所有的UDP连接情况
-p(常用) 显示socket所属进程的PID和名称

 

 

 

 

 

 

示例:

1)常用选项组合(一)

[[email protected] 桌面]# netstat -an # 常用组合-a和-n,显示所有的链接信息
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:60072               0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:83                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN    

说明:Proto:socket使用的协议(tcp,udp);Recv-Q:接收到但是还没有处理的字节数;Send-Q:已经发送但是未被远程主机确认的字节数;Local Address:本地主机地址和端口;Foreign Address:远程主机的地址和端口;State:socket的状态,通常仅有TCP的状态。

2)常用选项组合(二)

[[email protected] ~]# netstat -ntulp  # 显示所有TCP和UDP正在监听的连接信息
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:60072               0.0.0.0:*                   LISTEN      2275/rpc.statd      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2778/mysqld         

6.ss:查看网络状态

该命令类似并将取代netstat命令,它能用来查看网络状态,包括TCP,UDP连接,端口等,它比netstat更高效,如果该命令没有安装,可以使用yum install iproute -y命令进行安装。

参数 说明
-n 显示IP地址,不进行DNS解析
-a 显示所有socket连接
-l 显示所有监听socket
-p 显示使用socket的进程
-t 仅显示TCP的socket
-u 仅显示UDT的socket

 

 

 

 

 

 

示例:

1)常用选项组合(一)

[[email protected] ~]# ss -an  # 显示所有的socket连接
State       Recv-Q Send-Q              Local Address:Port                Peer Address:Port 
LISTEN      0      128                             *:60072                          *:*     
LISTEN      0      50                              *:3306                           *:*     
LISTEN      0      128                            :::36842                         :::*     

使用column进行格式化

[[email protected] ~]# ss -an | column -t
State   Recv-Q  Send-Q  Local              Address:Port        Peer  Address:Port
LISTEN  0       128     *:60072            *:*
LISTEN  0       50      *:3306             *:*
LISTEN  0       128     :::36842           :::*

2)常用选项组合(二)

[[email protected] ~]# ss -ntulp | column -t  # 显示所有正在监听的TCP和UDP连接
Netid  State   Recv-Q  Send-Q  Local           Address:Port  Peer                                                        Address:Port
udp    UNCONN  0       0       *:111           *:*           users:(("rpcbind",2208,6))
udp    UNCONN  0       0       127.0.0.1:755   *:*           users:(("rpc.statd",2275,5))
udp    UNCONN  0       0       *:631           *:*           users:(("cupsd",2318,9))

7.ping:测试主机之间网络的连通性

该命令用于测试主机之间网络的连通性。

参数 说明
-c 次数 指定发送的ICMP报文的次数
-i 时间间隔 相邻两次发送报文的时间间隔,默认为1s

 

 

 

示例:

1)测试到目标主机的网络连通性

[[email protected] ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121: icmp_seq=1 ttl=128 time=20.9 ms
64 bytes from 61.135.169.121: icmp_seq=2 ttl=128 time=20.5 ms
64 bytes from 61.135.169.121: icmp_seq=3 ttl=128 time=17.4 ms
64 bytes from 61.135.169.121: icmp_seq=4 ttl=128 time=19.1 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3737ms
rtt min/avg/max/mdev = 17.445/19.522/20.994/1.378 ms

 

注:本文内容为《跟老男孩学linux运维 核心系统命令实践》的学习笔记。

以上是关于linux命令之网络管理命令(上)的主要内容,如果未能解决你的问题,请参考以下文章

Linux之用户管理--初级上

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

2022-03-31 学好大数据先攻克 Linux 之文件管理(上) 补充基础命令

linux 系统上的进程查看管理工具之htop/dstat/top/ps命令详解

linux网络命令之tsar

Linux入门系列之基础bash命令学习(上)