参考:
- 初学Linux之网络配置(IP、NETMASK、GATEWAY、DNS、DHCP)-CSDN博客
- 【学习笔记】网关 & 路由_网关和路由-CSDN博客
- 【学习笔记】计算机网络 IP地址与MAC地址_根据mac分配ip-CSDN博客
- 【学习笔记】TCP 和 UDP 协议_tcp 发送 syn 应答没有syn ack-CSDN博客
一、IP 与 掩码Netmask
1.1 概念
IP: internet protocol address 网络进程地址。
IPv4(Internet Protocol version4)地址:IPv4使用32位(4字节)地址,因此地址空间中只有4,294,967,296(2)个地址。不过,一些地址是为特殊用途所保留的,如专用网络(约1800万个地址)和多播地址(约2.7亿个地址),这减少了可在互联网上路由的地址数量。IPv4地址可被写作任何表示一个32位整数值的形式,但为了方便阅读和分析,它通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔(摘自百度)。例如11111110.11111110.11111110.11111110 =254.254.254.254
子网掩码用来划分网络区域,子网掩码非0的位对应的ip上的数字表示这个ip的网络位,子网掩码0位对应的数字是ip的主机位。 非0 - 网络位 0 - 主机位
网络位表示网络区域,主机位表示网络区域里某台主机。例如172.25.254.33/24,就是说ip为172.25.254.33,掩码为24=255.255.255.0。故网络位为:172.25.254.0,主机位为33。
当说172.25.254.33/24时,这意味着:
- IP地址:172.25.254.33 是一个具体的设备在网络上的唯一标识。
- /24 表示这个地址的前24位比特代表网络部分,剩下的8位比特(因为IPv4地址共32位,32-24=8)代表主机部分。子网掩码 24 = 255.255.255.0
当说172.25.0.1/16时,这意味着:
- /16 表示这个地址的前16位比特代表网络部分,剩下的16位比特(因为IPv4地址共32位,32-16=16)代表主机部分。子网掩码 16 = 255.255.0.0
如果两台主机网络位一致,主机位不一致的2个ip可以直接通信
172.25.254.172/24 与172.25.254.72/24可以通信,172.25.0.1/16与172.25.254.1/24无法通信。
1.1.1 静态IP 与 动态IP
静态IP地址
含义:静态IP地址是手动配置并固定不变的IP地址。一旦分配给一个设备,除非手动更改,否则这个地址不会改变。
作用:
- 可靠性:服务器和需要持续可访问的服务(如网站、邮件服务器)通常使用静态IP地址,确保用户可以始终通过相同的地址访问它们。
- 方便远程访问:静态IP使得远程管理和访问变得容易,因为地址不会变动。
- 网络配置:对于需要特定端口转发、DNS记录或其他网络配置的应用,静态IP是必要的。
动态IP地址
含义:动态IP地址是由网络中的DHCP(动态主机配置协议)服务器自动分配的,每次设备连接到网络时都可能获得不同的地址。
作用:
- 资源效率:动态分配IP地址可以有效利用有限的IP地址资源,特别适用于家庭网络和移动设备。
- 易管理性:对于普通用户而言,动态IP减少了手动配置的需要,使得网络连接过程更加自动化。
- 安全性:频繁变化的IP地址可以增加网络的安全性,因为攻击者更难追踪和针对特定设备。
静态网络设定好之后改为动态网络,可以更改。但是一开始就动设定为动态网络,更改为静态网络,会无法更改因为没有指定过ip。当给动态网络指定一个静态ip后再设定成静态的时候可以设定成功。
当网络初始设置为动态IP时,设备没有固定的IP地址,而是依赖于DHCP服务器自动分配。如果想要从动态IP切换到静态IP,由于设备没有预先配置静态IP地址信息(如IP地址、子网掩码、默认网关等),直接在设置中改为静态模式可能会失败,因为没有指定必需的静态IP参数。
然而,如果先在动态网络中手动指定了一个IP地址(尽管这通常不是动态分配机制的工作方式),相当于临时将其行为转变为静态,之后再将网络设置正式改为静态模式时,由于已经明确了IP地址等信息,所以可以成功转换为静态IP配置。
1.2 命令行 - 临时设定网络接口
注意:device的名字一个物理事实,看到什么名字只能用什么名字
以下命令都只是临时设定网络接口命令,重启后恢复原状
ping IP #检查所连接设备网络是否畅通
#查看所有网络接口
ip addr
ip addr add ip/24 dev device #添加ip/24到device
ip addr del dev device ip/24 #在device删除ip/24
ip addr flush eth0 #更改ip的步骤,先将eth0上的全部删掉
ip addr add ip/24 dev device #然后重新添加设定
#查看所有网络接口
ifconfig
ifconfig device ip/24 #临时设定ip
ifconfig device down #关闭device
ifconfig device up #开启device
1.3 图形化 - 永久设定网络接口
双击某一个网络接口即可进行相应的参数设定
注:静态网络设定好之后改为动态网络,可以更改。但是一开始就动设定为动态网络,更改为静态网络,会无法更改因为没有指定过ip。当给动态网络指定一个静态ip后再设定成静态的时候可以设定成功。
nm-connection-editor
1.4修改网络配置文件
/etc/sysconfig/network-scripts/ 配置文件所在目录
ifcfg-xxxx 网络配置文件的命令规则
在较新的Linux发行版中,如使用Systemd的系统(如Fedora、CentOS 7及以上版本),网络接口命名规则可能发生了变化,不再使用传统的eth0、eth1等,而是采用如enp0s3、ens33等基于固件、位置和序列的命名方式。因此,你需要检查是否有符合新命名规则的配置文件,如ifcfg-ens33。我也没找到这个文件,你们可以找找试试。
DEVICE=xxxx 接口使用设备名称
BOOTPROTO=dhcp | static |none 设备工作方式:动态|静态|静态
ONBOOT=yes 网络服务开启时自动激活网卡
IPADDR= ip地址
PREFIX=24 子网掩码
NETMASK=255.255.255.0 子网掩码
NAME= 接口名称
二、 网关 和 路由
网关(gateway):从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址。简单来讲 ,网关为路由服务设备上和自己处在同一个网段的那个ip。
路由(routing):路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。具有路由功能,就是具有地址转换功能。
路由器和网关都是网络中连接不同子网的主机。二者都可对到达该主机的数据包进行转发。但二者具有本质区别。路由器工作在OSI 模型的物理层,链路层和网络层。网关可能工作在 OSI 模型的所有七层之中。