Linux下网络管理

计算机网络的基本概念

IP地址(IP Address)

基本概念

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP地址是一个32位的二进制数

IP地址的构成

IP地址由两部分组成:

  • 主机位

  • 网络位

IP地址的类型

公有地址

公有地址由Inter NIC负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。

私有地址

私有地址(Private address)属于非注册地址,专门为组织机构内部使用。

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

什么是子网

引入子网掩码,从逻辑上把一个大网络划分成一些小网络。子网掩码是由一系列的1和0构成,通过将其同IP地址做“与”运算来指出一个IP地址的网络号是什么。对于传统IP地址分类来说,A类地址的子网掩码是255.0.0.0;B类地址的子网掩码是255.255.0.0;C类地址的子网掩码是255.255.255.0。例如,如果要将一个B类网络166.111.0.0划分为多个C类子网来用的话,只要将其子网掩码设置为255.255.255.0即可,这样166.111.1.1和166.111.2.1就分属于不同的网络了。像这样,通过较长的子网掩码将一个网络划分为多个网络的方法就叫做划分子网

子网掩码(NetMask)

概念

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络位和主机位,并说明该IP地址是在局域网上,还是在广域网上。

默认子网掩码

类别子网掩码二进制子网掩码十进制
A11111111 00000000 00000000 00000000255.0.0.0
B11111111 11111111 00000000 00000000255.255.0.0
C11111111 11111111 11111111 00000000255.255.255.0

网关(GateWay)

概念

网络连接到另一个网络的关口,也就是两个不同网络之间的中介人

网关地址(不同网段通信)路由器接口地址

路由

概念

路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样的事。它们的主要区别在于桥接发生在OSI参考模型的第二层数据链路层,而路由发生在第三层网络层。这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。

[root@node1 opt]# route -n               # 查看网关路由信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 ens160
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

主机路由是主机连的路由

网络路由是接外网的路由

计算机域名系统(DNS)

概念

因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串

[root@node1 opt]# cat /etc/resolv.conf  
# Generated by NetworkManager
search domain18.example.com                   #主机名
nameserver 114.114.114.114                    #DNS地址

配置网络的方式

ifconfig

管理命令

ifconfig                          #用于查看所有激活的网卡
​
ifconfig -a                       #查看所有的网卡,包括未激活的
​
ifconfig 网卡名称 up/down          #开启/关闭网卡
​
ifconfig 网卡名称 IP地址和子网掩码   #临时修改IP地址

ifconfig内容详解

