zoukankan      html  css  js  c++  java
  • 高可用测试:iptables模拟机器断网

    背景

    具有HA(高可用)的软件服务在集群某节点出现断网的时候,整个集群依旧可以提供正常的服务。很多开源软件都有HA版本(比如rocketmq,kafka),如果现在有一个软件需要进行高可用测试,该如何模拟其中的断网场景呢?
    比如3台机器A,B,C组成的一个集群环境,其中A机器断网,B和C依旧能够正常工作。
    A:192.168.21.23
    B:192.168.21.24
    C:192.168.21.25
    跳板机D:192.168.21.26
    现在尝试模拟A机器断网,B和C机器无法访问A的情况。

    步骤

    1. 首先保证有机器(跳板机)可以ssh到A机器,以防止A机器设置断网后,无法再登陆到A机器上恢复A的网络。(如果跳板机D已经和A建立ssh互信,可以跳过此步骤)

    #如果跳板机D上有ssh公钥:~/.ssh/id_rsa.pub,则跳过下面命令执行;如果没有,执行如下命令生成一个。
    ssh-keygen -t rsa
    
    #拷贝跳板机D的~/.ssh/id_rsa.pub到A机器的信任文件末尾
    vi ~/.ssh/authorized_keys
    
    #测试互通,在跳板机D上执行如下,如果能执行说明互信建立成功
    ssh 192.168.21.23 true

    2. 模拟断网:在A机器上执行iptables命令设置规则

    登陆到A机器上执行如下命令,只让跳板机D能够访问A
    iptables -t raw -I PREROUTING -s 192.168.21.26 -j ACCEPT
    iptables -t raw -A PREROUTING -j DROP

    3. 恢复网络:在A机器上执行iptables清除规则

    iptables -t raw -F

    其它

    清除iptables的各种命令
    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -t nat -P OUTPUT ACCEPT
    iptables -t mangle -F
    iptables -t mangle -X
    iptables -t mangle -P PREROUTING ACCEPT
    iptables -t mangle -P INPUT ACCEPT
    iptables -t mangle -P FORWARD ACCEPT
    iptables -t mangle -P OUTPUT ACCEPT
    iptables -t mangle -P POSTROUTING ACCEPT
    iptables -F
    iptables -X
    iptables -P FORWARD ACCEPT
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -t raw -F
    iptables -t raw -X
    iptables -t raw -P PREROUTING ACCEPT
    iptables -t raw -P OUTPUT ACCEPT

    博主:测试生财(一个不为996而996的测开码农)

    座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

    内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

    csdn:https://blog.csdn.net/ccgshigao

    博客园:https://www.cnblogs.com/qa-freeroad/

    51cto:https://blog.51cto.com/14900374

    微信公众号:测试生财(定期分享独家内容和资源)

  • 相关阅读:
    DotNetty 实现 Modbus TCP 系列 (一) 报文类
    C# 获取文件详细备注信息 (如图片、视频实际创建时间)
    Java 下载 HLS (m3u8) 视频
    开源 DotNetty 实现的 Modbus TCP/IP 协议
    SQL Server 2008 开启远程连接
    在 Web 页面使用 VLC 插件播放 m3u8 视频流 (360 极速模式)
    在 Web 页面中使用离线地图
    使用 Travis CI 自动部署 Hexo 站点至 GitHub Pages
    BZOJ 3238: [Ahoi2013]差异((单调栈+后缀数组)/(后缀树))
    BZOJ 3998: [TJOI2015]弦论(后缀自动机)
  • 原文地址:https://www.cnblogs.com/qa-freeroad/p/13776743.html
Copyright © 2011-2022 走看看