目录
Please enable Javascript to view the contents

Linux-网络基础

 ·  ☕ 6 分钟

物理层 – 数据链路层 – 网络层 —- 传输层 – 会话层 – 表达层 – 应用层
– MAC,ARP – IP – TCP/UDP,PORT –

LAN: 区域网络(Local Area Network)

WAN: 广域网络(Wide Area Network)

数据链路层(MAC)

MTU: 最大传输单位(Maximum Transmission Unit), 默认值为1500bytes。以太网数据包的最大大小,超出会被丢弃。

网络层(IP)

IP地址: 由两部分组成: 网络标识部分(NET_ID)和主机标识部分(Host_ID),网络部分取决于子网掩码。NET_ID用来确定网段,Host_ID用来确定主机。

例如192.168.1.10/24,Net_ID=19.168.1 Host_ID=10

同一网络的特点:

  1. Net_ID.0(网段地址NetworkIP)与Net_ID.255(广播地址)两个地址作为保留地址,不可作为主机IP(例如192.168.1.0/24,不可将192.168.1.0与192.168.1.255设置为主机IP)。
  2. 可通过广播地址向同一网络所有主机传递数据,DHCP(新主机接入网络,发现dhcp请求到广播地址,dhcp-server接收并相应可以IP给该主机)\ARP(主机发送arp请求到广播地址,来获取某IP对应的MAC)等
  3. 不同网络则广播地址不同,则需要三层路由设备进行连接。

IP地址分类方法: 将整个IP网段分为五种等级。

  • A类地址(Net_ID首位=0, 0.x.x.x~127.x.x.x);
  • B类地址(NET_ID开头=10, 128.x.x.x~191.x.x.x);
  • C类地址(NET_ID开头=110, 192.x.x.x~223.x.x.x);
  • D类地址(NET_ID开头=1110, 224.x.x.x~239.x.x.x),群播的特殊功能,不常用
  • E类地址(NET_ID开头=1111, 240.x.x.x~255.x.x.x),保留未使用

私有IP:取A类、B类、C类网络中一段作为私有IP地址

内网进行网络规划时,严格设置私有IP,否则一旦内网需要连接公网,会与公网IP冲突。

  • A类中的: 10.x.x.x
  • B类中的: 172.[16-31].x.x
  • C类中的: 192.168.x.x

回环地址网段: 用于主机本地测试,无网卡也可本机收发包测试服务。
A类中的:127.0.0.0/8 网络

CIDR(Classless Interdomain Routing, 无类域间路由选择): 使用IP地址和/子网掩码来表示一个网络地址。

CIDR是对IP地址分类方法的进化,CIDR表示法中,子网掩码的位数可以是任意的,不再受限于传统的A类、B类、C类地址划分。

网关,即为默认路由,负责不同网段之间的IP Forwarding的,如同值为0.0.0.0意味着直接从网口出,而不通过路由器(主机与目标网络在同一子网)

传输层(TCP/UDP,端口)

TCP: 三次握手(1.请求端发送SYN=1,状态变为; 2.回复ACK=1,SYN=1,状态更新为; 3. 回复ACK=1)

UDP

DNS同时提供UDP/TCP协议,优先使用UDP,当UDP无法正确获得数据时,更换为TCP传输。

防火墙

定义:能够分析、过滤网络数据包的文件。根据实现不同又分为软件防护墙、硬件防火墙。
软件防火墙有Netfilter(封包过滤式防火墙机制)、TCP Wrappers(根据程序分析管控)、Proxy(代理服务器)。

封包过滤:直接分析封包表头数据,以决定该连线为放行或抵挡的机制。(二层、三层、四层)

程序管控:透过服务器程序的插件(tcpd),分析谁对某程序进行访问,然后通过规则去分析该程序允许谁访问。

Proxy:正向代理,面向公网的请求都由proxy发出,保护了由Proxy代理的主机。

二层防火墙:针对源MAC、目的MAC
三层防火墙:针对源IP、目的IP等(网络层协议)
四层防火墙:针对TCP/UDP端口,以及TCP状态

