linux-如何快速替换IP

本文介绍在Linux环境下如何使用ip命令动态添加和删除IP地址,实现网段的快速扩容而不中断远程连接,适用于高可用环境下的虚拟IP管理。
导读Linux在做高可用的时候,经常会使用到虚拟IP。在windows上一个网卡可以配置两个IP,在Linux直接使用ip命令就可以添加了。
添加
ip address add 192.168.1.200/24 broadcast 192.168.1.255 dev wlp58s0

添加的时候需要指定掩码和广播地址,让同个网段的机器可以收到这个地址的广播,还需要指定添加到哪个设备,这里的wlp58s0就是网口的名称。

删除

删除的命令跟添加的命令差不多,只需要将add修改成del

ip address del 192.168.1.200/24 broadcast 192.168.1.255 dev wlp58s0
应用

在扩容网段的时候,不想去重启网卡导致远程连接断开,我们可以先添加扩容后的网段,然后在删除原来的IP跟掩码即可。

ip address add 192.168.1.200/24 broadcast 192.168.1.255 dev wlp58s0
ip address add 192.168.1.200/16 broadcast 192.168.255.255 dev wlp58s0
ip address del 192.168.1.200/24 broadcast 192.168.1.255 dev wlp58s0

只需要三步操作,我们即可完成网段的动态修改,这时候远程也不会断开。

总结

这些操作都没有保存到配置文件,重启以后就失效了。因此,我们需要将我们的配置信息写到配置文件里面。

本文转自:https://www.linuxprobe.com/linux-replace-ip.html

转载于:https://www.cnblogs.com/it-artical/p/9956408.html

### 使用 `sed` 命令批量替换文件中的 IP 地址 在 Linux 中,`sed` 是一种流编辑器,能够执行基本的文本转换工作。要实现批量替换文件中的特定字符串(如 IP 地址),可以通过指定模式空间内的查找替换操作来完成。 对于 IP 地址这种具有固定格式的数据来说,可以利用正则表达式精确匹配旧的 IP 将其替换成新的 IP。下面给出具体的命令实例: 假设有一个配置文件 `/path/to/configfile` ,其中含有如下形式的老 IP:“192.168.1.1”,现在想要把它全部改为新 IP “172.16.0.1”。 ```bash sed -i 's/192\.168\.1\.1/172.16.0.1/g' /path/to/configfile ``` 这条指令做了三件事情: - `-i` 参数告诉 sed 直接修改原文件而不是输出到标准输出; - `'s/old_ip/new_ip/g'` 表达式的含义是从每行中寻找所有符合条件的部分做全局替换;注意这里使用反斜杠转义特殊字符`.`以便于正确识别完整的 IP 字符串[^4]; - 文件路径指定了待处理的目标文件位置。 如果不确定具体哪些地方会被更改,建议先不加 `-i` 参数查看效果后再决定是否真正实施变更。另外,在实际环境中可能遇到更复杂的场景比如多个不同 IP 的更新,则需构建更加灵活的脚本逻辑或采用其他工具辅助完成任务。 为了确保只针对有效的 IPv4 地址进行替换而不会误伤其它部分的内容,还可以借助更为严格的正则表达式来进行限定: ```bash sed -E -i 's/(^|[:space:])192\.168\.1\.1([^0-9]|$)/\1172.16.0.1\2/g' /path/to/configfile ``` 此命令增加了边界条件判断以提高准确性,即只有当目标 IP 出现于行首、由空白或其他非数字字符隔开的情况下才会被替换替换后的结果也会保留原有的前后环境不变[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值