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

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

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

相关推荐

pscs6破解补丁怎么安装(photoshopcs6怎么破解安装)
  • pscs6破解补丁怎么安装(photoshopcs6怎么破解安装)
  • pscs6破解补丁怎么安装(photoshopcs6怎么破解安装)
  • pscs6破解补丁怎么安装(photoshopcs6怎么破解安装)
  • pscs6破解补丁怎么安装(photoshopcs6怎么破解安装)
内存不能为read修复(内存不能为read修复视频)

1内存不能为read可能是因为程序在读取数据时没有分配足够的内存空间。2解决方法可以是增加程序的内存分配,或者优化内存使用方式,例如使用缓存等技术。3此外,还可以通过检查代码逻辑是否有误,或者是...

分区大师使用教程(分区大师怎么恢复数据)

1、首先打开DiskGenius,看到主界面,右侧有”HDD”字样的就是待分区的硬盘,由于是全新硬盘,分区信息一侧都还为空2、鼠标选中左侧要分区的硬盘,然后选中点击工具栏的“新建分区”3、新建分区对话...

win7 激活密钥(win7激活密钥2025年最新)

首先,在桌面上右键点击“计算机”,然后选择“属性”,在窗口底部找到“激活Windows”选项,点击它。然后,选择“在线激活”,输入你的Windows7激活密钥。如果你没有激活密钥,你可以购买一个或者...

云电脑免费版永久使用下载(云电脑免费版永久使用下载安卓)

电脑息屏状态下如果是休眠,网络就没有断开,下载任务会继续下载;如果是计算机进入睡眠状态,那就断开网络了,下载任务会暂停下载任务。休眠只是暂时关闭显示器,锁定计算机让操作系统待机。当按下回车按钮,计算机...

电脑没有声音了怎么修复(电脑没有声音了怎么修复啊)

电脑突然没有声音可能是由多种原因引起的。可能是由于音频驱动程序出现问题、音频设置被禁用、音频设备故障、音量被静音、音频线松动或损坏等。当出现这种情况时,我们应该先检查音量是否被静音,然后检查音频线是否...

自己制作u盘教程(如何自己制作u盘装系统)
  • 自己制作u盘教程(如何自己制作u盘装系统)
  • 自己制作u盘教程(如何自己制作u盘装系统)
  • 自己制作u盘教程(如何自己制作u盘装系统)
  • 自己制作u盘教程(如何自己制作u盘装系统)
浏览器哪个好知乎(浏览器哪个好2021)

首先要知道一些看书的知识,看书分为泛读和精读。浏览就是粗略的看,只要求速度,不求质量只了解故事的梗概,基本内容,这就是所谓的泛读。而阅读相比较浏览来说要求就会严格一点,他需要在浏览的基础上,知道文章的...

windowsxp教程(xp系统步骤)

如何激活xp系统:1.当我们安装原始XP系统时,我们需要激活它,而我们没有激活码,然后会出现以下现象。2.当出现这种未激活现象时,我们可以在网上下载一个XP激活.exe软件,保存在电脑中,无需安装,然...

电脑自动重装系统软件(电脑自动重新安装系统)

这个需要看你的电脑是不是品牌机。如果你的电脑是品牌机的话,那么一般都设置了系统的还原镜像,也可以叫做还原点,你只要按照说明书操作,把系统还原就可以了这个时候不需要任何软件,如果你的电脑是组装的话,那么...

win7激活在哪里输入激活码(win7系统激活在哪输入激活码)

1、右键桌面上的计算机选择“属性”打开。  2、在打开窗口最下方显示需要立即激活Windows,点开激活链接。  3、在弹出的激活窗口中,输入win7激活密钥。  4、激活过程将需要一些时间,请稍候...

pp助手ios安装官网(pp助手ios版官网网址)

为了安装苹果手机pp助手,您需要按照以下步骤进行:1.在您的苹果手机上打开Safari浏览器。2.在浏览器中搜索“pp助手”并打开官方网站。3.下载并安装pp助手。4.一旦下载完成,您需要在“设置”中...

笔记本电脑cpu温度高(笔记本电脑CPU温度高怎么设置自动降温)

1、小心拆开背盖,清理风扇和排风口,肯定风扇叶片都积满灰尘了,排风口都堵死了。2、清理干净后给本子配个空调,外置风扇就可以,35左右,尤其长时间用一定要加装。3、彻底杀毒。有些病毒也会引起高温。估计到...

关闭windows更新(组策略关闭windows更新)
关闭windows更新(组策略关闭windows更新)

1、点击左下角开始菜单2、接着点击设置3、点击Windows更新,接着点击高级选项4、点击WindowsUpdate,接着在启动类型中选择禁用,最后点击确定即可1.按Win+R打开运行,输入”services.msc“打开服务。2.找到/...

2025-12-08 06:03 off999

电脑装linux系统教程(电脑如何装linux系统)

1.选择“中文(简体)”,然后点击“安装Ubuntu”。2.点击“继续”。3.然后点击“现在安装”。4.选择地址的时区,然后点击“继续”。5.选择“汉语”,然后点击“继续”。6.输入用户的名字。7.设...

取消回复欢迎 发表评论: