用户
搜索

[web安全] Linux十-管理网络

该用户从未签到

i春秋-脚本小子

Rank: 2

7

主题

7

帖子

139

魔法币
收听
0
粉丝
1
注册时间
2020-9-9
发表于 2021-10-4 14:22:32 01053
本篇文章作者邪色蝴蝶,本篇文章参与i春秋作家连载计划所属邪色蝴蝶个人,未经许可,禁止转载。

0X00:前言
各位表哥们,大家好,这是我连载的第十篇文章,有不足之处请大家多多指出。
本篇是写Linux-管理网络

0X01:TCP/IP网络模型
TCP/IP网络模型是一种简化的四层抽象集合,用于描述不同的协议如何互操作,以便计算机通过互联网将流量从一台计算机发送到另一台计算机。
这四层分别是:
应用层:每一应用程序用于通信的规范,以便客户端和服务器可以跨平台通信。常用的协议有SSH(远程登录)、HTTPS(安全web)、NFS和CIFS(文件共享),以及SMTP(电子邮件递送)等。
传输:传输协议有TCP和UDP。TCP是可靠连接导向型通信,而UDP属于无连接数据报协议。应用协议使用TCP或UDP端口。/etc/services文件中可以找到常用和已注册的端口列表。
网络层:网络层将数据从源主机传送到目标主机。IPv4和IPv6协议是网络层协议。每一主机具有IP地址和前缀,用于确定网络地址,路由器用于连接网络。
数据链路层:链路或介质存取层提供与物理介质的连接。最常见的网络类型是有线以太网和无线局域网。每一物理设备具有一个硬件地址(MAC),用于标识局域网络段中的数据包的目的地。

系统上的每个网络端口都有一个名称。网络接口名称以接口类型开头:
以太网接口以en开头
WLAN接口以wl开头
WWAN接口以ww开头
在类型之后,接口名称的其余部分将基于服务器固件所提供的信息,或由PCI拓扑中设备的位置确定。
-ON表示这是一个板载设备,且服务器的固件提供设备的索引编号No因此,enol代表板载以太网设备10许多服务器不提供此信息file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wpsF510.tmp.png
-SN表示该设备位于PCI热插拔插槽N中。因此,ens3代表PCI热插拔插槽3中的以太网卡。
-pMsN表示这是一个位于插槽N中总线M上的PCI设备。因此,wlp4s0代表位于插槽0中PCI总线4上的WLAN卡。如果该卡是一个多功能设(可能是有多个端囗的以太网卡,或是具有以太网外加其他一些功能的设备),设备名称中就可能会添加fN。因此,enp0s1f0代表插槽1中总线0上的以太网卡的功能0。可能还有一个名为enp0s1f1的接囗,它代表了同一设备的功能1。
持久性命名意味着一旦您知道系统上网络接囗的名称,也就知道它以后不会再发生改变


0X02:IPv4
IPv4地址是一个32位数字,通常使用点号分隔的四个十进制八位字节(取值范围从0到255)表示。此类地址分为两个部分:网络部分和主枳部分。位于同一子网中的所有主枳可以在彼此之间直接通信,无需路由器,这些主机具有相同的网络部分。网络部分用于标识子网。同一子网中的任何两台主枧都不能具有相同的主机部分。主枳部分用于标识子网中的特定主机。
在现代互联网中, IPv4子网的大小是可变的。要分清IPv4地址中的网络部分和主机部分,我们必须知道分配给子网的子网掩码。子网掩码指明有多少位的IPv4地址属于子网。可供主枳部分使用的位数越多,子网中就能有越多的主机。
有时,将子网中可能达到的最低地址(主枧部分的二进制值全为零)称为网络地址。在IPv4中,子网中可能达到的最高地址(主枧部分的二进制值全为一)用于广播消息,该地址称为广播地址。
子网掩码可用两种格式表示。较早的子网掩码语法中将24位用于网络部分,即255.255.255.0 较新的语法称为CIDR表示法,它指定了一个网络前缀/ 24。两种格式都传达同样的信息,即IP地址中有多少前导位组成其网络地址。
以下是IP地址、前缀(子网掩码)、网络部分和主相部分之间的关系。

QQ截图20211003185600.png
QQ截图20211003185608.png QQ截图20211003185618.png


