子网掩码和网关的关系

子网掩码有数百种,这里只介绍最常用的两种子网掩码,它们分别是“255.255.255.0”和“255.255.0.0”。 

  1.子网掩码是“255.255.255.0”的网络:最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。 

  2.子网掩码是“255.255.0.0”的网络:后面两个数字可以在0~255范围内任意变化,可以提供2552个IP地址。但是实际可用的IP地址数量是2552-2,即65023个。 

  IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的判断而认为目的机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目的机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。 

  如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;笔者见到的最大规模的中小学校园网具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。 

默认子网掩码 



网关(Gateway)就是一个网络连接到另一个网络的“关口”。按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。什么是默认网关?如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。  如何设置默认网关  一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。 
### 如何配置子网掩码默认网关 在 Linux 系统中,可以通过命令行工具来配置子网掩码默认网关。以下是具体的操作方法: 对于静态 IP 配置,在 `/etc/network/interfaces` 文件或 NetworkManager 中定义网络接口参数。 #### 使用 `ip` 命令临时设置 要为特定的网络接口 eth0 设置 IP 地址子网掩码以及添加默认路由可以执行如下指令: ```bash sudo ip addr add 192.168.1.10/24 dev eth0 # 设定IP地址子网掩码, /24表示子网掩码长度 sudo ip route add default via 192.168.1.1 # 添加默认网关 ``` 如果想要使这些更改永久生效,则需编辑相应的网络配置文件[^1]。 #### 修改网络配置文件实现持久化设定 针对基于 Debian 的发行版(如 Ubuntu),通常会涉及到修改 `/etc/netplan/*.yaml` 或者传统的 `/etc/network/interfaces` 文件;而对于 Red Hat 类型系统则可能是 `/etc/sysconfig/network-scripts/ifcfg-*` 文件。这里以 Netplan (Ubuntu 默认使用的网络管理器)为例展示如何保存配置: 创建或编辑 YAML 格式的 netplan 配置文件: ```yaml network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: - 192.168.1.10/24 gateway4: 192.168.1.1 nameservers: search: [mydomain, otherdomain] addresses: [8.8.8.8, 8.8.4.4] ``` 应用新的配置并重启服务让其立即起效: ```bash sudo netplan apply ``` 以上操作能够确保即使计算机重新启动之后所作的改动仍然有效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值