百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

linux系统防火墙高级配置-Day 6:高可用与负载均衡

off999 2025-03-20 17:57 126 浏览 0 评论

1. 防火墙高可用架构

方案1:Keepalived + iptables/nftables

拓扑
- 主备节点通过VRRP协议实现IP漂移(Virtual IP: 192.168.1.100) - 实时同步防火墙规则(rsync/cron)

Keepalived配置示例

# 主节点配置(/etc/keepalived/keepalived.conf)
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.1.100
        }
# 防火墙服务健康检测
track_script {
    chk_firewall
    }
}

vrrp_script chk_firewall {
    script "/usr/bin/systemctl is-active nftables"  # 检测防火墙服务状态
    interval 2
    weight -20  # 服务失败时降低优先级触发切换
    }

规则同步脚本

# 主节点通过rsync推送规则到备节点
#!/bin/bash
nft list ruleset > /etc/nftables.conf
rsync -avz /etc/nftables.conf backup-node:/etc/nftables.conf
ssh backup-node "nft -f /etc/nftables.conf"

2. 四层负载均衡(L4)

iptables实现流量分发

# 随机分发HTTP请求到3台后端
iptables -t nat -A PREROUTING -p tcp --dport 80 \
    -m statistic --mode random --probability 0.33 \
    -j DNAT --to-destination 10.0.1.101:80

iptables -t nat -A PREROUTING -p tcp --dport 80 \
    -m statistic --mode random --probability 0.5 \
    -j DNAT --to-destination 10.0.1.102:80

iptables -t nat -A PREROUTING -p tcp --dport 80 \
    -j DNAT --to-destination 10.0.1.103:80

nftables高级负载均衡

# 定义后端服务器集合
nft add set inet load_balance backend_ips { type ipv4_addr; flags constant; elements = { 10.0.1.101, 10.0.1.102, 10.0.1.103 } }

# 轮询模式分发流量
nft add rule nat prerouting tcp dport 80 \
    dnat to jhash ip saddr . tcp dport mod 3 map { \
        0 : 10.0.1.101, \
        1 : 10.0.1.102, \
        2 : 10.0.1.103 \
    }

3. 七层负载均衡(L7)集成

HAProxy透明代理配置

# /etc/haproxy/haproxy.cfg
frontend http-in
    bind 192.168.1.100:80 transparent
    mode http
    default_backend web_servers

backend web_servers
    balance leastconn
    server web1 10.0.1.101:80 check
    server web2 10.0.1.102:80 check

# 防火墙放行并标记流量
nft add rule inet filter forward tcp dport 80 meta mark set 1 accept
sysctl -w net.ipv4.ip_forward=1

Nginx流量管理

# 加权轮询配置
upstream backend {
    server 10.0.1.101 weight=3;
    server 10.0.1.102 weight=2;
    server 10.0.1.103 weight=1;
}

# 联动防火墙限制连接数
limit_conn_zone $binary_remote_addr zone=per_ip:10m;
server {
    location / {
        limit_conn per_ip 50;
        proxy_pass http://backend;
        }
    }

4. 性能调优与监控

连接跟踪优化

# 调整内核参数(/etc/sysctl.conf)
net.netfilter.nf_conntrack_max = 1000000
net.netfilter.nf_conntrack_tcp_timeout_established = 3600

# 监控工具
conntrack -L -o extended | grep ESTABLISHED | wc -l
nft monitor | grep "new flow"

规则集性能评估

# 测试规则匹配速度(nftables)
nft --debug=netlink add rule inet filter input tcp dport 80 counter
# 输出示例:...[ evaluate ] tcp dport 80 => 80 ...

# iptables规则排序优化
iptables -L -n --line-numbers | grep ACCEPT | sort -k 4

5. 实战任务

任务1:构建双机热备集群

  • 在两台节点部署Keepalived和nftables
  • 配置虚拟IP 192.168.1.100,实现主备切换
  • 模拟主节点故障(systemctl stop nftables),验证IP漂移

任务2:配置七层负载均衡

  • 使用Nginx实现基于URI的流量分发:
location /api {
    proxy_pass http://api_servers;
}
location /static {
    proxy_pass http://static_servers;
}
  • 联动防火墙限制每个客户端IP每秒最多10个请求:
nft add rule inet filter input tcp dport 80 \
    meter http_ratelimit { ip saddr limit rate 10/second } \
    counter accept

6. 注意事项

  • 脑裂(Split-Brain)风险:使用多播检测或第三方仲裁服务配置冗余心跳线(eth1专用于VRRP通信)
  • 会话保持(Session Persistence):四层使用hashlimit模块源IP哈希七层通过Cookie或JWT实现粘性会话
  • 监控告警
# 统计被拒绝的负载均衡请求
nft list counters | grep "counter packets"
# 监控Keepalived状态
journalctl -u keepalived -f

相关推荐

dos工具箱怎么用(dos工具箱怎么使用)

dos工具箱是一种工具软件的集成包。常用来在系统故障无法启动时进行修复,可以修复系统分区表错误,磁盘逻辑故障。这种dos的软件包里面包含有多种的工具软件主要是运行在dos操作系统之下。常见的有dos系...

下一页的快捷按钮(下一页的快捷按钮是什么)

word进入下一页的快捷键第一个是“向左箭头”或者“向下箭头”,另外一个是PageDown。1、打开需要操作的word文档,鼠标光标随意位置。2、按下键盘中的“PageDown”。按下后即可看到页...

怎么把隐藏文件夹改为不隐藏

?隐藏文件夹怎么取消隐藏演示机型:联想GeekPro2020(系统版本:win10190964位企业版)、AppleiMac(系统版本:macOSBigSur11.0.1)Windo...

win7强制升级win10(win7升级win10有几种办法)

win7升级win10后系统已经是激活状态,不需要再激活。激活方法如下:1、首先注册微软账号(点此注册)。2、填写好相关信息后,点击“创建账户”。3、点击“入门”后,当前已登录的微软账号将自动加入计划...

微软中国官网注册流程(百度微软官网注册)

一、首先,在网上搜索“微软中国官网注册”,然后点击“注册Microsoft账户”。;二、然后,页面跳转到微软官网上创建帐户,先填写可以使用的邮箱用于注册。;三、然后,在窗口中填写更加详细的信息,填写完...

雨林木风ghostxpsp3光盘安装教程

先进入开始,所有程序。选择装机人员工具,看见只要是一键还原的东西,按一下它,弹出来;安装一键还原;卸载一键还原;按‘安装一键还原’启动安装,需要重启。重启后有安装界面的安装,没的,重刚刚的地方...

u盘win10系统安装盘(安装win10的u盘)

我安装的win7预留50g,只是安装了了一些常用的软件,现在c盘只有1g的空间了,win10安装后一般需要占用20多个g,再加上你的一些常用软件,个人推荐至少也要60g以上,推荐80g,省得到时候不够...

电脑开机进不了系统怎么回事

电脑能开机加载不了系统,原因主要有两方面:一电脑硬件故障,比如笔记本电脑容易出现此问题,一般都是集成CPU故障,比如虚焊,假焊,老化等都会影响加载不了系统,2内存故障,金手指脏污,焊盘脱落,接触不良等...

台式电脑严重卡慢怎么处理(电脑太慢最简单三个方法)

电脑用了10年,出现卡顿是很正常的。这是因为电子产品都有一个摩尔定律,一般情况下,18个月就会更新换代,十年前的电脑已经不能适应现在的一些程序的需求,因此,会出现卡顿,可以通过增加内存条和添加固态硬盘...

为什么电脑会突然关机

1、硬件问题:例如内存散热不稳定,显卡、网卡松动等,如果是这方面情况的话,就适当地进行修复一下。2、病毒木马问题造成的:某些恶搞病毒发作时还会提示系统将在60秒后自动启动。或者黑客后门程序从远程控制你...

fastboot是什么意思怎么退出
fastboot是什么意思怎么退出

按要想退出fastoot模式也有两种方法,第一种就是对应进入的方法,进入fastboot模式之后,在页面等待大约十五秒钟,手机就会自动重启,或者摁住电源键也能强制重启。另外一种就是用第三方进入fastboot的时候,在进入这个模式的有面有一...

2026-01-04 08:51 off999

win10自带播放器叫什么(win10自带播放器叫什么名字)

Win10系统自带的播放器其实挺好用的,但是毕竟用的人还是比较少。如果不想用这个播放器,应该怎么更换Win10系统的默认播放器呢?  方法一  1首先打开开始菜单,点击所有应用,进入后点击window...

windows7c盘哪些文件可以删除

win7c盘下appdata文件夹就是程序的数据存放,有你在各种程序里的自定义设置,包括程序里可以个性化设置而不能影响替他用户文件,临时文件夹,快速启动文件夹等.它是重要的系统文件夹,建议别删,删了会...

360导航一个主页整个世界(360导航一个主页整个世界网址怎么删除)

在浏览器右上角。若没有在浏览器上面右击,勾选菜单栏。有时候桌面的快捷方式都被篡改了,不管怎么改都是会打开360导航,直接把桌面的IE浏览器快捷方式删了,再进入C盘中复制一个快捷方式出来就可以了。1、把...

win10换win7会流畅点吗(win10换装win7速度会变快吗)

win7改装win10会卡的.由于原来安装win7的电脑都比较老,它的CPU内存硬盘都比较小。五音都是win10系统,对于内存CPU要求都比较高。所以如果你将原来安装win7的电脑安装成windows...

取消回复欢迎 发表评论: