Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Centos Stream 9 多IP 配置

Centos Stream 9 多IP 配置

作者头像
chuchur
发布于 2024-11-21 10:34:29
发布于 2024-11-21 10:34:29
61904
代码可运行
举报
文章被收录于专栏:禅境花园禅境花园
运行总次数:4
代码可运行

Centos Stream 9 配置多IP

我有500个IP ,要绑定在同一台linux机器上, OS为Centos9 .

假如这500个IP分为4个C段.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
192.168.1.128/25
192.168.2.128/25
192.168.3.128/25
192.168.4.128/25

通过计算我们可以得出 192.168.1.128/25 的网关为192.168.1.129 ,掩码为255.255.255.128,第一个可用IP为192.168.1.130 ,最后一个可用IP为 192.168.1.254 , 那么可用IP为 125个 .

下面的pyhotn 脚本可以计算

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
import ipaddress
def get_ip(ip: str):
    # demo ip 198.23.190.202/29
    # 定义网络
    network = ipaddress.IPv4Network(ip, strict=False)

    # 计算Netmask
    netmask = network.netmask

    # 计算Network Address
    network_address = network.network_address

    # 计算Broadcast Address
    broadcast_address = network.broadcast_address

    # 计算Gateway Address (通常是网络地址的下一个地址)
    gateway_address = network_address + 1

    # 计算First Usable Address (通常是网络地址的下一个地址)
    first_usable_address = network_address + 1

    # 计算Last Usable Address (广播地址的前一个地址)
    last_usable_address = broadcast_address - 1

    # 计算Usable Addresses
    usable_addresses = list(network.hosts())

    ip_list = list(map(lambda x: str(x), usable_addresses))
    # 第一个是网关, 要干掉
    ip_list.pop(0)

    return {
        "netmask": str(netmask), # 掩码
        "gateway": str(gateway_address), # 网关
        "usable_addresses": ip_list, # 可用IP列表
        "first_usable_address": str(first_usable_address), # 第一个可用IP
        "last_usable_address": str(last_usable_address), # 最后一个可用IP
        "prefix": str(network.prefixlen), #掩码长度
    }

假设我们有200台服务器 ,每台服务器要配置500个IP , 那么我们利用脚本计算:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os


list_map = {
    "ServerA": [
        '192.168.1.128/25',
    '192.168.2.128/25',
    '192.168.3.128/25',
    '192.168.4.128/25',
    ],
    ...
}

for key in list_map:
    _list = list_map[key]
    conf = ""
    index = 1
    for ip in _list:
        conf_path = os.path.join(os.path.abspath('.'), 'racknerd_conf', f'{key}.conf')
        ip_info = get_ip(ip)
        gateway = ip_info['gateway']
        ip_map = ip_info['usable_addresses']
        for _ in ip_map:
            conf += f"address{index}={_}/{ip_info['prefix']},{gateway}\n"
            index+=1
    with open(conf_path, 'w') as f:
        f.write(conf)

执行脚本之后 得到 配置文件 ServerA.conf :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
address1=192.168.1.130/25,192.168.1.129
address2=192.168.1.131/25,192.168.1.129
address3=192.168.1.132/25,192.168.1.129
# 省略...
address499=192.168.4.253/25,192.168.4.129
address500=192.168.4.254/25,192.168.4.129

查看网络接口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ip route show

可以看到默认的网口为 eno1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
default via 10x.xx.xx.1 dev eno1 onlink 
10x.xx.xx.0/25 dev eno1 proto kernel scope link src 10x.xx.xx.x 
10x.xx.xx.0/25 dev eno1 proto kernel scope link src 10x.xx.xx.x

此时, 我们到cd 到服务器 /etc/NetworkManager/system-connections/ 这个目录, 能看到以 .nmconnection 结尾的配置文件 一般就是以网口 如eno1 命名, 我们编辑这个文件eno1.nmconnection, 把上一步生成的内容 复制到对应的位置即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[connection]
id=eno1
uuid=bd80f865-1819-32d6-80c7-c5ce2e79673e
type=ethernet
autoconnect-priority=-999
interface-name=eno1

