Saya ingin menggunakan addrtype
dalam kombinasi dengan -src
sebagai aturan di salah satu rantai filter saya seperti untuk menjatuhkan beberapa bogon ips:
-A INPUT -p tcp --dport 80 -m addrtype --src-type UNICAST ! -s 127.0.0.0/8 -j WEB
Halaman manual mengatakan sebagai berikut
addrtype
Modul ini cocok dengan paket-paket berdasarkan pada jenis alamatnya. Jenis alamat digunakan dalam tumpukan jaringan kernel dan mengkategorikan alamat ke dalam berbagai grup. Definisi yang tepat dari grup itu tergantung pada protokol layer tiga spesifik.Jenis alamat berikut dimungkinkan:
- UNSPEC alamat yang tidak ditentukan (mis. 0.0.0.0)
- UNICAST alamat unicast
- LOKAL alamat lokal
- BROADCAST alamat siaran
- ANYCAST paket anycast
- MULTICAST alamat multicast
- BLACKHOLE alamat blackhole
- Alamat yang tidak terjangkau
- LARUTKAN alamat yang dilarang
- BUAT FIXME
- NAT FIXME
- XRESOLVE
Tidak jelas apa definisi yang tepat dan mengatakan itu tergantung pada protokol layer 3 spesifik. Inilah yang saya pikirkan:
- UNICAST (! BROADCAST,! MULTICAST,! ANYCAST)
- LOKAL (
127.0.0.0/8
) - BROADCAST (
*.*.*.255
) - ANYCAST (
*.*.*.*
) - MULTICAST (
224.0.0.0/4
)
Adakah yang memiliki gagasan yang jelas tentang apa artinya itu dan bagaimana penerapannya oleh iptables (misalnya, bagaimana ia tahu di mana letak BLACKHOLE)?
LOCAL
tentu saja tidak127.0.0.0/8
. Saya menemukan cara yang sulit :( ... ternyata alamat lokal merujuk ke alamat apa pun yang ditetapkan ke antarmuka.127.0.0.0/8
yang diperuntukkan khusus untuk loopback, namun LOKAL tidak terbatas hanya kisaran tersebut.Jawaban:
Saya pikir itu tergantung pada Anda untuk membuat kernel tahu yang merupakan tipe alamat blackhole.
Dari file xt_addrtype.h dalam kode sumber iptables, Anda dapat melihat:
Dan di
rtnetlink.h
, Anda akan melihat definisi yang sama:Anda dapat melihat
iptables
menggunakan definisi tipe alamat yang sama dengan tumpukan jaringan kernel tcp.Kemudian dari
man ip
:Jadi ketika Anda mendefinisikan rute ke jaringan dengan
ip
perintah dan menandainya sebagai rute lubang hitam, kernel sekarang membuat jenis alamat lubang hitam jaringan ini:sumber
blackhole
jenis alamat, tidak semua jenis alamat. Saya menunjukkan bahwaiptables
addrtype
ekstensi menggunakan addrtype definisi yang sama dengan kernel. Dan definisi tipe alamat kernel dapat dilihat diman ip
.ip route list type local
tetapi semua jenis menghasilkan string kosong kecuali untuk unicast yang memberidefault via 192.168.1.1 dev eth0 proto static metric 1024 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2
. Bisakah Anda memberikan info lebih lanjut tentang cara menafsirkan ini? Terima kasih.ip route add blackhole
dibandingkan menggunakan firewall untuk memblokir subnet tertentu? Apakah ada perbedaan fungsional / kinerja atau cara berbeda untuk mencapai tujuan yang sama?