情况是这样的,有人使用我们的服务,他们的 DNS 中有 A 记录,指向一个我无法移动到新服务器集群的 IP 地址。
这是一个旧的设置,事先从未考虑过移动服务器。
因此,我有人在那里使用 A 记录和 Cname 记录指向我们的服务器,Cnames 不是问题,因为我只需更新我们这边的 DNS 即可将它们发送到新的集群 IP,但 A 是我遇到的问题。
有没有办法利用我当前的 Centos LAMP 设置让旧服务器保持活动状态、接受 IP 流量,然后强制其使用新 IP?
这样我就有时间将每个人都迁移到新的(可移动)IP...
谢谢,
答案1
是的。我做过的最简单方法是使用 iptables。来自:
http://www.simplehelp.net/2009/04/15/how-to-redirect-traffic-to-another-machine-in-linux/
第一步是设置你的Linux机器以允许这种转发进行。
# echo 1 >/proc/sys/net/ipv4/ip_forward
下一步是告诉 IPTables 将流量重定向到新服务器:
# iptables -t nat -D PREROUTING -p tcp –dport 80 -j DNAT –to-destination 122.164.34.240
这就是 IPTables 的魔力所在。在第三步也是最后一步,我们告诉 IPTables 重写到新服务器端口 80 的连接来源,使其看起来来自旧服务器。
# iptables -t nat -D POSTROUTING -p tcp -d 122.164.34.240 –dport 80 -j MASQUERADE