1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。

网桥(Network Bridge):工作在OSI模型的第二层数据链路层,主要用于将两个局域网(LAN)连起来,根据MAC地址来转发帧(Frame)。它可以有效地联接两个局域网,使本地通信限制在本网段内,并转发相应的信号至另一端。网桥主要用于联接数量不多、同一类型的网段。


集线器(Hub):工作在OSI的第一层物理层,主要用于对接收到的信号进行再生×××放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。集线器每个接口简单的收发0/1高低电频,不进行碰撞检测。其工作方式采用“广播”模式,很容易产生“广播风暴”,因此大部份集线器已被交换机所取代。集线器主要用于小型局域网主机互联。


二层交换机(L2 Switch):工作在OSI模型的第二层数据链路层,类似于网桥,但交换机可以连接多个局域网(LAN),交换机可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表(MAC地址表)中,相比集线器,交换机能够隔离冲突域和有效抑制“广播风暴”的产生。二层交换机主要用于中、小型局域网设备互联,或大型局域网接入层或汇聚层的设备接入。


三层交换机(L3 Switch):具有部分路由器功能的交换机,其目的是加快大型局域网内部的数据交换,能够做到一次路由,多次转发。三层交换技术就是二层交换技术+三层转发技术。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能由软件实现。传统交换技术是工作在OSI模型第二层——数据链路层进行操作的,而三层交换技术是在OSI模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。三层交换机主要用于中、大型局域网汇聚层或局域网出口。


路由器(Router):工作在OSI模型的第三层网络层,其功能是决定最优路由(Assigned Route)和转发数据包(Package)。路由表(Route Table)中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包;接受数据的下一台路由器(也称下一跳Next Hop)依照相同的工作方式继续转发,依次类推,直到数据包到达目的地址。其工作模式与二层交换机相似,但路由器工作在OSI模型的第三层——网络层,这个区别决定了路由器和交换机在转发过程时使用不同的控制信息,实现功能的方式也就不同。路由器适用于局域网间互联,局域网与城域网互联互通以及广域网出口。



2、IP地址的分类有哪些?子网掩码的表示形式及其作用。

IP地址按编址方案分为A、B、C、D、E五类,其中A、B、C用于用于网络和主机设备分配IP,D类用于组播,E类用于科研。

按点分十进制规范具体表示如下

A类:

特点:以0开头,网络地址7位(00000000-01111111:1-127),主机地址24位

网络数:2^7-1

每个网络中的主机数:2^24-2(1个用作网络地址,1个用作广播地址)

默认子网掩码:255.0.0.0

私网地址:10.0.0.0/8

保留地址:127.0.0.0/8(本地回环地址用于测试)


B类:

特点:以10开头,网络地址14位(10000000-10111111:128-191),主机地址16位

网络数:2^14

每个网络中的主机数:2^16-2(1个用作网络地址,1个用作广播地址)

默认子网掩码:255.255.0.0

私网地址:172.16.0.0/16-172.31.0.0/16

保留地址:169.254.0.0/16(Windows操作系统在DHCP自动分配失败时自动给客户机分配的IP地址)


C类:

特点:以110开头,网络地址21位(10000000-10111111:128-191),主机地址8位

网络数:2^21

每个网络中的主机数:2^8-2(1个用作网络地址,1个用作广播地址)

默认子网掩码:255.255.255.0

私网地址:192.168.0.0/24-192.168.255.0/24


D类:

特点:以1110开头,11100000-11101111:224-239,用于组播


D类:

特点:以11110开头,11110000-111111111:240-255,用于科研


子网掩码的作用:

1、用于屏蔽IP地址的一部分,以区别网络标识和主机标识,并说明该IP地址是在局域网内还是在远程网络。

2、用于将一个大的IP网络划分为若干小的IP子网络即变长子网掩码(VLSM);或将若干个小的IP子网络汇总为一个大的IP网络即超网(Supernetting)或无类别域间路由(CIDR)。



3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。

OSI模型

