GNU/Linux >> Belajar Linux >  >> Linux

iptables:apa sebenarnya arti --src-type LOCAL?

Saya yakin jawaban bahwa addr-type LOCAL berarti loopback salah, karena ini hanya sebagian jawaban dan sangat menyesatkan.LOCAL berarti SETIAP IP yang ditetapkan pada salah satu antarmuka host, termasuk loopback. Jika Anda mengatakan bahwa LOCAL hanyalah 127.0.0.0/8 (seperti yang dinyatakan sasanet), maka Anda akan membatasinya ke antarmuka loopback, yang jelas salah.

Selain itu, IP bahkan dapat dirutekan dan bersifat publik. Untuk host itu tidak relevan, karena dari sudut pandangnya IP akan merujuk ke host itu sendiri. Jika Anda meringkuk atau melakukan ping ke ip publik yang ditetapkan pada salah satu antarmukanya, itu jelas tidak akan mengirim paket keluar, itu akan merutekannya secara lokal.contoh:

alamat ip menunjukkan dev eth0:

 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 0a:e7:8b:89:d5:f4 brd ff:ff:ff:ff:ff:ff
    inet 172.31.20.254/20 brd 172.31.31.255 scope global dynamic eth0
       valid_lft 3110sec preferred_lft 3110sec

ip route tampilkan tabel lokal:

local 172.31.20.254 dev eth0 proto kernel scope host src 172.31.20.254

(seperti yang sudah disebutkan, jelas tidak relevan apakah ip itu pribadi atau publik, selama itu ditetapkan ke antarmuka jaringan)


Penjelasan yang cukup bagus di sini:http://security.maruhn.com/iptables-tutorial/x6330.html

Diskusi lain tentang itu:http://www.linuxquestions.org/questions/linux-networking-3/wtf-addrtype-in-iptables-manpage-746659/


Terminologi "rute lokal" berarti paket akan dikirimkan "secara lokal" ke host Anda, karena tujuannya ditetapkan ke salah satu antarmuka host Anda. Itu tidak hanya berarti localhost , seperti pada alamat loopback (atau 169.254/16 seperti pada alamat "link-local").

Linux menggunakan protokol Netlink untuk mengirim pesan antara ruang kernel dan ruang pengguna—salah satu keluarga Netlink di dalamnya adalah NETLINK_ROUTE , yang dapat digunakan untuk menerima pembaruan perutean, mengubah alamat antarmuka, dll . Misalnya, perintah ip-route dari iproute2 menggunakan ini.

Melihat addrtype kode sumber iptables, Anda akan melihat referensi ke linux/rtnetlink.h , yang mendefinisikan RTN_LOCAL sebagai jenis pesan. rtnetlink(7) halaman manual menjelaskan RTN_LOCAL sebagai:

rtm_type          Route type
───────────────────────────────────────────────────────────
RTN_LOCAL         a local interface route

Semua ini terasa sangat jelas saat Anda membacanya, dan beberapa referensi terbaik yang dapat saya temukan adalah berbagai sumber Internet, jadi dapat dimengerti mengapa ada kebingungan.


Linux
  1. Apa Artinya `:-` Dalam Skrip Shell?

  2. Apa Artinya Dalam Keluaran Dari Ps?

  3. Apa arti peringatan ini?

  1. Apa arti rc dalam file dot

  2. Apa artinya iptables kosong?

  3. Apa yang dimaksud dengan standar hierarki sistem file dengan data lokal?

  1. Apa Arti `chown Root.root $file`?

  2. Apa Artinya "rm Di-Hash"?

  3. Apa sebenarnya yang dilakukan init?