[root@k8s-master-node1 ~]# ifconfig 
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.80.140  netmask 255.255.255.0  broadcast 192.168.80.255
        inet6 fe80::ae1f:6bff:fed7:3da2  prefixlen 64  scopeid 0x20<link>
        ether ac:1f:6b:d7:3d:a2  txqueuelen 1000  (Ethernet)
        RX packets 72818  bytes 4713865 (4.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1171  bytes 151941 (148.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xfb200000-fb27ffff  
  • en:以太网

    • 无线局域网wl

    • 无线广域网ww

  • o:板载网卡

    • s为热插拔插槽

    • p代表pcl类型的支持

  • 1:序列号 与mac地址有关

  • mtu 1500 最大传输单元

  • UP,BROADCAST,RUNNING,MULTICAST网卡支持特征

  • BROADCAST 广播

  • MULTICAST 多播

  • ether ac:1f:6b:d7:3d:a2 mac地址

  • inet 192.168.80.140 netmask 255.255.255.0 ipv4地址

  • broadcast 192.168.80.255 广播地址

  • inet6 fe80::ae1f:6bff:fed7:3da2 ipv6地址

  • RX packets 96 bytes 8784 (8.5 KiB)

  • RX errors 0 dropped 0 overruns 0 frame 0

  • TX packets 96 bytes 8784 (8.5 KiB)

  • TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0(多少数据包在接收)

IP

管理命令

ip link 用于查看mac地址 
​
ip link set 网卡名称 up/down  打开或关闭网卡
​
ip adderss add xxx.xxx.xxx.xxx/xx dev 网卡名称 临时添加IP地址
​
ip adderss del xxx.xxx.xxx.xxx/xx dev 网卡名称 临时删除IP地址
​
ip a show 查看地址
​
ip route add 172.25.0.1 via 172.25.0.254 dev ens192 主机路由
​
ip route add 172.16.1.0/24 via 192.168.10.254 dev ens192 网络路由前一个为更改的路由,后一个为原本的路由
​
ip route del 172.25.0.1 删除路由

NetworkManager

nmtui

图形化管理IP工具

nmcli

nmcli device 查看有几块网卡
​
nmcli device show ens160 查看ens160网卡的详细信息
​
nmcli  connection show  查看配置文件
​
nmcli device show 查看所有网卡的信息
​
nmcli dev conneted/disconneted 网卡名称 开启/关闭网卡
​
nmcli device connel 连接到网卡
​
nmcli connection modify ens160 ipv4.addresses 172.16.1.1/24 ipv4.gateway 172.16.1.254 ipv4.dns 172.16.1.254 ipv4.method manual  配置网络ip网关dns
​
nmcli connection add ifname ens160 type ethernet con-name ens160 ipv4.addresses 172.16.1.1/24 ipv4.gateway 172.16.1.254 ipv4.dns 172.16.1.254 ipv4.method manual  新建网络配置文件并配置
​
nmcli con up ens160 重启网卡
​
nmcli con del ens160 删除网卡
​
nmcli connection modify ens160 +ipv4.addresses 172.16.1.1/24 多添加一个ip地址

注意

一块网卡可以有多个配置文件,但是只能有一个生效

可以用+-来添加/删除两个ip地址或者是dns

网卡配置文件详解

[root@node1 opt]# vim /etc/sysconfig/network-scripts/ifcfg-ens160  
​
TYPE=Ethernet                                   # 网卡类型
BOOTPROTO=none                                  # 配置模式
NAME=ens160                                     #网卡配置的名字
UUID=075e39d6-6666-4c2f-b10c-f187c0aece75       #网卡ID
DEVICE=ens160                                   #设备名字
ONBOOT=yes                                      #是否开启启动网卡
IPADDR=192.168.1.123                            #IP地址
PREFIX=24                                       #掩码位数
GATEWAY=192.168.1.1                             #网关
DNS1=114.114.114.114                            #DNS

VMware三种网络模式

NAT

网络地址转换,有上行链路,主要是完成虚拟机和物理机之间的地址转换,将虚拟机中的地址转换为物理机的IP地址进行上网

仅主机

没有上行链路的虚拟交换机,没有和外网通信的链路,只能在内部进行交换,不能访问外网

桥接

虚拟机直连到外部网络 供外部网络访问

bond双网卡绑定

双网卡绑定bond模式:

轮询(balance-rr)

主备 (active-backup)

适配器传输负载均衡 (balance-tlb)

动态链接聚合 (802.3ad)

广播策略 (broadcast)

平衡策略 (balance-xor)

适配器适应性负载均衡 (balance-alb)

实质:

把两块网卡逻辑上绑定成一个虚拟网卡,IP地址配置在虚拟网卡上,不配置在物理网卡

步骤:

1. 创建bond0逻辑接口

nmcli con add type bond ifname bond0 (虚拟设备的名字) con-name bond0 mode active-backup autoconnect yes 

2. 将两张网卡绑定给bond0

nmcli con type ethernet slave-type bond  ifname ens160 con-name ens160 master bond0  
nmcli con type ethernet slave-type bond  ifname ens224 con-name ens224  master bond0  

3. 给bond0配置ip地址

nmcli con modify bond0 ipv4.method manual ipv4.address 172.16.0.100/24 

4.重启bond0网卡配置文件

nmcli con up bond0 

网桥配置

1.创建br0设备

nmcli con add type bridge ifname br0 con-name br0 autoconnect yes  

2. 添加一个子网卡

nmcli con add type ethernet slave-type bridge ifname ens160 master br0 

3. 配置网桥的地址

nmcli con modify br0 ipv4.method manual ipv4.address 172.16.0.200/24

一般情况网桥是不需要配置地址

端口

作用

通过ip地址来识别服务器 通过端口号来识别服务

常用端口号

端口号码 / 层名称注释
1tcpmuxTCP 端口服务多路复用
5rje远程作业入口
7echoEcho 服务
9discard用于连接测试的空服务
11systat用于列举连接了的端口的系统状态
13daytime给请求主机发送日期和时间
17qotd给连接了的主机发送每日格言
18msp消息发送协议
19chargen字符生成服务;发送无止境的字符流
20ftp-dataFTP 数据端口
21ftp文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用
22ssh安全 Shell(SSH)服务
23telnetTelnet 服务
25smtp简单邮件传输协议(SMTP)
37time时间协议
39rlp资源定位协议
42nameserver互联网名称服务
43nicnameWHOIS 目录服务
49tacacs用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统
50re-mail-ck远程邮件检查协议
53domain域名服务(如 BIND)
63whois++WHOIS++,被扩展了的 WHOIS 服务
67bootps引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用
68bootpcBootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用
69tftp小文件传输协议(TFTP)
70gopherGopher 互联网文档搜寻和检索
71netrjs-1远程作业服务
72netrjs-2远程作业服务
73netrjs-3远程作业服务
73netrjs-4远程作业服务
79finger用于用户联系信息的 Finger 服务
80http用于万维网(WWW)服务的超文本传输协议(HTTP)
88kerberosKerberos 网络验证系统
95supdupTelnet 协议扩展
101hostnameSRI-NIC 机器上的主机名服务
102iso-tsapISO 开发环境(ISODE)网络应用
105csnet-ns邮箱名称服务器;也被 CSO 名称服务器使用
107rtelnet远程 Telnet
109pop2邮局协议版本2
110pop3邮局协议版本3
111sunrpc用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用
113auth验证和身份识别协议
115sftp安全文件传输协议(SFTP)服务
117uucp-pathUnix 到 Unix 复制协议(UUCP)路径服务
119nntp用于 USENET 讨论系统的网络新闻传输协议(NNTP)
123ntp网络时间协议(NTP)
137netbios-ns在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务
138netbios-dgm在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务
139netbios-ssn在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务
143imap互联网消息存取协议(IMAP)
161snmp简单网络管理协议(SNMP)
162snmptrapSNMP 的陷阱
163cmip-man通用管理信息协议(CMIP)
164cmip-agent通用管理信息协议(CMIP)
174mailqMAILQ
177xdmcpX 显示管理器控制协议
178nextstepNeXTStep 窗口服务器
179bgp边界网络协议
191prosperoCliffod Neuman 的 Prospero 服务
194irc互联网中继聊天(IRC)
199smuxSNMP UNIX 多路复用
201at-rtmpAppleTalk 选路
202at-nbpAppleTalk 名称绑定
204at-echoAppleTalk echo 服务
206at-zisAppleTalk 区块信息
209qmtp快速邮件传输协议(QMTP)
210z39.50NISO Z39.50 数据库
213ipx互联网络分组交换协议(IPX),被 Novell Netware 环境常用的数据报协议
220imap3互联网消息存取协议版本3
245linkLINK
347fatservFatmen 服务器
363rsvp_tunnelRSVP 隧道
369rpc2portmapCoda 文件系统端口映射器
370codaauth2Coda 文件系统验证服务
372ulistprocUNIX Listserv
389ldap轻型目录存取协议(LDAP)
427svrloc服务位置协议(SLP)
434mobileip-agent可移互联网协议(IP)代理
435mobilip-mn可移互联网协议(IP)管理器
443https安全超文本传输协议(HTTP)
444snpp小型网络分页协议
445microsoft-ds通过 TCP/IP 的服务器消息块(SMB)
464kpasswdKerberos 口令和钥匙改换服务
468photurisPhoturis 会话钥匙管理协议
487saft简单不对称文件传输(SAFT)协议
488gss-http用于 HTTP 的通用安全服务(GSS)
496pim-rp-disc用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC)
500isakmp互联网安全关联和钥匙管理协议(ISAKMP)
535iiop互联网内部对象请求代理协议(IIOP)
538gdomapGNUstep 分布式对象映射器(GDOMAP)
546dhcpv6-client动态主机配置协议(DHCP)版本6客户
547dhcpv6-server动态主机配置协议(DHCP)版本6服务
554rtsp实时流播协议(RTSP)
563nntps通过安全套接字层的网络新闻传输协议(NNTPS)
565whoamiwhoami
587submission邮件消息提交代理(MSA)
610npmp-local网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS)
611npmp-gui网络外设管理协议(NPMP)GUI / 分布式排队系统(DQS)
612hmmp-indHMMP 指示 / DQS
631ipp互联网打印协议(IPP)
636ldaps通过安全套接字层的轻型目录访问协议(LDAPS)
674acap应用程序配置存取协议(ACAP)
694ha-cluster用于带有高可用性的群集的心跳服务
749kerberos-admKerberos 版本5(v5)的“kadmin”数据库管理
750kerberos-ivKerberos 版本4(v4)服务
765webster网络词典
767phonebook网络电话簿
873rsyncrsync 文件传输服务
992telnets通过安全套接字层的 Telnet(TelnetS)
993imaps通过安全套接字层的互联网消息存取协议(IMAPS)
994ircs通过安全套接字层的互联网中继聊天(IRCS)
995pop3s通过安全套接字层的邮局协议版本3(POPS3)