作用:

  1. 拒绝数据包进入主机的哪些Port
  2. 拒绝

iptables

路由器

路由器会有两个网络接口,通过路由器本身的IP Forward功能让两个网域可以互相沟通网络封包。

路由器:IP转发

何时需要路由器

  1. 主机超过百台,需要划分lan,避免广播域过大带来的广播风暴;
  2. 为专有部门划分lan,放置数据广播时被同一广播域的节点抓包泄露;

NAT

当路由器两端的网段分别为Public_IP、Private_IP时,需要NAT功能。

NAT: IP转换+IP转发

IP转换:修改数据包的IP包头数据的源IP、目的IP,将私有IP改为共有IP,实现联系外网。

网络地址转换=路由器+IP转换。

ARP Proxy

当路由器两端的网段是同一个网段时

让某个网络接口的MAC代理其他主机IP的对应,即让想要连接到这个IP的MAC封包由自己处理,此接口会称为所代理IP的arp代理

DHCP服务器

客户端由广播地址,向整个网段内广播DHCP请求,有网段内的DHCP服务器响应IP参数。

  1. Client广播搜索DHCP服务器(UDP,目标IP=255.255.255.255)
  2. Server响应参数(根据Client-MAC在服务器登录文件中查找是否存在对应IP且无人使用)
  3. Client发送DHCP参数选择(广播)
  4. DHCP响应确认

DHCP (Dynamic Host Configuration Protocol) 可以提供网络参数给客户端电脑,使其自动配置网络的功能;
透过 DHCP 的统一管理,在同一域当中就比较不容易出现 IP 冲突的情况发生;
DHCP 可以通过 MAC 的比对来提供 Static IP (或称为固定 IP),否则通常提供客户端 dynamic IP (或称为动态 IP);
DHCP 除了 Static IP 与 Dynamic IP 之外,还可以提供租约行为之设定;
在租约期限到期之前,客户端dhcp软件即会主动的要求更新(约0.5,0.85倍租约时间左右);
DHCP 可以提供的 MAC 比对、Dynamic IP 的 IP 范围以及租约期限等等,都在 dhcpd.conf 这个档案当中设定的;
一般的情况之下,用户需要自行设定 dhcpd.leases 这个档案,不过,真正的租约档案记录是在 /var/lib/dhclient/dhclient-eth0.leases 里面;
如果只是要单纯的 DHCP 服务,建议可以购买类似 IP 分享器的设备即可提供稳定且低耗电的网络服务。
DHCP 服务与 DNS 服务的相关性很高;
若 DHCP 客户端获取 IP 的速度太慢,或许可以找一下有网管 switch 的 STP 设置。

NTP服务器

Linux 的 NAT 功能主要通过封包过滤的方式, 并使用 iptables 的 nat 表格进行 IP 伪装 (SNAT) ,让客户端自行前往互联网上的任何地方的一种方式。

Linux 可以通过网络校时,最常见的网络校时为使用 NTP 服务器,这个服务启动在 udp port 123;
时区档案主要放置于 /usr/share/zoneinfo/ 目录下,而本地时区则参考 /etc/localtime;
NTP 服务器为一种阶层式的服务,所以 NTP 服务器本来就会与上层时间服务器作时间的同步化, 因此 nptd 与 ntpdate 两个指令不可同时使用;
NTP 服务器的连接状态可以使用 ntpstat 及 ntpq -p 来查询;
NTP 提供的客户端软件为 ntpdate 这个指令;
在 Linux 下想要手动处理时间时,需以 date 设定时间后,以 hwclock -w 来写入 BIOS 所记录的时间。
NTP 服务器之间的时间误差不可超过 1000 秒,否则 NTP 服务会自动关闭。

共享文件服务器

NFS: Unix Like 依赖RPC-server
CIFS: Windows
SAMBA: windows+Linux 依赖NetBIOS(Network Basic Input/Output System)

分享

Hex
作者
Hex
CloudNative Developer