Gately v0.5.6 リリース
2026年10月22日
このリリースでは「侵入防御」モジュール(#10)を追加し、1Panel でよく使われる fail2ban の機能を Gately に取り込みました。ブルートフォース攻撃やポートスキャンの送信元 IP を見つけて自動でブロックし、システムファイアウォールでその通信を破棄します。
v0.5.6 をダウンロード · GitHub Release · モジュールのドキュメント
侵入防御
- ログルール:ログファイル(ローテーションに追従)、systemd ジャーナル、コマンド出力(OpenWrt の
logread -fなど)、Docker コンテナのログを読み、正規表現と<HOST>で失敗記録を見つけ、集計期間内に回数に達した IP をブロックします。SSH、Dropbear、Nginx、Vaultwarden、Home Assistant、Proxmox VE などのテンプレートを内蔵し、編集時にログのサンプルを貼り付けてテストできます; - Gately イベント:管理画面のログイン失敗と WAF のブロックもルールのソースにでき、正規表現は不要です;
- おとりポート:このホストで使っていないポートにおとりを置き、接続してきた送信元をすぐにブロックします。待ち受け中のポートは自動で除外されます;
- ポートスキャン検出:同じ送信元が 1 分間に開いていないポートへしきい値を超えて接続するとブロックします;
- 統一されたブロック一覧:手動ブロック(CIDR ネットワークと永久ブロックに対応)と Web サービスの認証失敗による自動ブロックをここで管理し、再起動後も保持します。同じアドレスが再びブロックされると期間が倍になります;
- ホワイトリスト:LAN、ループバック、100.64.0.0/10(Tailscale)、このホストがある IPv6 /64 は既定で無視します;
- システムファイアウォール:ブロックは nftables の専用テーブル
inet gatelyに書き込まれ、カーネルで破棄されます。Docker コンテナや LAN 機器へ転送される通信も対象です。このホストからブロック中のアドレスへ接続した通信(DNS など)の応答は影響を受けません。Gately を停止するとルールは自動で削除されます。
ポート転送、Web サービス、STUN、WebDAV、FTP、管理画面もブロック中のアドレスを直接拒否します。ブロックすると「侵入防御:IP をブロックしました」イベントが発生し、通知センターで購読できます。
対応範囲
- root で動作する Linux、fnOS パッケージ、OpenWrt 22.03 以降:すべての機能を利用できます;
- Docker:host ネットワークと
NET_ADMIN(cap_add: [NET_ADMIN])が必要です。イメージには nftables が含まれています; - Windows、macOS、FreeBSD、nftables や権限のない Linux:ブロックは Gately 自身のサービスにのみ適用され、おとりポートは Gately が待ち受け、ポートスキャン検出は利用できません。ページ上部に原因と対処方法が表示されます。
その他の改善
- Docker 設定に Docker デーモン自身のレジストリミラー(
daemon.jsonのregistry-mirrors)を表示するようにしました(#11); - 定期バックアップをオンにすると
unknown field "hasPassword"で失敗する問題を修正しました(#9); - 公式サイトにスポンサーページを追加しました。
アップグレードについて
- Linux バイナリ版は「バージョン情報」ページから直接アップグレードできます。Docker は新しいイメージを取得してコンテナを再作成、fnOS はアプリセンターで新しい
.fpkを、OpenWrt は新しい.ipk/.apkをインストールします。 - Docker でファイアウォール層のブロックを使うには、compose に
cap_add: [NET_ADMIN]を追加してコンテナを再作成してください。追加しなくても他の機能はそのまま使えます。 - root で動作する Linux はアップグレード後に
inet gatelyテーブルを自動で作成します。ブロックがなければ空のルールだけで、既存の通信には影響しません。不要なら「侵入防御 → 設定」で同期をオフにするか、「設定 → 機能モジュール」でモジュールごと無効にできます。 - Web サービスの認証失敗によるブロックは統一ブロック一覧に入るため、ファイアウォール同期をオンにするとホスト全体に適用されます。既定でオンの「LAN アドレスを無視」により、LAN のアドレスはこの方法ではブロックされません。
- CDN 経由で実 IP をヘッダーで渡すサイトでは、WAF と認証失敗のブロックが CDN のアドレスを見ることになるため、該当するルールを有効にしないでください。
- Docker では v0.5.6.1 をお使いください。v0.5.6 のイメージでホストの古い nft がクラッシュする問題を修正しています。