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

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

off999 2025-03-20 17:57 106 浏览 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

相关推荐

project2010激活码(project2010永久激活码)

首先我们在网上下载project2010,因为project2010是付费使用的,所以我们可以先使用试用版,试用版期限是30天。首先我们来创建一个项目,然后使用project2010来进行管理。我们可...

迈克菲无法卸载(迈克菲无法卸载怎么解决)

一,找到迈克菲的图标二,右键,点击更改设置——实时扫描三,点击关闭,即可。1,控制面板中-管理工具-服务-停止MCAFEEFRAMEWORKMANAGER服务2,开始中—运行—输入cmd—输入“C...

爱普生打印机驱动(爱普生打印机驱动怎么安装)

1.首先进入爱普生网站。找到驱动以及手册证书下载2.选择打印机的类型,勾选正确的打印机型号。3.根据自己的电脑操作系统选择对应的软件版本点击下载。4.下载了LQ-630KII的驱动,双击运行。5.运行...

windows7显示不是正版怎么办

不必担心,是不是正版影响并不大,不会影响你正常使用电脑,无非就是心里对于正版和盗版的道德观念会有点小执念罢了,但这些都不影响系统的正常使用。如果你非要安装正版,可以去买个正版光盘,安装系统后输入正版激...

vivo手机锁屏密码忘了怎么办

如下:1输入密码在vivo的锁屏页面,连续输入五次错误密码,弹出新页面。2/4选择忘记密码在新的页面中,找到页面中的忘记密码这个选项,点击它。3/4进行身份验证切换到身份验证的页面后,回答两个问题,再...

微软官网免费下载win7吗(微软官网免费下载win10是真的吗)
微软官网免费下载win7吗(微软官网免费下载win10是真的吗)

最简单的方法就是,下载完镜像文件后,直接把镜像文件解压,解压到非C盘,然后在解压文件里面找到setup.exe,点击运行即可。安装系统完成后,在C盘找到一个Windows.old(好几个GB,是旧系统打包在这里,垃圾文件了)删除即可。扩展资...

2025-12-17 00:51 off999

windows7的密钥在哪里(windows7密钥在哪里可以找到)

查看Windows7的密钥,你可以按照以下步骤进行操作:在键盘上按下Win+R组合键,打开运行窗口。在运行窗口中输入"regedit",然后点击确定,打开注册表编辑器。在注册表编...

360极速浏览器打不开网页(360极速浏览器经常打不开未响应)

先打开任务管理器结束360浏览器的所有进程(如果有).再尝试点击启动.如果还不行,重启电脑再试,如果还不行,执行杀毒检测和磁盘扫描,并卸载重装浏览器.强制360浏览器以极速模式打开页面方法如下:1、...

win7系统图标(win7系统图标网络开关灰色)

1/6首先点击桌面右下角Windows,再点击【控制面板】2/6来到控制面板页面,我们再点击【个性化】3/6来到个性化页面,我们再点击左侧【更改桌面图标】4/6弹出桌面图标设置对话框,我们根据实际需要...

系统的超级宗门等级(系统的超级宗门人物介绍)

《一念永恒》中宗门等级划分分为:顶级宗门、一流宗门、二流宗门、三流宗门和小宗门。顶级宗门位于武道源头,是无数武极强者梦寐以求的存在。一流宗门规模庞大,经济实力雄厚,拥有大量高手强者,地位颇为显赫。二流...

为啥系统重装后有两个系统(为啥系统重装后有两个系统 原来的系统还在)

电脑重装系统后有两个系统,需要重新安装,并且再安装系统时需要把原来的系统所在盘即C盘进行格式化,否则安装完成就还是两个系统,非常占系统内存。1、可能在安装时删除了原来的引导分区。2、可能安装时直接安装...

win10win7双系统引导设置(win10 win7双系统引导)

 步骤如下:  1、首先我是开机时按F8,进入安全模式界面。但是进去的时候等待了几分钟都无反应,上面一直显示请稍等。  2、没办法只有按下复位键重启电脑,因电脑之前装有一键GHOST备份,于是果断还原...

ie缓存清理在哪里(ie缓存如何清除)

?  1、首先打开IE浏览器,选择IE浏览器的工具这一选项;  2、下一步选择工具中的Internet的选项;  3、下一步就是在Internet选项中的常规的选项中;  4、选择常规--浏览历史记录...

华为正版鸿蒙40电脑操作系统下载中文版

安装华为鸿蒙40系统正式版需要先下载官方固件包,然后将固件包放到手机内部存储或外部存储卡中。打开手机设置,选择系统更新,点击“手动更新”,选择已下载的固件包进行安装。安装前请备份重要数据并确保手机电量...

笔记本电脑哪个牌子好用又实惠

1.神舟优雅X4优点:1.35kg很轻巧,14英寸够便携固态硬盘,速度快,有背光键盘。缺点:配置较低,只能轻度办公,售后一般。2.攀升MaxBookP1优点:零噪音,金属机身,固态硬盘,大触摸板,背...

取消回复欢迎 发表评论: