331 字
2 分钟
ProxMenux 安装设置记录
2026-01-24

项目#

https://github.com/MacRimi/ProxMenux

Terminal window
# 本地克隆并打包
git clone https://github.com/MacRimi/ProxMenux.git
# pve 宿主机安装
unzip ProxMenux.zip
apt update && apt install -y dos2unix
cd ProxMenux
dos2unix install_proxmenux.sh
sed -i 's|REPO_URL=".*"|REPO_URL="'$(pwd)'"|g' install_proxmenux.sh
./install_proxmenux.sh
systemctl status proxmenux-monitor
menu

proxmenux-monitor 爆破#

Terminal window
cat << 'EOF' > /etc/fail2ban/filter.d/proxmenux.conf
[Definition]
failregex = ^.*ProxMenux-Monitor\.AppImage\[\d+\]: <HOST> - - \[.*\] code 400, message (Bad HTTP|Bad request).*
ignoreregex =
EOF
Terminal window
cat << 'EOF' > /etc/fail2ban/jail.d/proxmenux.conf
[proxmenux]
enabled = true
port = 8008
filter = proxmenux
backend = systemd
journalmatch = _SYSTEMD_UNIT=proxmenux-monitor.service
banaction = nftables[type=allports]
maxretry = 2
findtime = 1d
bantime = 3d
EOF
Terminal window
# 用日志查看
journalctl -u proxmenux-monitor.service | grep "code 400" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort | uniq -c | sort -nr
Terminal window
systemctl restart fail2ban
fail2ban-client status proxmenux
# 测试
fail2ban-regex systemd-journal /etc/fail2ban/filter.d/proxmenux.conf

pve-web 爆破#

Terminal window
cat << 'EOF' > /etc/fail2ban/filter.d/proxmox.conf
[Definition]
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =
EOF
Terminal window
cat << 'EOF' > /etc/fail2ban/jail.d/proxmox.conf
[proxmox]
enabled = true
port = https,8006
filter = proxmox
backend = systemd
journalmatch = _SYSTEMD_UNIT=pvedaemon.service
banaction = nftables[type=allports]
maxretry = 2
findtime = 1d
bantime = 1d
# 强制从日志起始位置开始搜索(重要)
logpath = %(syslog_daemon)s
EOF
Terminal window
# 日志查看 8006 爆破 ip
journalctl -u pvedaemon.service | grep "authentication failure" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort | uniq -c | sort -nr | head -n 20
Terminal window
systemctl restart fail2ban
fail2ban-client status proxmox
# 测试
fail2ban-regex systemd-journal /etc/fail2ban/filter.d/proxmox.conf
# 手动封禁
fail2ban-client set proxmox banip 141.98.11.50

重置 fail2ban#

Terminal window
# 1. 停止服务
systemctl stop fail2ban
# 2. 清空数据库,让它重头开始读 journal
rm /var/lib/fail2ban/fail2ban.sqlite3
# 3. 启动服务
systemctl start fail2ban
# 查看 fail2ban 日志
tail -n 100 -f /var/log/fail2ban.log

日志#

Terminal window
# 查看当前日志占用大小
journalctl --disk-usage
# 清理日志(保留最近 2 天)
journalctl --vacuum-time=2d
ProxMenux 安装设置记录
https://harlon.me/posts/2026/01/24/proxmenux/
作者
Harlon
发布于
2026-01-24
许可协议
CC BY-NC-SA 4.0