Iptables实现HA双机进出口ip一致性,保证验证一致性!

简介:

Iptables实现HA双机进出口ip都为浮动ip,更保证了收发信验证的一致性!

这个项目是前一阵子,帮老师配置双机的时候遇到的,跟大家分享下,好久没有进入自己的博客了哈~不过倒是经常关注咱们的chinaunix,希望这个网站越来越强大!

客户环境:

PS: 老师那边给的俩个真实ip(网络通信的ip),都配置在eth0上,而这俩个ip实际都没有对外开放的,原先主机使用的是浮动ip。这样就就带来了后续的问题:

第一,修改浮动ip和真实ip兑换之后,重启肯定是无法远程了,只能qq远程,不过我都配置好双机才更改的ip,所以不一会启动主机双机服务就可以访问了;
第二:配置完双机之后出口ip都是真实的ip地址,使得仅能够收信而无法正常往外发信。具体的现象那就是,虽然服务器能够正常解析外网服务器的DNS,但是无法正常连接外网任何一台server。由于老师所给的这俩个真实ip原先没有开通,我在项目操作的时候才得知,再者当时向电信申请开通是需要一段时间的。为了尽快让老师恢复服务器的使用,我临时写了个脚本实现进出口ip都变为浮动ip,这样就解决了发信的问题。


脚本内容如下:
=============================================================================================================
#!/bin/bash
IPtables_Nums=`iptables-save|grep "*.*.*.*"|wc -l`    //此 *.*.*.*为浮动ip。
if [ $IPtables_Nums -ne 2 ];then
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/iptables -t nat -F
/sbin/iptables -F
IP=`cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep "IPADDR" |cut -d= -f2`
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 25 -j DNAT --to-destination *.*.*.*:25
iptables -t nat -A POSTROUTING -s $IP -p tcp -m tcp --dport 25 -j SNAT --to-source *.*.*.*
fi
=================================================================================================================
备注:
1、为了让双机正常切换的同时,iptables也能够同时生效,建议把此脚本放到双机的resource.d目录里面,并且改为可执行权限。
2、这个是针对这个客户做的iptables,其他的客户部署时稍微注意些,脚本里面有清除所有规则的功能,最终只保留新增加的俩条规则,所以在使用时需要特殊修改。
3.大家有更好的点子都可以跟我交流,希望更大的进步,谢谢!

目录
相关文章
|
7月前
|
存储 监控 负载均衡
保证Redis的高可用性是一个涉及多个层面的任务,主要包括数据持久化、复制与故障转移、集群化部署等方面
【5月更文挑战第15天】保证Redis高可用性涉及数据持久化、复制与故障转移、集群化及优化策略。RDB和AOF是数据持久化方法,哨兵模式确保故障自动恢复。Redis Cluster实现分布式部署,提高负载均衡和容错性。其他措施包括身份认证、多线程、数据压缩和监控报警,以增强安全性和稳定性。通过综合配置与监控,可确保Redis服务的高效、可靠运行。
236 2
|
2月前
|
架构师 Java 数据中心
二阶段提交:确保分布式系统中数据一致性的关键协议
【10月更文挑战第16天】在分布式系统中,数据一致性的维护是一个至关重要的挑战。为了应对这一挑战,二阶段提交(Two-Phase Commit,简称2PC)协议应运而生。作为一种经典的分布式事务协议,2PC旨在确保在分布式系统中的所有节点在进行事务提交时保持一致性。
40 0
|
4月前
|
算法 安全 物联网
GTS自动补偿机制时间同步
【8月更文挑战第26天】
50 5
|
5月前
|
存储 运维 监控
|
6月前
|
运维 负载均衡 监控
解析ProxySQL的故障转移机制
解析ProxySQL的故障转移机制
201 0
|
7月前
|
负载均衡 应用服务中间件 nginx
Nginx在分布式环境中的故障转移机制
Nginx在分布式环境中的故障转移机制
194 0
|
关系型数据库 MySQL 数据库
深入探析MySQL中的隔离性级别:保障数据一致性的关键
在关系型数据库中,隔离性是事务特性中的一个重要方面。它确保了在多个并发事务同时操作数据库时,各个事务之间的操作不会相互干扰,从而保障了数据的一致性和正确性。MySQL作为一款广泛使用的关系型数据库,提供了多种隔离性级别供开发者选择。本文将深入探讨MySQL中的隔离性级别,介绍不同级别的特点、用途以及可能的问题。
397 0
|
消息中间件 缓存 NoSQL
高可用系统简单记录
什么是高可用
100 0
|
定位技术 网络架构 UED
主从副本架构可能存在风险
主从副本架构可能存在风险
157 0
|
存储 运维 NoSQL
数据复制系统设计(3)-配置新的从节点及故障切换过程详解
1.3 配置新的从节点 有时需考虑新增一个从节点: 提高容错能力 或替换失败的副本节点
144 0