🔧 运维必看!3步用iptables实现服务无缝迁移

B站影视 日本电影 2025-10-29 07:47 1

摘要:你是否遇到过这样的尴尬?公司内网有两台服务器,运维部临时通知要把 数据库服务从A机迁移到B机 ,但所有客户端配置都指向A机的IP和端口,改配置得等半小时… 或者想把 测试环境的服务临时切到生产服务器 ,又怕直接切换引发故障?别慌!今天用 iptables 一键

你是否遇到过这样的尴尬?公司内网有两台服务器,运维部临时通知要把 数据库服务从A机迁移到B机 ,但所有客户端配置都指向A机的IP和端口,改配置得等半小时… 或者想把 测试环境的服务临时切到生产服务器 ,又怕直接切换引发故障?别慌!今天用 iptables 一键实现“服务搬家”,客户端零感知,运维老司机都点赞!

1️⃣ 临时开启IP转发(测试用)

sudo sysctl -w net.ipv4.ip_forward=1

2️⃣ 永久生效(生产环境必做)
编辑文件 /etc/sysctl.conf,找到 net.ipv4.ip_forward 改为 1,然后执行:

sudo sysctl -p

原理:告诉系统“允许数据包变身,自由穿梭网络”

假设要把 A机8080端口的服务 迁移到 B机80端口 ,但客户端仍访问A机IP:8080:

# 1️⃣ 拦截A机8080的流量sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination B机IP:80# 2️⃣ 修改返回流量的源头(防丢包关键!)sudo iptables -t nat -A POSTROUTING -j MASQUERADE

举个栗子:就像快递中转站,把寄给A机的包裹悄悄改地址到B机,再贴上A机的“返程快递单”

⚠️ 划重点:不保存的话,服务迁移=白忙活!

防火墙别拦截:检查 firewalld/ufw 是否放行8080端口服务绑定问题:确保B机服务监听的是 0.0.0.0 而非 127.0.0.1云服务器白名单:如果B机在云上,需开放安全组80端口回滚方案:迁移完成后记得删规则,避免长期干扰

来源:linux运维菜

相关推荐