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

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

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

相关推荐

路由无线桥接(无线路由无线桥接)

1、登录副路由器管理界面操作电脑连接到副路由器的LAN口或无线信号(默认为TP-LINK_XXXX),打开浏览器,清空地址栏并输入tplogin.cn或192.168.1.1,设置不少于6位数的登录密...

惠普1050打印机墨盒型号(惠普1050墨盒多少钱)

最好用原装墨盒。国产的墨盒容易出问题。出了问题后还要再弄连供麻烦啊。一般来说,任何一个墨盒没有墨水了,也需要安装到打印机里面,打印机才能工作。也就是说彩色墨盒要安装上去,没有水没有关系,只要黑色墨盒有...

win10字体模糊怎么调节(win10字体模糊不清)

1、首先右键单击计算机图标,然后选择“属性”功能选项。2、之后选择在系统属性中选择高级系统设置功能选项。3、在系统属性中选择“高级”,单击“设置”的功能选项。4、在性能选项中选择视觉效果,选择调整到最...

路由器怎么设置无线(路由器怎么设置无线中继模式)

1、将运营商宽带网线连接到路由器的WAN口或WAN/LAN口;2、在路由器的底部标贴上查看路由器出厂的无线信号名称,打开手机的无线设置,连接路由器出厂的无线信号;3、连接Wi-Fi后,手机会自动弹出路...

免费wifi 电脑版(电脑免费无线)
  • 免费wifi 电脑版(电脑免费无线)
  • 免费wifi 电脑版(电脑免费无线)
  • 免费wifi 电脑版(电脑免费无线)
  • 免费wifi 电脑版(电脑免费无线)
24寸超大尺寸笔记本电脑(16寸笔记本电脑长宽cm)

24英寸有三种尺寸:【4:3的屏幕比例】-->>宽48.8厘米x高36.58厘米【16:9的屏幕比例】-->>宽53.15厘米x高29.90厘米【16:10的屏幕比...

手机永久玩电脑游戏(手机玩电脑游戏不限时)

删除桌面游戏,一般有三种方法:1、如果是网页游戏,可以直接在桌面的游戏名称上点击鼠标右键,然后选择删除。2、如果是经过安装的游戏,可以点击“开始”----“程序”,找到游戏的卸载程序,然后点击“卸载”...

usb摄像头app(usb摄像头app软件下载)

1.使用方法简单2.因为USB摄像头是一种外接设备,只需要将其插入电脑的USB接口即可使用,不需要额外的驱动程序或软件安装。一旦插入后,电脑会自动识别并启动摄像头。3.在使用USB摄像头之前,确...

旧电脑怎么恢复出厂设置方法

1、在windows10里进入设置更新程序,选择重置此电脑功能,可以直接还原初始安装状态。  2、首先电脑恢复出厂设置分为硬件和软件。硬件主要是指主板上cmos的设置。这个很简单,一般cmos的默认设...

u盘万能驱动怎么使用(u盘万能驱动器)

1、下载万能驱动要想安装u盘驱动,首先需要下载万能驱动程序。可以在网上搜索下载链接或在驱动官网上下载。建议选择官方网站下载,以确保万能驱动的安全性。下载完成后,解压缩文件夹,将文件夹储存在本地磁盘的某...

自动关机时间设置(自动关机设置小米手机)

要设置自动关机时间可以按下“开始”按钮,然后选择“设置”、“电源和睡眠”,在“电源和睡眠设置”中选择“附加电源设置”、“更改计划设置”,然后在“更改设置计划”中选择“更改高级电源设置”。在弹出的窗口中...

dell出厂系统iso下载(dell原装系统)

戴尔官网只有驱动下载,没有系统下载,系统可以在微软官网上或者第三方网站上进行下载。可以通过系统盘进行系统安装:1.准备工具:win7系统光盘;2.把系统光盘放入光驱中去;3.打开计算机,查看系统...

手机分区软件(手机分区软件哪个好)

安卓手机一般包括以下标准内部分区:/boot/system/recovery/data/cache/misc另外还与SD卡分区:/sdcard/sd-extboot分区一般的嵌入式Linux的设备...

电脑处理器排名2025(电脑处理器排名前十)

拯救者r9000p2023搭载AMDRyzen95900HX处理器,性能非常强大,但是否过剩取决于用户的需求。如果用户需要高性能游戏、视频编辑或其他需要大量计算资源的任务,那么该CPU的性能将会...

免费修复系统的软件(什么软件修复系统最好)

能卸载。卸载按以下步骤:1、在桌面上右击软件,可看到卸载软件的功能,直接点击卸载,自动跳转到卸载页面,直接帮你卸载掉软件;2、如按上方法没有反应,再用同样右点击软件,点开“打开文件所在位置”;3、在打...

取消回复欢迎 发表评论: