アップデート一覧に戻る
New releaseSep 4, 2026

easywall v2.14.0

Linux 上の nftables ファイアウォール向け Web インターフェース(Go 製)。適用は確認しない限り 120 秒後に自動的に元に戻るため、自分自身をロックアウトすることはありません。Debian & Docker インストール。

共有

easywall

あなたのファイアウォール。あなたのルール。驚きはありません。

Tests Build Security Coverage

Latest release Go version GPL-3.0 Discord Support on Ko-fi

ライブデモ · ドキュメント · 変更履歴

あなたをロックアウトできないWebインターフェースを通じたnftables: すべての適用は、あなたが確認しない限り自動的に元に戻ります。

The easywall dashboard: firewall status with acceptance state, pending changes and last apply; tiles counting TCP ports, UDP ports, blacklist, whitelist, custom rules and forwarding; and a recent-activity list.

コンセプト

ルールを編集しても何も変わりません。適用するとすべてが変わります — 120秒間だけです。 新しいルールが接続を遮断した場合、Confirmをクリックできず、確認しないことが古いルールを復元する方法になります。

State machine: editing leads to Staged, applying leads to Live, confirming within the window leads to Confirmed, and letting the window expire leads to Rolled back, from where the staged edits are still available.

アーキテクチャ

2つのプロセス。ネットワークに公開される側は、盗む価値のある特権を保持していません。

Browser talks HTTPS to easywall-web, which runs unprivileged; easywall-web talks typed JSON over a Unix socket to easywall-core, which runs as root and speaks netlink to the nftables table inet easywall.

元のeasywall — Python、Flask、subprocess経由のiptables — はCVEの後に2022年にアーカイブされましたが、その完全な書き直しです。両方の根本原因は解消されています: 特権は別のプロセスに移され、適用パスはコマンドラインではなくGo構造体を構築します。仕組み →

インストール

Decision tree: just looking leads to demo mode; Debian or Ubuntu leads to the .deb package; already running containers leads to Docker; otherwise build from source.
# Debian / Ubuntu — amd64 および arm64
ARCH=$(dpkg --print-architecture)
wget https://github.com/jp1337/easywall/releases/latest/download/easywall_$ARCH.deb
sudo dpkg -i easywall_$ARCH.deb && sudo apt-get install -f

# Docker
git clone https://github.com/jp1337/easywall.git && cd easywall && docker compose up -d

# ソースから — Go 1.27+、nftables
git clone https://github.com/jp1337/easywall.git && cd easywall
make build && sudo make install
sudo systemctl enable --now easywall-core easywall-web

その後、https://localhost:12227 を開きます。初回アクセス時に アカウントのセットアップと最初のルールのステージングが行われます。

含まれる機能

ポートTCPおよびUDP、単一または範囲指定、ルールごとのSSHブルートフォースルーティング付き
ブラックリスト & ホワイトリストIPv4、IPv6およびCIDR、すべてのポートルールより先に評価
保護モジュール12種類、デフォルトで5つ有効 — フラッド、スキャン、ボゴン、フラグメント、ブロードキャスト/マルチキャスト/エニーキャスト
ポートフォワーディングプロトコル選択付きNATリダイレクト
カスタムルール適用前に構文チェックされる生のnftables
エクスポート / インポートルールセット全体をJSONとして
監査ログ何がいつ変更されたか、1行に1つのJSONオブジェクト
Docker共存table inet easywallを所有し、他には一切触れない
英語、ドイツ語、フランス語サインイン前を含め、インターフェースで切り替え可能。言語は部分的でも可: 欠落部分は英語で表示され、そのギャップは隠されるのではなく報告される
ライト & ダークOSに追従、手動トグル付き。両方ともコントラスト検証済み

使用技術

Go 1.27、単一バイナリgo-chi/chi · html/template
google/nftables によるnftables直接netlink、nftサブプロセスなし
Argon2idgolang.org/x/crypto、パスワードごとに16バイトのソルト
CSRFnet/http.CrossOriginProtection、Go 1.25ネイティブ
デザインシステムDESIGN.md + Tailwind v4 — サードパーティ製UIライブラリなし
フォントInter + JetBrains Mono、セルフホスト、約145 KB — エアギャップ環境でも動作
CIgovulncheckgosec、CodeQL、-race、および実カーネルに対する統合テストスイート

サポート

質問、または期待どおりに動作しない場合Discord
バグ、または欲しい機能GitHub issues
セキュリティ脆弱性Security advisoryDiscordではなく、公開issueでもありません

コントリビューション

セットアップ、コミット規約、レビューチェックリスト: CONTRIBUTING.md。 視覚的なものはすべて、まずDESIGN.mdを通します。

セキュリティ問題: 公開issueとしてではなくGitHub Security Advisoriesを使用してください。

ライセンス

GPL-3.0 — LICENSEを参照してください。

カテゴリ