PVE 调试之“一键设置网络连接的以太网的CIDR“——“.bat 脚本”

学习PVE 下各种软路由软件iKuai、iStore 等的网络拓扑图时,需要频繁切换以太网的ip地址,点击过于繁琐,因此需要设置一个脚本来简化操作。

通过查阅资料,windows下的网络连接可以通过powershell (管理员)下使用netsh命令进行相应的修改,下面直接上命令。

新建一个bat脚本即可!

chcp 65001

@echo off
set NetName="以太网"

netsh interface ipv4 set address name=%NetName% source=dhcp
netsh interface ipv4 set dns name=%NetName% source=dhcp

netsh interface ipv4 add address name=%NetName% addr=192.168.10.11 mask=255.255.255.0

echo ***完成***
 
@echo on
pause

 1.确认修改网络连接名称

明确你要更改的网络连接名称,通过powershell 管理员 输入

netsh interface show interface

2.修改以太网 CIDR

netsh interface ip set address "以太网" static 192.168.100.10 255.255.255.0

 3.需要同时访问,就多加几个ip就行

chcp 65001

@echo off
set NetName="以太网"

netsh interface ipv4 set address name=%NetName% source=dhcp
netsh interface ipv4 set dns name=%NetName% source=dhcp

netsh interface ipv4 add address name=%NetName% addr=192.168.10.11 mask=255.255.255.0
netsh interface ipv4 add address name=%NetName% addr=192.168.101.11 mask=255.255.255.0
netsh interface ipv4 add address name=%NetName% addr=192.168.101.11 mask=255.255.255.0
netsh interface ipv4 add address name=%NetName% addr=192.168.101.11 mask=255.255.255.0
netsh interface ipv4 add address name=%NetName% addr=192.168.101.11 mask=255.255.255.0

echo ***完成***
 
@echo on
pause

4.直接以管理员模式运行的方法:

创建快捷方式——右键属性

### CIDR 表示法中的最小网络地址计算 CIDR(无类别域间路由,Classless Inter-Domain Routing)是一种用于更高效分配 IP 地址并简化路由表的技术。对于给定的 CIDR 表示 `128.14.32.0/20`,可以通过以下方式计算其最小网络地址以及网络范围。 #### 1. 理解前缀长度 `/20` 在 CIDR 中,斜杠后的数字表示网络前缀的位数。这里 `/20` 表示前 20 位是网络部分,剩余的 12 位为主机部分。因此,IP 地址可以分为两部分: - **网络部分**:前 20 位固定不变。 - **主机部分**:后 12 位用于定义具体的设备地址。 #### 2. 转换为二进制形式 将初始 IP 地址 `128.14.32.0` 转换为二进制表示: ``` 128.14.32.0 -> 10000000.00001110.00100000.00000000 ``` 取前 20 位作为网络部分,则对应的二进制为: ``` 10000000.00001110.0010xxxx.xxxxxxxxxx ``` 其中,最后 12 位全部置零即可得到最小网络地址。 #### 3. 最小网络地址 将主机部分清零后,完整的二进制表示为: ``` 10000000.00001110.00100000.00000000 ``` 将其转换回十进制形式即得最小网络地址: ``` 128.14.32.0 ``` 此地址也被称为该子网的第一个可用地址,通常保留作网络标识用途[^1]。 #### 4. 网络范围 为了确定整个网络范围,需计算广播地址(最大地址)。广播地址通过将主机部分的所有位设为 1 来获得。具体操作如下: - 前 20 位保持不变; - 后 12 位全置为 1。 最终二进制表示为: ``` 10000000.00001110.00101111.11111111 ``` 将其转换回十进制形式即得广播地址: ``` 128.14.47.255 ``` 因此,网络范围为从 `128.14.32.0` 到 `128.14.47.255`[^2]。 #### 总结 - **最小网络地址**:`128.14.32.0` - **最大广播地址**:`128.14.47.255` - **总地址数量**:\(2^{12} = 4096\) - 可用主机地址数量:\(4096 - 2 = 4094\) ```python def cidr_to_network_range(cidr): ip, prefix_length = cidr.split('/') network_part = int(prefix_length) # 将 IP 地址转为整数 octets = list(map(int, ip.split('.'))) decimal_ip = (octets[0] << 24) | (octets[1] << 16) | (octets[2] << 8) | octets[3] # 获取网络地址和广播地址 host_bits = 32 - network_part network_address = decimal_ip & ~(2**host_bits - 1) broadcast_address = network_address | (2**host_bits - 1) # 转换回点分十进制格式 def to_dotted_decimal(ip_int): return ".".join(map(str, [ (ip_int >> 24) & 0xFF, (ip_int >> 16) & 0xFF, (ip_int >> 8) & 0xFF, ip_int & 0xFF ])) return to_dotted_decimal(network_address), to_dotted_decimal(broadcast_address) print(cidr_to_network_range('128.14.32.0/20')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值