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


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

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

    ifconfig命令

    ifconfig命令用来显示或设置网络接口信息,设置只是临时生效,永久生效需要更改配置文件。

    在最新版的CentOS 7上已经没有了这个命令,需要使用 yum install -y net-tools 命令安装。

    基本语法

    1 ifconfig [选项]

    选项说明

     1 网卡:显示指定网卡接口信息。
     2 -a:显示全部接口信息。
     3 -s:显示摘要信息。
     4 网卡 up:启动指定网卡。
     5 网卡 down:关闭指定网卡。
     6 网卡 reload:重启指定网卡。
     7 网卡 IP地址:修改网卡的IP地址。
     8 网卡 IP地址/子网掩码位数:修改网卡的IP地址和子网掩码。
     9 网卡 netmask 子网掩码:修改网卡的子网掩码。
    10 网卡 broadcast 地址:修改网卡的广播地址。
    11 网卡 mtu 值:修改网卡的最大传输单元。
    12 网卡 hw 地址:修改网卡的MAC地址。
    13 arp:启用ARP协议。
    14 arp:关闭ARP协议。
    15 add:给指定网卡配置IPv6地址。
    16 del:删除指定网卡的IPv6地址。

    使用举例

     1 [root@localhost ~]# ifconfig eno16777736
     2 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
     3         inet 192.168.35.128  netmask 255.255.255.0  broadcast 192.168.35.255
     4         inet6 fe80::20c:29ff:fee3:52a0  prefixlen 64  scopeid 0x20<link>
     5         ether 00:0c:29:e3:52:a0  txqueuelen 1000  (Ethernet)
     6         RX packets 11957  bytes 7976839 (7.6 MiB)
     7         RX errors 0  dropped 0  overruns 0  frame 0
     8         TX packets 4216  bytes 1518092 (1.4 MiB)
     9         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    10 
    11 [root@localhost ~]#

    结果说明

    1 eno16777736:表示网卡名称。从flags可知该接口已启用,支持广播、组播。mtu表示最大传输单元为1500。
    2 inet:表示IPv4地址。netmask表示子网掩码。broadcast表示广播地址。
    3 inet6:表示IPv6地址。prefixlen表示掩码长度。scopeid表示作用域,link表示仅该接口有效。
    4 ether:表示网卡接口的MAC地址。txqueuelen表示传输队列长度。Ethernet表示接口类型为Ethernet。
    5 RX:表示接收的报文情况,TX表示发送的报文情况。
    6 packets:表示接收报文数,bytes表示接收总字节数,errors表示错误报文数,dropped表示丢弃报文数,overruns表示溢出报文数,carrier表示载荷报文数,collisions表示冲突报文数。

    route命令

    route命令用于显示和操作IP路由表,设置只是临时生效,永久生效需要更改配置文件。

    基本语法

    查看路由信息:

    1 route [-nee]

    设置路由信息:

    1 route [add|del] [-net|-host] [netmask] [reject|dev|gw]

    选项说明

    查看路由信息:

    1 -n:不解析主机名称,使用IP地址和端口号。
    2 -ee:使用更详细的资讯来显示。

    设置路由信息:

    1 -net IP地址:表示后面连接的是到一个网络的路由表。
    2 -host 主机:表示后面连接的是到一个主机的路由表。
    3 netmask 子网掩码:指定路由表的子网掩码。
    4 reject:设置指定路由不可达。
    5 dev 网卡名称:指定由那个网路卡连线出去。
    6 gw IP地址 网卡名称:指定由那个网关连接出去。

    使用举例

    查看路由信息:

    1 [root@localhost ~]# route
    2 Kernel IP routing table
    3 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    4 default         192.168.35.2    0.0.0.0         UG    100    0        0 eno16777736
    5 192.168.35.0    0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
    6 [root@localhost ~]#

    设置路由信息:

    1 [root@localhost ~]# route add -net 192.168.35.0 netmask 255.255.255.0 dev eth0
    2 [root@localhost ~]# route add -net 10.0.0.0 netmask 255.0.0.0 reject
    3 [root@localhost ~]# route del -net 192.168.35.0 netmask 255.255.255.0 dev eth0
    4 [root@localhost ~]# route del -net 10.0.0.0 netmask 255.0.0.0 reject

    字段说明

    路由信息字段说明:

     1 Destination:表示目标网络或目标主机。
     2 Gateway:表示网关地址,如果没有就显示星号。
     3 Genmask:表示网络掩码,目标是主机时需要设为255.255.255.255,目标是默认路由时会设置为0.0.0.0 4 Flags:表示旗标,总共有多个旗标。
     5 常用的值如下:                       
     6     U (route is up):该路由是启动(up)的。
     7     H (target is a host):该路由是到一个主机(host)而非网域。
     8     G (use gateway):该路由是到一个网关(gateway)。
     9     R (reinstate route for dynamic routing):恢复动态路由产生的表项。
    10     D (dynamically installed by daemon or redirect):该路由是由服务或者重定向创建的动态(dynamically)路由。
    11     M (modified from routing daemon or redirect):该路由已经被修改(modified)了。
    12     ! (reject route):这个路由将不会被接受,用来抵挡不安全的网域。
    13 Metric:表示路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的。
    14 Ref:表示路由引用次数。
    15 Use:表示该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。
    16 MSS:表示路由TCP连接的默认最大分段大小。
    17 Window:表示路由TCP连接的默认窗口大小。
    18 irtt:表示初始往返时间(rtt)。内核使用它来猜测最佳的TCP协议参数,而无需等待(可能是缓慢的)答案。
    19 HH:表示引用缓存路由的硬件头缓存的ARP条目和缓存路由的数量。如果缓存路由的接口不需要硬件地址,则为-120 Arp:表示缓存路由的硬件地址是否最新。
    21 Iface:表示网络接口名。

    netstat命令

    netstat命令用于显示网络相关信息,如网络连接,路由表,接口状态等。

    基本语法

    1 netstat [选项]

    选项说明

     1 -t:显示tcp协议相关的连接,tcp连接均有其连接状态,而所有连接状态在FSM(Finate State Machine,有限状态机)内进行转换。
     2 -u:显示udp协议相关的连接,udp连接没有状态。
     3 -w:显示raw协议相关的连接。
     4 -a:显示所有状态的连接。
     5 -x:显示UNIX网络连接。
     6 --ip:显示Internet网络连接,包含tcp、udp、raw类型的连接。
     7 -l:显示处于监听状态的连接。
     8 -e:以扩展格式显示。
     9 -n:以数字格式显示IP和Port。
    10 -p:显示相关进程和PID。
    11 -s:显示网络协议的统计。
    12 -i:显示接口信息。
    13 -r:显示路由表信息。

    使用举例

    显示Internet网络连接:

    1 [root@localhost ~]# netstat -tanpe
    2 Active Internet connections (servers and established)
    3 Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
    4 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          18972      1472/sshd           
    5 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          19596      1568/master         
    6 tcp        0     52 192.168.35.128:22       192.168.35.1:9341       ESTABLISHED 0          40660      4792/sshd: root@pts 
    7 tcp6       0      0 :::22                   :::*                    LISTEN      0          18974      1472/sshd           
    8 tcp6       0      0 ::1:25                  :::*                    LISTEN      0          19597      1568/master         
    9 [root@localhost ~]#

    显示Unix域套接字:

     1 [root@localhost ~]# netstat -xanp
     2 Active UNIX domain sockets (servers and established)
     3 Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
     4 unix  2      [ ACC ]     STREAM     LISTENING     15887    1/systemd            /var/run/dbus/system_bus_socket
     5 unix  2      [ ]         DGRAM                    8216     1/systemd            /run/systemd/notify
     6 unix  2      [ ACC ]     STREAM     LISTENING     8224     1/systemd            /run/systemd/journal/stdout
     7 unix  5      [ ]         DGRAM                    8227     1/systemd            /run/systemd/journal/socket
     8 unix  12     [ ]         DGRAM                    8229     1/systemd            /dev/log
     9 ...
    10 [root@localhost ~]# 

    显示路由信息,字段含义参考route命令:

    1 [root@localhost ~]# netstat -rn
    2 Kernel IP routing table
    3 Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    4 0.0.0.0         192.168.35.2    0.0.0.0         UG        0 0          0 eno16777736
    5 192.168.35.0    0.0.0.0         255.255.255.0   U         0 0          0 eno16777736
    6 [root@localhost ~]#

    显示接口概要信息:

    1 [root@localhost ~]# netstat -i
    2 Kernel Interface table
    3 Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    4 eno16777736      1500    18667      0      0 0          6293      0      0      0 BMRU
    5 lo              65536       76      0      0 0            76      0      0      0 LRU
    6 [root@localhost ~]#

    显示接口详细信息,字段含义参考ifconfig命令:

     1 [root@localhost ~]# netstat -ie
     2 Kernel Interface table
     3 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
     4         inet 192.168.35.128  netmask 255.255.255.0  broadcast 192.168.35.255
     5         inet6 fe80::20c:29ff:fee3:52a0  prefixlen 64  scopeid 0x20<link>
     6         ether 00:0c:29:e3:52:a0  txqueuelen 1000  (Ethernet)
     7         RX packets 18488  bytes 8457307 (8.0 MiB)
     8         RX errors 0  dropped 0  overruns 0  frame 0
     9         TX packets 6212  bytes 1926454 (1.8 MiB)
    10         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    11 
    12 lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    13         inet 127.0.0.1  netmask 255.0.0.0
    14         inet6 ::1  prefixlen 128  scopeid 0x10<host>
    15         loop  txqueuelen 0  (Local Loopback)
    16         RX packets 76  bytes 6612 (6.4 KiB)
    17         RX errors 0  dropped 0  overruns 0  frame 0
    18         TX packets 76  bytes 6612 (6.4 KiB)
    19         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    20 
    21 [root@localhost ~]# 

    字段说明

    查看Internet网络连接(tcp,udp,raw),结果字段含义如下:

     1 Proto:表示套接字使用的协议。
     2 Recv-Q:表示等待接收的队列长度。
     3 Send-Q:表示等待发送的队列长度。
     4 Local Address:表示本地主机地址。
     5 Foreign Address:表示远程连接地址。
     6 State:表示所处的状态。
     7 常用的值如下:
     8     ESTABLISHED:套接字有一个有效连接。
     9     SYN_SENT:套接字尝试建立一个连接。
    10     SYN_RECV:从网络上收到一个连接请求。
    11     FIN_WAIT1:套接字已关闭,连接正在断开。
    12     FIN_WAIT2:连接已关闭,套接字等待远程方中止。
    13     TIME_WAIT:在关闭之后,套接字等待处理仍然在网络中的分组。
    14     CLOSED:套接字未用。
    15     CLOSE_WAIT:远程方已关闭,等待套接字关闭。
    16     LAST_ACK:远程方中止,套接字已关闭。等待确认。
    17     LISTEN:套接字监听进来的连接。如果不设置-l或者-a选项,将不显示出来这些连接。
    18     CLOSING:套接字都已关闭,而还未把所有输出发出。
    19     UNKNOWN:套接字状态未知。
    20 User:表示启动此进程的用户,扩展字段。
    21 Inode:表示对应的套接字文件的inode号,扩展字段。
    22 PID/Program name:表示处理此套接字的程序进程名和PID。

    查看Unix域套接字,结果字段含义如下:

     1 Proto:表示套接字使用的协议,通常是unix。
     2 RefCnt:表示使用数量,也就是通过此套接字连接的进程数。
     3 Flags:表示的套接字的标志。通常为SO_ACCEPTON(显示为ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。
     4 Type:表示套接字使用的类型。
     5 常用的值如下:
     6     SOCK_DGRAM:此套接字用于数据报(无连接)模式。
     7     SOCK_STREAM:流模式(连接)套接字。
     8     SOCK_RAW:此套接字用于RAW模式。
     9     SOCK_RDM:一种服务可靠性传递信息。
    10     SOCK_SEQPACKET:连续分组套接字。
    11     SOCK_PACKET:RAW接口使用套接字。
    12     UNKNOWN:未知。
    13 State:表示状态。
    14 常用的值如下:
    15     FREE:套接字未分配。
    16     LISTENING:套接字正在监听一个连接请求。除非设置-l或者-a选项,否则不显示。
    17     CONNECTING :套接字正要建立连接。
    18     CONNECTED:套接字已连接。
    19     DISCONNECTING:套接字已断开。
    20     UNKNOWN:套接字状态未知。
    21     空:套接字未连。
    22 I-Node:表示对应的套接字文件的inode号,扩展字段。
    23 PID/Program name:表示处理此套接字的程序进程名和PID。
    24 Path:表示当相应进程连入套接字时显示的路径名。

    查看接口信息,结果字段含义如下:

     1 Iface:表示网卡接口名称。
     2 MTU:表示接口的最大传输单元。
     3 RX:表示接收的数据包情况,RX-OK表示准确接收的包数,RX-ERR表示产生错误的包数,RX-DRP表示丢弃的包数,RX-OVR表示溢出的包数。
     4 TX:表示发送的数据包情况,TX-OK表示准确发送的包数,TX-ERR表示产生错误的包数,TX-DRP表示丢弃的包数,TX-OVR表示溢出的包数。
     5 Flg:表示接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。
     6 常用的值如下:
     7     B:已经设置了一个广播地址。
     8     L:该接口是一个回送设备。
     9     M:接收所有数据包(混乱模式)。
    10     N:避免跟踪。
    11     O:在该接口上,禁用ARP。
    12     P:这是一个点到点链接。
    13     R:接口正在运行。
    14     U:接口处于活动状态。
  • 相关阅读:
    Poj3126
    Poj1426
    2806 红与黑
    3100 蜗牛
    1225 八数码难题
    2549 自然数和分解
    2547 东方辉针城
    2928 你缺什么
    1629 01迷宫
    1029 遍历问题
  • 原文地址:https://www.cnblogs.com/shamao/p/11277890.html
Copyright © 2020-2023  润新知