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

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

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

相关推荐

windows10更新好还是不更新好

不更新也没有什么影响。1、更新一般就是更新一些补丁,修复一些漏洞。2、所以如果我们电脑本身能够正常使用,并没有碰到问题的话,可以不更新系统。有必要,更新系统是在不断地去完善系统,使系统更加完善,功...

为啥电脑关不了机(为啥电脑关不了机了)

电脑无法关机可能是由以下原因导致的: 1. 系统故障:操作系统可能出现故障,导致电脑无法正常关机。2. 软件冲突:某些软件可能会与操作系统发生冲突,导致电脑无法关机。3....

u盘怎么在手机上下载歌曲(u盘怎么在手机上下载歌曲mp3格式)

现在在手机上下载音乐文件,通常默认情况下它是保存在手机本地的存储空间里。但是如果你想要保存在U盘里,可以通过转换头先将U盘插在手机上读取出来。读取出来之后,在文件管理里将手机上下载到本地的音乐文件,复...

usb无法识别是怎么回事(usb无法识别是什么意思)

一、USB设备无法识别的原因:  故障现象:鼠标正常识别,U盘无法识别,找不到设备,提示无反应、无盘符。  原因分析:所谓“无法识别”对于操作系统来说,或者是驱动有问题,或者是USB设备出现了问题,或...

苹果台式电脑一体机怎么开机

苹果一体机开机在机器上找到圆形按钮。接下来按下圆形按钮,等待苹果桌面显示器点亮。接下来您需要等待一段时间,然后您将看到苹果桌面计算机已经完成启动。关机的话点击屏幕左上角的苹果logo,在下拉菜单中选择...

怎么用硬盘直接安装系统(怎么用硬盘给硬盘装系统装系统)

插上就可以用,因为电脑系统就是安装在硬盘上,开机后会调取系统运行,实现电脑信息交换,如果你的硬盘是外接硬盘,只需要接在电脑主机上,然后在线安装电脑系统,到外接硬盘上即可不是的,也是需要安装系统的,记住...

网络显示已连接不可上网(明明连接上wifi,却显示不可上网)

原因有以下几点:1、网线与路由器网络接口出现接触不良的问题;2、外部连接到路由器处的光纤出现断裂现象;3、可能是没有缴纳网费的原因。?首先,路由器是wifi上网冲浪必备。而有时观察到路由器红灯闪烁的情...

电脑维修重装系统大概多少钱

重装系统不可能比售后贵!除非你一点都不懂电脑知识!但凡知道点就可以自已安装!购买电脑时都操作系统光盘和驱动软件光盘,这都是标配!如果没有,也可以从网上下载制做光盘!系统不是正版的!售后和维修店,有些会...

苹果笔记本电脑2025年新款(苹果笔记本电脑2025年新款价格)

2021年苹果即将上市新款的笔记本电脑,这款新的笔记本电脑,他的设计是非常好的非常流行,非常高端,大气笔记本电脑的质量是比较轻的它采用的材质也是非常高端的材质非常结实的质量,很轻,电脑的内存要变202...

迅雷电影下载网站(迅雷电影下载网站1080P下载)

目前,有很多好的迅雷下载电影的网站供选择。其中,BT天堂、猫扑电影网、人人影视等都是不错的选择。这些网站拥有庞大的资源库,提供各类电影资源的下载。此外,它们的界面简洁明了,操作方便快捷,用户体验较好。...

国内哪个应用商店app最全(国内软件商店)

1.MicrosoftToDo推荐理由:微软出品,必属精品2.Microsoft便笺推荐理由:又是一款微软官方出品的良心免费应用,相比MicrosoftToDo,Microsoft便笺更加...

不知道路由器密码怎么办(不知道路由器的密码怎么连接)

通过其他设备找回如果遇到wifi密码忘记的情况,我们可以通过其他设备来找回,例如你家中的笔记本电脑是否可以正常连接wifi吗,如果你的笔记本还处于连接wifi状态,那么可以点击笔记本电脑右下角的网络图...

bios正确设置(bios正确设置方法)

方法/步骤1/8目前市面上较流行的主板BIOS主要有AwardBIOS、AMIBIOS、PhoenixBIOS三种类型,由于phoenix公司与AMI公司合并了,所以现在常用的只有award和...

安全模式进不去蓝屏(安全模式进不去一直蓝屏)

如果在Windows10中遇到蓝屏问题,并且无法进入安全模式,可以尝试以下方法:1.使用高级启动选项:重启计算机,并在启动过程中按住Shift键,直到出现高级启动选项。从列表中选择"故障排...

win732位系统多大(win732位系统支持多大硬盘)

您好,32位Windows7的所有版本均支持4GB内存,但32位的Windows7实际可利用的最大内存只有3.25GB左右。64位的Windows7家庭普通版能支持8GB内存,家庭高级版能支持1...

取消回复欢迎 发表评论: