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

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

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

相关推荐

电脑配置单4000左右(电脑配置推荐4000)

2、3599元这款配置采用的是AMD的Ryzen53500X处理器,如果你不喜欢英特尔的话,选择这款配置自然更佳,价格虽然比上款配置贵了七百元,但是在CPU方面提升较大。AMD的3500X处理器为6...

win10wifi驱动程序下载(win10wifi驱动官方下载)

win10安装wifi驱动方法如下1/4同时按住Windows键和R键,打开运行框。键入devmgmt.msc,然后按确定打开设备管理器。   2/4展开"网...

鼠标禁用一键解除(鼠标禁用一键解除怎么恢复)
  • 鼠标禁用一键解除(鼠标禁用一键解除怎么恢复)
  • 鼠标禁用一键解除(鼠标禁用一键解除怎么恢复)
  • 鼠标禁用一键解除(鼠标禁用一键解除怎么恢复)
  • 鼠标禁用一键解除(鼠标禁用一键解除怎么恢复)
为什么电脑蓝屏了(电脑为什么蓝屏怎么解决)

1、电脑使用过度,温度过高过度使用电脑会导致电脑硬件发生损坏,系统超载,内部运算过多,cpu温度急剧升高,会发生系统错误。建议更换散热系统,更新“小风扇”设备,并合理使用电脑。2、内存条灰尘积压,或...

电脑耳机没声音(电脑耳机没声音怎么解决)

1、可能是耳机没有完全插入电脑音频接口,重新插入再确认是否有声音。2、可能是耳机差错音频接口(插成麦克风接口),更换接口再插入确认。为什么耳机连接电脑没有声音耳机连接电脑没有声音的原因3、可能是电脑...

0xc000000e(电脑蓝屏0xc000000e)

方法一、断开外部设备的连接0xc000000e错误可能是由于硬件故障或不兼容。要检验是不是这个原因,你可以先断开电脑最近连接的外部设备。另外,拔掉电脑或主机上的存储设备,比如U盘、读卡器,还有CD、D...

wifi不可上网怎么办(明明连接上wifi,却显示不可上网)

一般都是路由器不稳定造成的wifi连接是不能上网,可以先把家里的路由器断电源之后再重新设备启动,通常都可以正常使用了;也有可能是出现故障导致wifi连接上不能上网,可以打电话给宽带客服查询是否欠费,若...

微软官网正版win10系统价格(微软官网正版win10系统价格表)

微软官网下载的win10,只有用正版密钥激活后才是正版的。如果用工具激活就是盗版的。微软操作系统是美国微软开发的Windows系列视窗化操作系统。个人版目前最高版本为Windows11,因为微软的个...

什么主板最好(i714700kf配什么主板最好)

1.华硕主板:是全球知名的主板制造商,定位一线品牌,市场占有率最大。2.技嘉主板:技嘉科技是全球一线主板制造,产品包括电脑、通讯与消费性电子产品,技嘉主板的出货量仅次于华硕主板,同属一线品牌。3.微星...

五笔输入法哪个最好用

我是一个五笔爱好者,曾经用过“王码五笔字型输入法86版”、“极品五笔”、“搜狗五笔”、“QQ五笔”、“海峰五笔”。最后我选择了“QQ五笔”,并且现在一直在用。我感觉QQ五笔各方面做的都很好,用了以后,...

网易邮箱免费注册入口(网易邮箱163注册入口)

1、用浏览器打开163邮箱官网(mail.163.com),在主页登录框下面,点击【注册易网邮箱】”按钮。?2、跳转到邮箱信息填写界面,输入邮箱地址和密码。?3、填写完成过后,获取手机验证码,点击【立...

pp助手官方下载电脑版(pp助手pc版下载)

在苹果应用商店中搜索pp助手后下载安装即可如果出现pp助手已连接但无法识别手机的情况,可能是因为以下几个原因导致的:1.手机操作系统版本不兼容:有些手机操作系统可能不支持pp助手的某些功能或者版本...

台式电脑组装app(台式电脑组装配置推荐玩游戏专用)
  • 台式电脑组装app(台式电脑组装配置推荐玩游戏专用)
  • 台式电脑组装app(台式电脑组装配置推荐玩游戏专用)
  • 台式电脑组装app(台式电脑组装配置推荐玩游戏专用)
  • 台式电脑组装app(台式电脑组装配置推荐玩游戏专用)
win10桌面壁纸超清4k(window10壁纸高清)

你好,尝试以下操作:右键任务栏打开设置左侧选择颜色右侧找到显示“开始”菜单、任务栏和操作中心的颜色设置为开1.首先点击打开360壁纸;2.打开360壁纸后,点击进入动态壁纸页面;3.将鼠标放...

360路由器设置页面(360路由器路由模式怎么设置)

1.首先,我们需要将360wifi路由器与网络运营商所提供的猫用网线按照猫、路由  2.当我们把360wifi路由器与电脑连接完毕之后,打开电脑中的浏览器,在地址栏输入360wifi路由器所特有的设置...

取消回复欢迎 发表评论: