回答:
現在、CLIコマンドでファイアウォールを有効にする前に入力したルールを表示する方法はありません。ただし、ルールファイルを直接検査できます。/lib/ufw/user*.rulesには、「ufw」CLIコマンドで制御されるルールが含まれています。例えば:
$ sudo grep '^### tuple' /lib/ufw/user*.rules
これにより、次のような出力が表示されます( 'sudo ufw allow OpenSSHで追加されたルールの場合):
/lib/ufw/user.rules:### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 OpenSSH - in
「タプル」は、ルールを追跡するためにufwによって内部的に使用される省略表現であり、次のいずれかとして解釈できます。
### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <direction>
### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <dst app name> <src app name> <direction>
これをサポートするために別のステータスコマンドを追加できると便利な場合があります。バグの提出を検討してください。
/lib
私の意見ではかなり奇妙である
ufw show added
以下の@Simonの回答も参照してください
ufw show added
ファイアウォールが非アクティブな場合でも、設定済みのルールをリストするコマンドが追加されました。このバグレポートの修正として追加され、v0.33で追加されました。
そのため、次のことができます。
# ufw status
Status: inactive
# ufw allow ssh
Rules updated
Rules updated (v6)
# ufw show added
Added user rules (see 'ufw status' for running firewall):
ufw allow 22
# ufw enable
Firewall is active and enabled on system startup
# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
からの出力の形式により、ufw show added
各ルールの削除コマンドも非常に簡単に記述できます。
Ubuntu 16.04では、ユーザー定義のルールはに保存され/etc/ufw/user.rules
ます。したがって、次のルールを確認できます。
sudo cat /etc/ufw/user.rules
sudo grep '^### tuple' /etc/ufw/user*.rules
ます。ユーザーが追加したルールのフォーマットされたリスト用です。
sudo ufw show added
代わりに使用してください。
コマンドラインからは、方法はないようです。ただし、Ubuntuボックスから(Ubuntuボックスに)SSHを使用している場合は、少し複雑な方法を試してみてください。
基本的に、リモートボックスにgufwをインストールし、Xフォワーディングで接続してGUIを実行します。
リモートデバイスで-X
、オプションとして接続した後:
sudo apt-get install gufw
sudo gufw
これにより、ルールセットをアクティブにせずに表示されます。
リモートデバイスが真の「ヘッドレス」サーバーである場合、GUFWをインストールすると、不快な数の依存関係が低下する可能性があることに注意してください。ただし、ここで誰かがUFWに必要な出力を最初にアクティブにせずに表示させるトリックを知っていない限り、これが唯一のオプションかもしれません。
試しましたsudo ufw show raw
が、それはiptablesの出力を示しています。
ufw show added
@simonの厚意によるものです。