[ethernet]

[ipv4]
address1=192.168.1.130/25,192.168.1.129
# 省略...
address500=192.168.4.254/25,192.168.4.129
dns=8.8.8.8;
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]

保存退出即可.

然后重启网络服务即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl restart NetworkManager

验证配置IP是否生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hostname -I

此时就能看到我们配置的500个IP.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Centos 7 多IP 配置
通过计算我们可以得出 192.168.1.128/25 的网关为192.168.1.129 ,掩码为255.255.255.128,第一个可用IP为192.168.1.130 ,最后一个可用IP为 192.168.1.254 , 那么可用IP为 125个 .
chuchur
2024/11/21
3270
Debian 多IP 配置
通过计算我们可以得出 192.168.1.128/25 的网关为192.168.1.129 ,掩码为255.255.255.128,第一个可用IP为192.168.1.130 ,最后一个可用IP为 192.168.1.254 , 那么可用IP为 125个 .
chuchur
2024/11/21
3120
proxmox添加额外IP网段 为虚拟机分配独立网段IP
我之前那篇proxmox的文章关于分配独立IP是通过绑定mac地址完成的。 但有个朋友买了台独立服务器加一个C段,安装了proxmox,是不存在通过绑定mac地址来为虚拟机分配独立IP, 那我们就需要去修改vim /etc/network/interfaces配置文件
博博1998
2022/04/25
4.9K0
LVS+KeepAlived+Nginx高可用实现方案
当我们的服务器意外挂了之后,我们要怎么做? 当然是找一台新的机器,替代现有的机器,然后做新的环境部署,端口映射,域名解析等等一系列的工作,再将服务重新启动;但是如果这一系列的操作都是手动完成的,那么等你把这些工作搞好,可能服务已经停止个把小时了,这会儿估计运营早就提着菜刀架在你脖子上了; 但是如果使用了KeepAlived之后,然后提前将备用机准备好,当主的机器挂掉之后,自动将VIP给你切换到备用机,并且以邮件的形式告诉你说主服务已经挂了,你得赶紧恢复起来;这时候你就可以慢慢的去找主服务的问题,这时候并不会影响到你的正常业务运行。
全栈程序员站长
2022/09/15
8510
LVS+KeepAlived+Nginx高可用实现方案
CentOS Stream 9 设置静态IP
CentOS Stream 9作为CentOS Stream发行版的下一个主要版本,已经发布有一段时间,但与目前广泛使用的CentOS7有较大区别。安装试用Stream 9的过程中,就发现设置静态IP的方式和CentOS7/8差别较大,在此记录一下配置过程。
用户9949933
2023/02/24
7.6K0
【项目案例】中小型企业网络DHCP搭建综合实验
本实验模拟公司网络场景,母公司A下面有分公司1和分公司2。路由器R3,R4和R6是这几个公司的出口网关,分公司的电脑主机由母公司A的DHCP主服务器通过DHCP中继服务分配IP地址。另外,为了增强网络的稳定性。各公司都使用了MSTP配置。并且公司内部通过划分不同VLAN来隔离不同部门间的通信,同时也能实现跨VLAN的通信。
网络工程师笔记
2022/10/31
1.2K0
CentOS 7 上配置LVS + Keepalived + ipvsadm
一、部署环境 keepalived:10.10.10.30(CentOS 7) lvs1:10.10.10.140(CentOS 6.4) lvs2:10.10.10.150(CentOS 6.4)
星哥玩云
2022/07/03
8050
CentOS7配置LLDP服务
官方链接: https://vincentbernat.github.io/lldpd/usage.html
全栈程序员站长
2022/09/01
3.8K0
CentOS 7 下配置ip forward(虚拟路由器)
Linux 中ip forward功能是一个比较方便实用的功能,只需要简单配置,添加几条路由,即可实现ip转发。本文基于CentOS 7下采取一台机器充当虚拟路由,来实现Windows环境与Linux环境中相互通信。具体见下文,供大家参考。
Leshami
2018/08/06
3.4K0
CentOS 7 下配置ip forward(虚拟路由器)
Centos7.4安装kvm虚拟机(使用virt-manager管理)
之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法:
拓荒者
2019/05/25
1.3K0
KVM简介,安装及常见使用详解
查看状态操作结果,如Active: active (running),说明运行情况良好
用户8851537
2021/07/21
3.7K0
linux ip 配置及配置保存
#利用route 命令配置路由 如将192.168.20.X 的ip路由到192.168.20.254网关
全栈程序员站长
2022/08/31
11.2K0
用Python帮你实现IP子网计算
  IP地址目前存在两个版本:IPv4和IPv6,平常我们见到最多的就是IPv4了,如 192.168.1.1/24,当然,IPv4地址池资源紧缺,IPv6已悄然大量部署了。