物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输,常用物理设备有中继器、集线器、网线、HUB,RJ-45标准等

数据链路层:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路,常用物理设备有网卡、网桥、二层交换机等

网络层:该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,常用物理设备有多层交换机、路由器、防火墙等

传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输

会话层:向两个实体的表示层提供建立和使用连接的方法

表示层:处理用户信息的表示问题,如编码、数据格式转换和加密解密

应用层:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系,并实现各种服务


TCP/IP模型(TCP/IP协议簇)

网络接口层(对应于OSI七层模型的物理层和数据链路层):用于协作IP数据在已有网络介质上传输的协议

网际层(对应于OSI七层模型的网络层):负责数据的包装、寻址和路由,包含IP、IPX、ARP、RARP、RIP、OSPF等协议

传输层(对应于OSI七层模型的传输层):提供两种端到端的通信服务,包含TCP、UDP、SPX等协议

应用层(对应于OSI七层模型的表示层,会话层和应用层):包括Telent、HTTP、FTP、SMTP、DNS、DHCP等协议



4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)

要将Linux主机接入到TCP/IP网络,需要为Linux主机配置IP/Mask、默认网关、DNS服务器等信息

配置方式主要有动态分配及静态指定2种

现通过编辑网卡配置文件方式(RHEL7环境),手工指定网卡开机启动,IP、子网掩码、默认网关、DNS等信息

vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=202.96.209.5

保存退出后,重启网络服务激活

systemctl restart network



5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。

为Linux主机配置网络信息的方式有动态分配(通过DHCP服务器实现)及静态指定(通过相关网络命令、编辑网络相关配置文件或图形化工具实现)

网络信息主要包括IP地址、子网掩码、默认网关、路由、DNS等

1、通过相关网络命令临时指定相关网络信息

1)ifconfig命令配置及查看IP信息

[root@localhost Desktop]# ifconfig eno16777728 192.168.0.10 netmask 255.255.255.0

[root@localhost Desktop]# ifconfig eno16777728 192.168.0.10/24
[root@localhost Desktop]# ifconfig 
eno16777728: flags=4163  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fe73:16ea  prefixlen 64  scopeid 0x20
        ether 00:0c:29:73:16:ea  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 3222 (3.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 166  bytes 16752 (16.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


2)ip addr命令配置及查看IP信息(配置多个IP地址)

[root@localhost Desktop]# ip addr add 192.168.0.20/24 dev eno16777728
[root@localhost Desktop]# ip addr show
2: eno16777728:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global eno16777728
       valid_lft forever preferred_lft forever
    inet 192.168.0.20/24 scope global eno16777728
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:16ea/64 scope link 
       valid_lft forever preferred_lft forever


3)ifcfg命令配置IP信息(配置多个IP地址)

[root@localhost Desktop]# ifcfg eno16777728 192.168.0.30/24
[root@localhost Desktop]# ip addr show
2: eno16777728:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global eno16777728
       valid_lft forever preferred_lft forever
    inet 192.168.0.20/24 scope global secondary eno16777728
       valid_lft forever preferred_lft forever
    inet 192.168.0.30/24 brd 192.168.0.255 scope global secondary eno16777728
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:16ea/64 scope link 
       valid_lft forever preferred_lft forever


4)route命令配置默认网关

[root@localhost Desktop]# route add default gw 192.168.0.254
[root@localhost Desktop]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 eno16777728


5)ip route命令配置默认网关

[root@localhost Desktop]# ip route add default via 192.168.0.1 dev eno16777728
[root@localhost Desktop]# ip route show
default via 192.168.0.1 dev eno16777728

 


2、通过编辑网络相关配置文件指定相关网络信息

1)编辑/etc/sysconfig/network-scripts/ifcfg-eno16777728网卡配置文件指定相关网络信息,详见第4题


2)编辑/etc/reso.conf配置文件来添加DNS

[root@localhost Desktop]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 202.96.209.5


3、通过图形化、文本或命令行工具配置相关网络信息