netstat

[root@node1 ~]# netstat  -ntpl              ##查看监听端口 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1819/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1196/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1201/cupsd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp6       0      0 :::22                   :::*                    LISTEN      1196/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1201/cupsd
tcp6       0      0 :::9090                 :::*                    LISTEN      1/systemd
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
  • Proto 协议名

  • Local Address 本地监听地址

  • Foreign Address 外部访问地址

  • LISTEN 已经监听

  • PID/Program name 进程的pid和进程名

  • -tulnp

    • -t 查看tcp

    • -u查看udp

    • -l 已经监听

    • -n 显示数字和ip地址 不加则显示主机名和协议的名字

    • -p 显示pid和进程名

    • -a 显示所有

ss

ss:用来查看系统所开放的端口和系统的连接

[root@node1 ~]# ss -tan 
State          Recv-Q         Send-Q                  Local Address:Port                   Peer Address:Port         Process
LISTEN         0              32                      192.168.122.1:53                          0.0.0.0:*
LISTEN         0              128                           0.0.0.0:22                          0.0.0.0:*
LISTEN         0              5                           127.0.0.1:631                         0.0.0.0:*
LISTEN         0              128                           0.0.0.0:111                         0.0.0.0:*
ESTAB          0              0                       192.168.1.123:22                      192.168.1.1:5176
LISTEN         0              128                              [::]:22                             [::]:*
LISTEN         0              5                               [::1]:631                            [::]:*
LISTEN         0              128                                 *:9090                              *:*
LISTEN         0              128                              [::]:111                            [::]:*

state为listen则表示监听

state为estab则表示连接已经建立

  • ss -tan 查看服务端口是否被监听

    • -t 显示tcp连接

    • -a 显示已经监听的

    • -n 用数字的方式来显示端口号

    • -l 只查看监听的套接字

    • -u 查看udp的监听

    • -p 可以看见端口监听由哪个进程发起

ss的优点:

有大并发的优势

ss是从内核中读取网络连接

但是netstat是去读取套接字

netstat效率比ss低,尤其是在高并发的情况

需要安装iproute来使用ss命令

什么是套接字:

应用程序在系统中创建的一个接口去访问连接,这样的连接是套接字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值