特殊地址127.0.0.1始终指向本地系统("localhost"),而网络127.0.0.1/8属于本地系统,所以它能够使用网络协议与自己通信。
不管使用IPv4还是IPv6,网络流量都需要以主枧到主枳和网络到网络的形式进行传输。每一主机具有一个路由表,该表告诉主枧如何路由特定网络的通信。路由表条目将列出目标网络、用于向其发送流量的接囗,以及任何中间路由器的IP地址(用于将消息中继到最终目的地)。与网络流量目的地相符的路由表条目用于路由该流量。如果两个条目匹配,则使用前缀最长的那一个。

如果网络流量不匹配更为具体的路由,路由表通常具有一个代表整个IPv4互联网的默认路由条目: 0 0.0.0/0。此默认路由指向可通达的子网上的路由器(也就是说,在主枧路由中具有更具体路由的子网上)。

如果路由器收到的流量并非将其作为寻址目标,则路由器不会像普通主枳那样忽略该流量,而是根据自己的路由表转发该流量。这种处理方式可能会将流量直接发送到目标主机(如果路由器恰巧与目标位于同一子网中),也可能转发到其他路由器。这种转发过程会一直进行,直到流量到达最终目标。
QQ截图20211003185954.png


QQ截图20211003190009.png


从此主机发往IP地址192.0.2.102的流量将通过wlo1无线接囗直接传输到该目的地,因为它与192.0.2.0/24路由的匹配度最高。发往IP地址192.168.5.3的流量将通过enp3s0以太网接囗直接传输到该目的地,因为它与192.168.5.0 / 24路由的匹配度最高。
发往IP地址10.2.24.1的流量将从enp3s0以太网接囗发送到192.168.5.254的路由器,该路由器将该通信转发到其最终目的地。该流量与0.0.0.0/0路由的匹配度最高,因为此主机的路由表中没有更加具体的路由。该路由器将使用自身的路由表来判断流量需要转发到的下一个位置。
服务器可以在引导时从DHCP服务器自动配置其IPv4网络设置。本地客户端守护进程查询链路以获取服务器和网络设置,并获得租约以便在特定时间内使用这些设置。如果客户端未定期请求续订租约,则可能会丢失其网络配首设置。
作为替代方案,我们可以将服务器配置为使用静态网络配置。在这种情况下,网络设置读取自本地配置文件。我们必须从网络管理员处获取正确的设置,并根据需要手动更新它们,以避免与其他服务器冲突。

0X03:IPv6
IPv6旨在最终取代IPv4网络协议。您将需要了解它的工作原理,因为越来越多的生产系统使用IPv6 寻址。例如,许多ISP已经将IPv6用于内部通信和设备管理网络,以便将稀缺的IPv4地址保留给客户使用。
IPv6也可以在双栈模型中与IPv4并行使用。在这种配首中,网络接口可以同时具有IPv6地址和 IPv4地址。

IPv6地址是一个128位数字,通常表示为八组以分号分隔的四个十六进制半字节。每个半字节均表示4位的甲v6地址,因此每个组表示16位的IPv6地址。
2001:db8:0000:0010:0000:0000:0000:0001
为了便于编写IPv6地址,不需要编写分号分隔的组中的前导零。但是,每个冒号分隔的组中必须至少写入一个十六进制数字。
2001:db8:0:10:0:0:0:1
由于带有很长的零字符串的地址很常见,一组或多组连续零可以通过正好一个::块来合并。
2001:db8:0:10::1


注意,根据这些规则,2 1:db8::0010:0:0:0:1将成为编写示例地址的另一种不太方便的方法。但它也是相同地址的有效表示法,而这可能让不熟悉IPv6的我们感到困惑。下面的
读地址可以给我们一些提示:
file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wpsC154.tmp.png抑制组中的前导零。
file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wpsC155.tmp.png使用::来尽可能地缩短
如果地址包含两个连续的零组且长度相同,则最好将每个组最左边的零组缩短为::,最右边的组缩短为:0:。
尽管运行这样做,但不要使用::来缩短一组零。应改为使用:0:,而将::留给连续的零组。
始终使用对十六进制的数字使用小写字母a到f。
普通的IPv6单播地址分为两部分:网络前缀和接口ID。网络前缀标识子网。同一子网上的任何两个子网接口都不能具有相同接口ID,接口ID可标识子网上的特定接囗。
IPv4不同的是,IPv6具有一个标准的子网掩码/ 64,用于几乎所有的普通地址。在此情况下,地址的一半是网络前缀,另一半是接囗IDO这意味着单个子网可以根据需要容纳任意数量的主枧。
通常,网络提供商将为组织分配一个较短的前缀,如/48。这会保留其余网络部分以用于通过这一分配的前缀来指定子网(长度始终未/64,最多保留16位用于子网,最多65536个子网)。
QQ截图20211003195511.png
QQ截图20211003195523.png

