UFWは、うまくいかない場合を除いて、私にとって非常にうまく機能しています...
起動時に適用される別のルールを手動で追加できるようにしたいですか?
このUbuntu wikiページ (「高度な機能」までスクロールダウン)によると、次のファイルに独自のiptables
ルールを挿入することで、目的を達成できます。
/etc/ufw/before.rules
/etc/ufw/after.rules
before
ファイルは、ufw
ルールが適用される前に評価されます。 after
ファイルは後で評価されます。 (before6
ルールに対応するafter6
およびip6tables
ルールファイルもあります。)
これらのルールファイルは、おそらくufw
が単にiptables-restore
を使用してロードするため、iptables-restore
互換の構文であることが期待されています。最後に、ルールファイルに変更を加えた後は、ufw
を停止して再起動する必要があることに注意してください。
UFWは[〜#〜] manually [〜#〜]/etc/ufw/user.rules
に追加されたルールをパージします[〜#〜] not [〜#〜]コメントで始まる:
### Tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0 out
-A ufw-user-output -p tcp --dport 80 -j ACCEPT
UFWの健全性が起動時のルールをチェックするとき、付随するコメントが必要です。 [〜#〜] not [〜#〜]が存在する場合、ルールの構文が正しい場合でも、UFWはそれをパージします。
そして、任意のコメントを使用しないでください。それは、CLIを介してユーザールールを作成するときにUFWが挿入するコメントです[〜#〜] must [〜#〜]:
Sudo ufw allow http/tcp
したがって、単純なファイルのルールセットに一連のルールをプレシードする場合でも、UFWのCLIインターフェイスを介してルールを作成し、ルールが検証を通過して永続化することを期待するコメントの構文を学習する必要があります。 。
コメントを付けて、付けずに上記を試して、上記のHTTPルールの例をリロードしてください。手動で追加されたルールは、UFWの再起動(ufw enable)後も有効です。
これは実際には直感に反する動作であり、まったく文書化されていません。