Pada mesin jaringan linux, saya ingin membatasi sekumpulan alamat pada zona "publik" (konsep firewalld), yang diizinkan untuk mencapainya. Jadi hasil akhirnya adalah tidak ada mesin lain yang dapat mengakses port atau protokol apa pun, kecuali yang secara eksplisit diizinkan, semacam campuran
--add-rich-rule='rule family="ipv4" source not address="192.168.56.120" drop'
--add-rich-rule='rule family="ipv4" source not address="192.168.56.105" drop'
Masalah di atas adalah bahwa ini bukan daftar nyata, itu akan memblokir semua karena jika satu alamatnya diblokir dengan tidak sama dengan yang lain, menghasilkan efek "jatuhkan semua" yang tidak disengaja, bagaimana saya "membuka blokir" non spesifik set berdekatan? apakah sumber menerima daftar alamat? saya belum melihat apa-apa di tampilan saya di docs atau hasil google sejauh ini.
EDIT: Saya baru saja membuat ini:
# firewall-cmd --zone=encrypt --list-all
encrypt (active)
interfaces: eth1
sources: 192.168.56.120
services: ssh
ports: 6000/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Tetapi saya masih dapat mencapai port 6000 dari .123
maksud saya adalah bahwa jika suatu sumber tidak terdaftar, seharusnya tidak dapat menjangkau layanan atau port apa pun
sumber
eth1
dari zona.firewall-cmd --zone=encrypt --remove-interface=eth1
Sesuai
firewalld.richlanguage
:Tentukan netmask untuk alamat yang memungkinkan blok yang berdekatan.
Selain itu, Anda dapat mencoba membuat
ipset
daftar IP yang diizinkan yang tidak bersebelahan.Misalnya, di
/etc/firewalld/direct.xml
:Sebenarnya
ipset
harus dibuat secara terpisah.sumber
Anda dapat mengelola dengan mudah dengan Aturan Kaya.
Langkah pertama
Langkah Kedua - Tambahkan Aturan Kaya
Semua port dapat diakses oleh 192.168.2.2 setelah Anda menambahkan aturan kaya dan memblokir setiap port dari sumber lain.
Jika Anda akan menambahkan port atau layanan dengan perintah di bawah ini maka itu akan dapat diakses oleh semua sumber.
Jika Anda ingin membuka port spesifik untuk Ip tertentu daripada perintah di bawah ini
sumber