Ubuntu: Cara menambahkan aturan iptables yang tidak bisa dibuat oleh UFW

15

UFW bekerja sangat baik untuk saya kecuali dalam kasus di mana tidak ...

Saya ingin dapat menambahkan aturan lain secara manual yang akan diterapkan saat boot?

  • di mana saya harus meletakkan aturan ini?
  • bagaimana saya membuatnya mulai saat boot?
  • bagaimana cara membuatnya bermain bagus dengan UFW?
Arthur Ulfeldt
sumber
1
Uhw adalah salah satu dari hal-hal "apa yang Anda lihat adalah semua yang Anda dapatkan" yang membuatnya lebih mudah bagi pemula. Jika Anda perlu melakukan lebih dari yang dapat dilakukan, pertimbangkan untuk beralih ke iptables sepenuhnya. Itu "bekerja sangat baik untuk saya" adalah bukti yang baik bahwa Anda dapat mencoba sesuatu (iptables) yang lebih rumit (tetapi juga lebih fleksibel).
Halp

Jawaban:

14

Menurut halaman wiki Ubuntu ini (gulir ke bawah ke "Fungsi Lanjutan"), Anda dapat mencapai apa yang Anda inginkan dengan memasukkan iptablesaturan Anda sendiri ke file berikut:

  • /etc/ufw/before.rules
  • /etc/ufw/after.rules

The beforefile dievaluasi sebelum ufwaturan yang diterapkan; yang afterfile dievaluasi setelah. (Ada juga file yang sesuai before6dan after6aturan, untuk ip6tablesaturan Anda .)

File aturan ini diharapkan dalam iptables-restoresintaks yang kompatibel, mungkin karena ufwhanya memuatnya menggunakan iptables-restore. Akhirnya, perhatikan bahwa Anda harus berhenti dan memulai kembali ufwsetelah Anda membuat perubahan pada file aturan.

Steven Monday
sumber
3
Perhatikan bahwa Anda dapat (mungkin secara tidak sengaja) mengubah prioritas aturan iptables jika Anda lupa untuk membakukan penggunaan -I atau -A saat menggunakan file-file ini. -Saya (masukkan) menambahkan aturan ke TOP rantai, dievaluasi terlebih dahulu, sedangkan -A (menambahkan) menambahkannya ke bagian bawah rantai. Ini dapat menyebabkan hasil yang tidak terduga jika Anda menggunakan -I dalam file .after, misalnya. Hanya pemikiran saja.
Sam Halicke
0

UFW akan menghapus aturan MANUAL yang ditambahkan /etc/ufw/user.rulesyang TIDAK diawali dengan komentar:

### 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

Ketika kewarasan UFW memeriksa aturan saat startup, ia mengharapkan komentar yang menyertainya. Jika TIDAK hadir, bahkan jika sintaks aturan sudah benar, UFW akan tetap membersihkannya.

Dan jangan hanya menggunakan komentar sewenang-wenang: itu HARUS menjadi komentar yang akan disisipkan UFW saat membuat aturan pengguna melalui cli, yaitu:

sudo ufw allow http/tcp

Jadi, jika Anda ingin melakukan pra-seed serangkaian aturan dalam suatu aturan dalam file sederhana, Anda masih perlu membuat aturan melalui antarmuka CLI UFW untuk mempelajari sintaks dari komentar yang diharapkan aturan untuk lulus validasi dan bertahan .

Coba hal di atas dengan dan TANPA komentar dan muat ulang aturan HTTP spesimen di atas; Anda hanya akan berkomentar dengan komentar apakah aturan yang ditambahkan secara manual selamat dari restart ( ufw memungkinkan ) UFW.

Ini benar-benar perilaku kontra-intuitif dan tidak didokumentasikan sama sekali.

F1Linux
sumber