Closed yimiaoxiehou closed 3 hours ago
# 监控的网络接口 interface: eth0 # 汇总时间间隔 summary_time: 5 # Web 服务端口 port: 8080 # 启用 Web 服务 enable: true # 最大数据包数量 max_packet_count: 10000 # GeoIP 数据库路径 geoip_path: /etc/ebpf-firewall/GeoLite2-City.mmdb # 监控规则(收集命中规则的所有数据包) rules: - rule_name: "示例规则,请勿使用" # 支持精确端口和端口范围 port: [22, 80, 443] ip: - "GEOIP:!中国" # 不包含中国的所有IP流量均进行收集 # 支持的IP协议请查看internal/enum/enum.go文件 ip_protocol: - tcp - udp - icmp - igmp # 支持的以太网协议类型请查看internal/enum/enum.go文件 eth_type: - ipv4 # 黑名单,黑名单将传输映射至内核态,仅支持精确MAC、IP # 在 XDP 阶段进行流量阻断,性能极高 #black: # mac: # - "00:00:00:00:00:01" # ipv4: # - "1.1.1.1" # ipv6: # - "2400:da00::6666"
root@VM-0-12-ubuntu:~# ebpf-firewall -c /etc/ebpf-firewall/config.yaml 2024/10/23 09:24:35 附加 XDP 程序成功,模式: driver 2024/10/23 09:24:35 Starting WebSocket server on port 8080 panic: concurrent write to websocket connection goroutine 14 [running]: github.com/gorilla/websocket.(*messageWriter).flushFrame(0xc000ca3230, 0x1, {0x0?, 0xc000058e08?, 0xc00185cb70?}) github.com/gorilla/websocket@v1.5.3/conn.go:617 +0x4b8 github.com/gorilla/websocket.(*messageWriter).Close(0xc00185cb70?) github.com/gorilla/websocket@v1.5.3/conn.go:731 +0x35 github.com/gorilla/websocket.(*Conn).beginMessage(0xc000026580, 0xc00185cb70, 0x1) github.com/gorilla/websocket@v1.5.3/conn.go:480 +0x3a github.com/gorilla/websocket.(*Conn).NextWriter(0xc000026580, 0x1) github.com/gorilla/websocket@v1.5.3/conn.go:520 +0x3f github.com/gorilla/websocket.(*Conn).WriteJSON(0x812cc0?, {0x812cc0, 0xc00185cb40}) github.com/gorilla/websocket@v1.5.3/json.go:24 +0x34 github.com/danger-dream/ebpf-firewall/internal/websocket.(*WebSocketServer).run(0xc00008c320) github.com/danger-dream/ebpf-firewall/internal/websocket/websocket.go:95 +0x66f created by github.com/danger-dream/ebpf-firewall/internal/websocket.(*WebSocketServer).Start in goroutine 11 github.com/danger-dream/ebpf-firewall/internal/websocket/websocket.go:49 +0x6c
请删除或注释掉示例的监控规则
其实我已经删掉了一部分了,换个机器跑倒是正常
请删除或注释掉示例的监控规则 其实我已经删掉了一部分了,换个机器跑倒是正常
gorilla/websocket 库不允许并发发送,这两天暂时没空处理,最迟本周内我会修复它,谢谢你
config.yaml
log