CentOS 6:setup、system-config-network、system-config-network-tui、system-config-network-cmd

CentOS 7:nm-connection-editor、nmtui、nmcli



6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;

在线的主机使用绿色显示;

不在线的主使用红色显示;

#!/bin/bash
for i in $(seq 1 254); do
    if ping -w 1 -c 1 172.16.250.$i &> /dev/null; then
        echo -e "\033[32m 172.16.250.$i \033[0m"
    else
        echo -e "\033[31m 172.16.250.$i \033[0m"
    fi
done



7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值。

/etc/sysconfig/network-scripts/ifcfg-IFACE:

DEVICE或NAME:此配置文件对应的设备名称

UUID:设备的唯一标识

TYPE:接口类型,常见的有Ethernet、Bridge

ONBOOT:在系统引导时是否激活此设备,可取值yes、no

BOOTPROTO:激活此设备时使用的地址配置协议,常用的有dhcp、static、none、bootp

NM_CONTROLLED:是否使用NetworkManager服务来控制该设备,可取值yes、no(CentOS 6建议为"no")

HWADDR:设备对应的MAC地址

IPADDR:设备对应的IP地址

NETMASK:子网掩码(CentOS 7支持使用PREFIX以长度方式指明子网掩码)

GATEWAY:默认网关

DNS1:第一个DNS服务器指向

DNS2:第二个DNS服务器指向

USERCTL:是否允许普通用户控制该设备,可取值yes、no

PEERDNS:如果BOOTPROTO的值为"dhcp",是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中(默认为yes)



8、如何给网络接口配置多个地址,有哪些方式?

1、通过相关网络命令临时给网络接口配置多个地址(立即生效,重启失效)

1)ifconfig命令

[root@localhost ~]# ifconfig eno16777728:0 10.10.0.10/24
[root@localhost ~]# ifconfig 
eno16777728: flags=4163  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fe73:16ea  prefixlen 64  scopeid 0x20
        ether 00:0c:29:73:16:ea  txqueuelen 1000  (Ethernet)
        RX packets 23  bytes 3747 (3.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3059  bytes 197750 (193.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eno16777728:0: flags=4163  mtu 1500
        inet 10.10.0.10  netmask 255.255.255.0  broadcast 10.10.0.255
        ether 00:0c:29:73:16:ea  txqueuelen 1000  (Ethernet)


2)ip addr

[root@localhost ~]# ip addr add 10.10.0.20/24 dev eno16777728 label eno16777728:1
[root@localhost ~]# ip addr show
2: eno16777728:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global eno16777728
       valid_lft forever preferred_lft forever
    inet 10.10.0.10/24 brd 10.10.0.255 scope global eno16777728:0
       valid_lft forever preferred_lft forever
    inet 192.168.0.20/24 scope global secondary eno16777728
       valid_lft forever preferred_lft forever
    inet 192.168.0.30/24 brd 192.168.0.255 scope global secondary eno16777728
       valid_lft forever preferred_lft forever
    inet 10.10.0.20/24 scope global secondary eno16777728:1


2、通过修改对应网卡别名的配置文件给网络接口配置多个地址

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777728:2
NAME=eno16777728:2
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.0.30
NETMASK=255.255.255.0



9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。

常用的网络管理类工具有

ifcfg家族:ifconfig, route, netstat

iproute2家族:ip object {link, addr, route}, ss, tc


ifcfg家族

1、ifconfig命令:接口查看及管理 

ifconfig [interface]:查看接口信息

常用参数:

-a 显示所有接口,包括inactive(非激活)状态的接口

[root@localhost Desktop]# ifconfig -a
eno16777728: flags=4163  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe73:16ea  prefixlen 64  scopeid 0x20
        ether 00:0c:29:73:16:ea  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 3222 (3.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31  bytes 4276 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 642  bytes 54540 (53.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 642  bytes 54540 (53.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ifconfig interface [aftype] options | address ...:管理接口

常用命令:

ifconfig IFACE up|down 启用或禁用指定接口

[root@localhost Desktop]# ifconfig eno16777728 down
[root@localhost Desktop]# ifconfig 
lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 642  bytes 54540 (53.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 642  bytes 54540 (53.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost Desktop]# ifconfig eno16777728 up
[root@localhost Desktop]# ifconfig 
eno16777728: flags=4163  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe73:16ea  prefixlen 64  scopeid 0x20
        ether 00:0c:29:73:16:ea  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 3222 (3.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 52  bytes 7666 (7.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 770  bytes 65420 (63.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 770  bytes 65420 (63.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



ifconfig IFACE IP/NETMASK [up]或ifconfig IFACE IP netmask NETMASK 为接口临时配置IP地址及掩码(立即生效,重启失效)

示例详见第5题及第8题


2、route命令:路由查看及管理 

常用命令:

-n:查看路由 

[root@localhost Desktop]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eno16777728


route -add [-net|-host] target [netmask NM] [gw GW] [[dev] if]:添加路由

添加主机路由

[root@localhost Desktop]# route add -host 172.16.10.10 gw 192.168.10.254 dev eno16777728


添加网络路由

[root@localhost Desktop]# route add -net 172.16.10.0/24 gw 192.168.10.254 dev eno16777728


添加默认路由

[root@localhost Desktop]# route add default gw 192.168.10.254


查看路由

[root@localhost Desktop]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.254  0.0.0.0         UG    0      0        0 eno16777728
0.0.0.0         192.168.10.254  0.0.0.0         UG    1024   0        0 eno16777728
172.16.10.0     192.168.10.254  255.255.255.0   UG    0      0        0 eno16777728
172.16.10.10    192.168.10.254  255.255.255.255 UGH   0      0        0 eno16777728
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eno16777728


route del [-net|-host] target [gw GW] [netmask NM] [[dev] if]:删除路由

删除主机路由

[root@localhost Desktop]# route del -host 172.16.10.10


删除网络路由

[root@localhost Desktop]# route del -net 172.16.10.0 netmask 255.255.255.0


再查看路由

[root@localhost Desktop]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.254  0.0.0.0         UG    0      0        0 eno16777728
0.0.0.0         192.168.10.254  0.0.0.0         UG    1024   0        0 eno16777728
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eno16777728


补充:

dig命令:解析DNS地址工具 

正解DNS FQDN域名->IP地址

dig -t A www.baidu.com


反解DNS IP地址->FQDN域名

dig -x 127.0.0.1


3、netstat命令:显示网络信息

netstat [--tcp|-t] [--udp|-u] [--listening|-l] [--raw|-w] [--all|-a] [--numeric|-n] [--extend|-e] [--program|-p]:显示网络连接

常用参数:

-t:tcp协议相关,连接均有其状态:FSM(finate state macheine) 

-u:udp协议相关

-w:raw socket相关

-l:处于监听状态 

-a:所有状态 

-n:以数字格式显示IP和PORT

-e:扩展格式 

-p:显示相关进程及PID

常用组合:-tan -uan -tnl -unl -tunlp

[root@localhost Desktop]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3026/master         
tcp        0      0 0.0.0.0:54954           0.0.0.0:*               LISTEN      2352/rpc.statd      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2157/rpcbind        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1963/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3525/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      3026/master         
tcp6       0      0 :::56008                :::*                    LISTEN      2352/rpc.statd      
tcp6       0      0 :::111                  :::*                    LISTEN      2157/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      1963/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      3525/cupsd          
udp        0      0 0.0.0.0:58438           0.0.0.0:*                           2352/rpc.statd      
udp        0      0 0.0.0.0:111             0.0.0.0:*                           2157/rpcbind        
udp        0      0 0.0.0.0:123             0.0.0.0:*                           1056/chronyd        
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1049/avahi-daemon:  
udp        0      0 127.0.0.1:323           0.0.0.0:*                           1056/chronyd        
udp        0      0 127.0.0.1:834           0.0.0.0:*                           2352/rpc.statd      
udp        0      0 0.0.0.0:862             0.0.0.0:*                           2157/rpcbind        
udp        0      0 0.0.0.0:51127           0.0.0.0:*                           1049/avahi-daemon:  
udp6       0      0 :::111                  :::*                                2157/rpcbind        
udp6       0      0 :::123                  :::*                                1056/chronyd        
udp6       0      0 ::1:323                 :::*                                1056/chronyd        
udp6       0      0 :::862                  :::*                                2157/rpcbind        
udp6       0      0 :::54161                :::*                                2352/rpc.statd


netstat  {--route|-r} [--numeric|-n]:显示路由表

常用参数:

-r:显示内核路由表

[root@localhost Desktop]# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.10.254  0.0.0.0         UG        0 0          0 eno16777728
0.0.0.0         192.168.10.254  0.0.0.0         UG        0 0          0 eno16777728
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 eno16777728


netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--verbose|-v] [--program|-p] [--numeric|-n]:显示接口统计数据

所有接口

[root@localhost Desktop]# netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777  1500       18      0      0 0            57      0      0      0 BMRU
lo       65536      930      0      0 0           930      0      0      0 LRU


指定接口 

netstat -I


ifup/ifdown命令:通过配置文件来识别接口并完成配置



iproute2家族: 

1、ip命令:show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help } 

OBJECT={link|addr|route|netns}

ip OBJECT: 

ip link:网络设备配置

ip link set:设定设备属性

常用参数:

dev NAME (default):指明要管理的设备,dev关键字可省略 

up and down:启用及禁用指定的设备

[root@localhost Desktop]# ip link set dev eno16777728 down
[root@localhost Desktop]# ip link show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777728:  mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff
[root@localhost Desktop]# ip link set dev eno16777728 up
[root@localhost Desktop]# ip link show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777728:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff


ip link show:显示设备属性

ip link help:显示简要使用帮助

[root@localhost Desktop]# ip link help
Usage: ip link add [link DEV] [ name ] NAME
                   [ txqueuelen PACKETS ]
                   [ address LLADDR ]
                   [ broadcast LLADDR ]
                   [ mtu MTU ]
                   [ numtxqueues QUEUE_COUNT ]
                   [ numrxqueues QUEUE_COUNT ]
                   type TYPE [ ARGS ]
       ip link delete DEV type TYPE [ ARGS ]
       ip link set { dev DEVICE | group DEVGROUP } [ { up | down } ]
                  [ arp { on | off } ]
                  [ dynamic { on | off } ]
                  [ multicast { on | off } ]
                  [ allmulticast { on | off } ]
                  [ promisc { on | off } ]
                  [ trailers { on | off } ]
                  [ txqueuelen PACKETS ]
                  [ name NEWNAME ]
                  [ address LLADDR ]
                  [ broadcast LLADDR ]
                  [ mtu MTU ]
                  [ netns PID ]
                  [ netns NAME ]
  [ alias NAME ]
                  [ vf NUM [ mac LLADDR ]
   [ vlan VLANID [ qos VLAN-QOS ] ]
   [ rate TXRATE ] ] 
   [ spoofchk { on | off} ] ] 
   [ state { auto | enable | disable} ] ]
  [ master DEVICE ]
  [ nomaster ]
       ip link show [ DEVICE | group GROUP ] [up]
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | can |
          bridge | ipoib | ip6tnl | ipip | sit | vxlan }


ip addr:IP管理

ip addr add:为指定接口添加IP地址

ip addr add IFADDR dev IFACE 

[label LABEL]:添加IP地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global: 全局可用

link: 仅链接可用

host: 本机可用

[broadcast ADDRESS]:指明广播地址

[root@localhost Desktop]# ip addr add 192.168.10.20/24 dev eno16777728
[root@localhost Desktop]# ip addr add 192.168.10.30/24 dev eno16777728 label eno16777728:0
[root@localhost Desktop]# ip addr show
1: lo:  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
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777728:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.10/24 brd 192.168.10.255 scope global eno16777728
       valid_lft forever preferred_lft forever
    inet 192.168.10.20/24 scope global secondary eno16777728
       valid_lft forever preferred_lft forever
    inet 192.168.10.30/24 scope global secondary eno16777728:0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:16ea/64 scope link 
       valid_lft forever preferred_lft forever


ip addr del:删除指定接口IP地址

ip addr flush:清空地址别名

ip addr show:显示接口IP信息

[root@localhost Desktop]# ip addr del 192.168.10.20/24 dev eno16777728
[root@localhost Desktop]# ip addr flush dev eno16777728 label eno16777728:0
[root@localhost Desktop]# ip addr show
1: lo:  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
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777728:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:16:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.10/24 brd 192.168.10.255 scope global eno16777728
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:16ea/64 scope link 
       valid_lft forever preferred_lft forever


ip route:路由表管理

ip route add:添加路由

ip route add TARGET via GW dev IFACE src SOURCE_IP

TARGET:

主机路由:IP

网络路由:NETWORK/MASK

添加网关:ip route add defalt via GW dev IFACE

添加主机路由

[root@localhost Desktop]# ip route add 172.16.10.10 via 192.168.10.254 dev eno16777728


添加网络路由

[root@localhost Desktop]# ip route add 172.16.10.0/24 via 192.168.10.254 dev eno16777728


添加默认路由

[root@localhost Desktop]# ip route add default via 192.168.10.254


查看路由

[root@localhost Desktop]# ip route show
default via 192.168.10.254 dev eno16777728 
default via 192.168.10.254 dev eno16777728  proto static  metric 1024 
172.16.10.0/24 via 192.168.10.254 dev eno16777728 
172.16.10.10 via 192.168.10.254 dev eno16777728 
192.168.10.0/24 dev eno16777728  proto kernel  scope link  src 192.168.10.10


ip route del:删除路由

ip route del TARGET 

ip route show:查看路由

ip route flush:清空路由

[dev IFACE]

[via PREFIX]

删除主机路由

[root@localhost Desktop]# ip route del 172.16.10.10


查看路由

[root@localhost Desktop]# ip route show
default via 192.168.10.254 dev eno16777728 
default via 192.168.10.254 dev eno16777728  proto static  metric 1024 
172.16.10.0/24 via 192.168.10.254 dev eno16777728 
192.168.10.0/24 dev eno16777728  proto kernel  scope link  src 192.168.10.10


清空路由

ip route flush dev eno16777728


ss命令: 

ss [options] [ FILTER ] [EXPRESSION] 

常用参数: 

-t:tcp协议相关 

-u:udp协议相关

-w:raw socket相关

-l:监听状态

-a:所有状态 

-n:数字格式 

-p:相关的程序及PID 

-e:扩展格式信息

-m:内存用量 

-o:计时器信息

常用组合:-tan -uan -tanlp

[root@localhost Desktop]# ss -tanlp
State       Recv-Q Send-Q       Local Address:Port         Peer Address:Port 
LISTEN      0      100              127.0.0.1:25                      *:*      users:(("master",3026,13))
LISTEN      0      128                      *:54954                   *:*      users:(("rpc.statd",2352,9))
LISTEN      0      128                      *:111                     *:*      users:(("rpcbind",2157,9))
LISTEN      0      128                      *:22                      *:*      users:(("sshd",1963,3))
LISTEN      0      128              127.0.0.1:631                     *:*      users:(("cupsd",3525,11))
LISTEN      0      100                    ::1:25                     :::*      users:(("master",3026,14))
LISTEN      0      128                     :::56008                  :::*      users:(("rpc.statd",2352,11))
LISTEN      0      128                     :::111                    :::*      users:(("rpcbind",2157,12))
LISTEN      0      128                     :::22                     :::*      users:(("sshd",1963,4))
LISTEN      0      128                    ::1:631                    :::*      users:(("cupsd",3525,10))