IPv6中的本地链路地址是一个无法路由的地址,仅用于与特定网络链路上的主机进行通信。系统上的每个网络接凵都通过fe80::/ 64网络上的本地链路地址来自动配置。为确保其唯一性,本地链路地址的接囗ID是通过网络接囗的以太网硬件地址来构建的。将48位MAC地址转换为64位接口的的一般方法是反转7位的MAC地址冫然后在其两个中间字节之间插入ff:fe。
网络前缀:fe80::/ 64
MAC地址:001122aabbcc
本地链路地址:fe80::211:22ff:feaa : bbcc/64
其他计算机的本地链路地址可以由相同链路上的其他主机像普通地址那样使用。由于每个链路具
fe80::/ 64网络,不能使用路由表来正确地选择出站接囗。在地址的结尾必须使用作用域标识
符来指定与本地链路地址进行通信时使用的链路。作用域标识符由%以及后跟的网络接口名称组成。
多播允许一个系统将流量发送到多个系统接收的特殊IP地址。它与广播不同,因为只有网络上的特定系统才能接收流量。它也与IPv4中的广播不同,因为某些多播流量可能会路由到其他子网,具体取决于网络路由器和系统的配置。
多播在IPv6中比在IPv4中扮演着更重要的角色,因为IPv6中没有广播地址。IPv6中的一个重要多播地址是ff02::1,即一占本地链路址。对此地址进行Ping操作会将流量都发送到链路上的所有节点。与本地链路地土一一才需要使用作用域标识符来指定钅连路作用域多播地址(从ff02::/ 8 开始)。
QQ截图20211003200024.png



0X04:网络端口
IP link命令将列出系统上可用的所有网络接口:
QQ截图20211003200242.png
服务器有三个网络接口:lo(这是连接到服务器本身的环回设备)以及两个以太网接口(ens3和ens4) file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wpsA7C8.tmp.png
要正确配置每个网络接囗,您需要知道哪个接囗连接到哪个网络。在很多情况下,您会知道连接到每个网络的接囗的MAC地址,因为它就实际打印在卡或服务器上,或者因为这是一个虚拟枧,而您知道它是如何配置的。设备的MAC地址列在每个接囗的link/ether后面。因此,您知道MAC地址为52:54:00:00:00:0a的网卡就是网络接囗ens30。


使用ip命令来查看设备和地址信息。单个网络接囗可以具有多个IPv4或IPv6地址。
QQ截图20211003200525.png

ip命令也可用于显示关于网络性能的统计信息。每个网络接囗的计数器可用于识别网络问题的存在。计时器记录的统计信息包括收到(RX)和传出(TX)的数据包数、数据包错误数,以及丢弃的数据包数。

QQ截图20211003200646.png

ping命令可用于测试连接。该命令将持续运行,直到按下Ctrl+c组合键为止(除非已指定了限制发送数据包数量的选项)。
QQ截图20211004082416.png

0X05:网络配置
默认情况下,通过nmcli con mod name进行的更改会自动保存到/etc/sysconfig/network-scripts/ifcfg -nameo还可以使用文本编辑器手动纟扁辑此文件。执行此操作后,运行nmcli con reload以便NetworkManager读取配置更改。

出于向后兼容性的原因,此文件中保存的指令具有不同于nm-settings(5)名称的名称和语法。下表将部分关键设置名称映射到ifcfg- *指令。
nm-settings与ifcfg-*指令的比较

QQ截图20211004082900.png

QQ截图20211004082913.png


也可以通过直接编辑连接配置文件来配置网络。连接配置文件控制单个网络设备的软件接囗。这些文件通常命名为/etc/sysconfig/network-scripts/ifcfg-name,其中name是指配置文件控制的设备或连接的名称。以下是在用于静态或动态IPv4配置的文件中找到的标准变量。
Ifcfg文件的IPv4配置文件

QQ截图20211004083026.png
在静态设置中, IP地址、前缀和网关等变量的末尾都是数字。这允许将多组值指定到该接囗。DNS 变量也有一个数字,用于在指定了多个服务器时指定查询的顺序。
在修改了配置文件后,我们可以运行nmcli con reload使NetworkManager读取配置更改。接口依然需要重新启动,以便更改生效。
QQ截图20211004083134.png






发新帖
您需要登录后才可以回帖 登录 | 立即注册