Cerpen: cara Anda melakukannya itu benar (sesuai komentar Anda untuk pertanyaan).
Ceritanya panjang: di Linux, 'perangkat' jaringan yang disebut foo:bar
adalah alias 'foo' yang digunakan ketika kita perlu menetapkan beberapa pengaturan jaringan ke antarmuka 'foo', misalnya untuk membuatnya merespons pada beberapa subnet pada kabel yang sama.
Ini adalah cara kotor untuk melakukan ini, dan tidak konsisten untuk boot. Untuk IPv6, semua alamat yang ditetapkan untuk antarmuka eth0 terdaftar bersama di bawah entri eth0. Ada metode yang lebih modern untuk melakukan ini (melalui ip addr
perintah).
Anda dapat melihat alias antarmuka karena mereka memiliki titik dua :
dalam namanya, bagian di sebelah kiri titik dua adalah nama antarmuka yang masih ada, dan antarmuka antarmuka ketika Anda melakukannya ifconfig
sangat singkat. Itu HWaddr
juga harus identik dengan antarmuka 'induk'. Mereka juga tidak akan terdaftar /proc/net/dev
. Jika Anda mengatakan ip addr
, eth0:0
akan ditampilkan sebagai alamat antarmuka kedua eth0
. (cari garis indentasi yang dimulai dengan inet
)
Alias dan orang tua mereka berbagi banyak pengaturan dan bidang, karena mereka berbagi lapisan fisik. Kernel tidak memperlakukan mereka sebagai antarmuka yang sepenuhnya terpisah. Untuk satu, lalu lintas muncul pada antarmuka induk , bukan alias. Anda mungkin telah memperhatikan alias bahkan tidak memiliki penghitung paket / byte!
Jika Anda perlu mengendus traffic, firewall, dll pada antarmuka alias, Anda harus menggunakan induknya. Karena satu-satunya perbedaan yang dimiliki alias dari induknya adalah pengaturan IPv4-nya, satu-satunya cara untuk mencocokkan lalu lintas pada alias adalah dengan menggunakan pengaturan IP tersebut. Dengan iptables
, Anda cocok dengan alamat IPv4 alias seperti yang Anda lakukan di komentar untuk jawaban Anda.