点滴技术
2019/09/07
2.8K0
用Python帮你实现IP子网计算
重启 CentOS 7 系统后的 IP 地址问题
在配置 Zookeeper 的时候,我重启了 CentOS 7,发现使用 XShell 远程连接系统(主机:192.168.186.128)超时。
RendaZhang
2020/10/09
1.5K0
重启 CentOS 7 系统后的 IP 地址问题
Ubuntu 20.04 设置静态IP
服务器环境需要有静态的 IP 用于SSH登陆,本文记录 ubuntu 系统下设置静态IP的方法。 解决方案 确定上网使用的网卡 修改 NetworkManager 配置文件内容 确定网卡 ifconfig 命令可以查看当前网络配置 $ ifconfig enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.4 netmask 255.255.255.0 broadcast 192.16
为为为什么
2022/08/06
3.2K0
Ubuntu 配置虚拟机网络桥接模式
在开启虚拟机时,需要宿主与虚拟机网络连通并可以上互联网,需要配置网络桥接模式,本文记录配置方法。 桥接模式 桥接模式就是将主机网卡与虚拟的网卡利用虚拟网桥进行通信。 类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。 在桥接模式下,虚拟机IP地址需要与主机在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致。 桥接模式下的所有虚拟机都是和主机
为为为什么
2022/08/06
5.8K0
Ubuntu 配置虚拟机网络桥接模式
春招面试网络管理命令必知必会
1.基本工具2.网络查看与配置2.1 网络查看2.2 网络配置3.网关查看及配置3.1 查看网关(或者路由)3.2 网关配置4.网络故障排除5.网络服务管理5.1 概论5.2 实践5.3 主机名5.4 静态IP配置方式15.5 静态IP配置方式2
公众号guangcity
2020/02/24
9930
CentOS 8及以上版本配置IP的方法,你 get 了吗
接上篇文章讲了 Ubuntu 18及以上版本的配置方法,本文再来讲讲 CentOS 8 及以上版本配置 IP 的方法。
伍工
2022/05/07
3.2K0
CentOS 8及以上版本配置IP的方法,你 get 了吗
CentOS 7下面配置静态IP
这里首先是进入/etc/sysconfig/network-scripts中查看现有的配置文件:
战神伽罗
2019/07/24
1.3K0
Linux学习笔记之Centos7设置Linux静态IP
这里以CentOS 7系列为例设置静态IP,原来RedHat系列的Linux发行版可以通过setup工具方便的设置静态IP,但是在版本7之后setup工具的功能就逐渐减弱了,所以这时候采用修改配置文件的方式来设置静态IP,方法如下:
Jetpropelledsnake21
2018/10/18
2.6K0
Linux学习笔记之Centos7设置Linux静态IP
相关推荐
Centos 7 多IP 配置
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档