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

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

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

相关推荐

win10系统下载u盘(window10下载u盘)

方法一:使用微软官方工具制作u盘工具安装win101、首先电脑浏览器输入“windows10下载”,找到微软官方地址进入,然后选择立即下载工具到电脑上。2、鼠标右键选择以管理员身份运行,同意协议进入下...

惠普笔记本进不了系统(惠普笔记本进不了系统怎么恢复出厂设置)

进不去系统有很多种,开不开机,能开机,但是一直在转圈加载,开机蓝屏了等惠普本本开机进不了系统,是与您关机前的不当操作有关系吧?比如:玩游戏、看视频、操作大的东西、使用电脑时间长造成的卡引起的吧?或下载...

win10播放器(win10播放器怎么调倍速)

在Win10操作系统中,有许多好用的播放器可供选择。其中,VLC媒体播放器是最受欢迎的选择之一。VLC拥有多种音频和视频格式的广泛支持,无需额外下载解码器即可播放多媒体文件。其简单直观的用户界面使得操...

召唤系统抽奖(召唤系统抽奖游戏攻略)

你好,要召唤抽奖系统中的人物,您可以按照以下步骤操作:1.在抽奖系统中添加人物:您需要在系统中添加您想要召唤的人物。通常,您需要提供人物的名称、照片和描述等信息。2.设置抽奖规则:在设置抽奖规则时...

windows10 windows7(windows10windows7区别)

1、功能上:Win10更为强大,新建桌面,根据不同的使用状态分开建立不同桌面;增强搜索模式可以搜索更多内容;全新的便签应用将支持跨设备同步,从PC到手机;同时还支持无密码登陆,允许用户不再设置独立pi...

u盘怎么重新量产(u盘重新量产详细教程)

U盘可以通过使用专门的U盘量产工具来进行量产。一般来说,我们需要下载并安装U盘量产工具,并将需要量产的U盘通过USB接口连接到计算机上,然后按照U盘量产工具的操作提示进行设置和操作即可完成量产。需要注...

如何彻底关闭防火墙(怎样彻底关闭防火墙)

彻底关闭防火墙需要在计算机的系统设置中进行操作。首先,打开“控制面板”,找到“WindowsDefender防火墙”选项,并点击进入。在防火墙设置页面,选择“关闭WindowsDefender...

宽带和路由器的区别(什么路由器好用信号强稳定性好)

宽带路由器和无线路由器虽然都是路由器,但它们在功能和用途上存在一些区别。首先,宽带路由器是指一种将宽带网线转换成局域网的高速设备。它可以对每个端口进行独立且限速的连接,将网络资源按照需要进行分配,使得...

联想笔记本电脑怎么格式化(联想笔记本电脑怎么格式化恢复出厂设置)
联想笔记本电脑怎么格式化(联想笔记本电脑怎么格式化恢复出厂设置)

联想电脑怎么格式化1.在桌面我的电脑图标上右键鼠标选择【属性】。2.在属性界面点击左上角的【主页】按钮。3.在主页设置中选择【更新与安全】,点击进入。4.在更新与安全中选择【恢复】-【重置电脑】,点击【开始】按钮即可。一、首先,打开要进行格...

2025-12-02 13:03 off999

电脑启动后蓝屏是什么原因(电脑启动后是蓝屏的怎么办呢)

一、不稳定的硬件设备导致蓝屏当我们的电脑硬件设备出现问题时,很可能导致电脑蓝屏。例如,内存条损坏、硬盘故障或者显卡驱动不兼容等都有可能引发蓝屏。这些问题可能导致电脑在运行过程中无法正常工作,从而导致系...

电脑无桌面显示怎么办(电脑屏幕无桌面)
电脑无桌面显示怎么办(电脑屏幕无桌面)

1打开电脑,在底部任务栏,单击鼠标右键,出现菜单后,点击显示桌面2如图所示,已经显示桌面了3第二种方法,在桌面空白处,单击鼠标右键,出现菜单后,点击查看-显示桌面图标4如图所示,已经显示桌面了。应该是在电脑当中的设置没有设置好造成的,你可以...

2025-12-02 12:03 off999

系统u盘安装(win11系统u盘安装)

简单的U盘装系统的方法如下。1.打开咔咔装机,下载装机软件,打开该软件。2.点击“U盘模式”,选择参数,点击开始制作,制作完成后重启电脑。3.按下开机热键,选择U盘启动,点击第一个镜像,选择要安装的版...

windows定时启动软件(定时启动电脑软件)

windows这样自动关闭一个软件的自动启动:先按下快捷键【win+R】调出运行框,然后在里面输入【MSConfig】,再点击【确定】即可。随后电脑就会弹出一个新窗口,我们点击顶部的【启动】,接着你就...

迈克菲有必要续费吗(迈克菲有必要续费吗苹果)

迈克菲没有必要续费。   这个软件平时的应用范围不太广,所以可以用其他软件代替。另外,会员费用也更便宜。如果续的话,每月的费用太贵了。如果不续订,就无法更新病毒存储塔,也就是说,新病毒可能无...

惠普打印机全功能驱动(惠普打印机驱动使用方法)

1、接好打印机电源,先不要将USB打印线连接到电脑。2、电脑开机,到HP官网下载对应系统的驱动程序。3、如果下载的打印机驱动是压缩包,请先解压缩到一个目录里。4、点击目录里的SETUP.EXE,进行安...

取消回复欢迎 发表评论: