Apakah mungkin untuk menempatkan IP asli pada perangkat loopback?

9

Apakah mungkin untuk menempatkan IP asli (tidak dalam kisaran 127.xxx) pada perangkat loopback?

Peter Smit
sumber
Ya tentu saja.
Ipor Sircer
3
... bahaya tentu saja bahwa Anda lupa IP ini ada dan kemudian Anda memiliki masalah jaringan yang menggaruk-garuk karena paket tidak pergi ke alamat IP publik yang diharapkan ...
thrig

Jawaban:

5

Tidak ada yang melarang untuk melakukannya.

# ifconfig lo: 1 10.0.0.1/8 
# ifconfig lo: 1
lo: 1 Link encap: Local Loopback  
          inet addr: 10.0.0.1 Mask: 255.0.0.0
          MENJALANKAN LOOPBACK MTU: 65536 Metrik: 1
# ping -c 1 10.0.0.1    
PING 10.0.0.1 (10.0.0.1) 56 (84) byte data.
64 byte dari 10.0.0.1: icmp_seq = 1 ttl = 64 waktu = 0,025 ms

--- 10.0.0.1 statistik ping ---
1 paket dikirimkan, 1 diterima, kehilangan paket 0%, waktu 0ms
rtt min / avg / max / mdev = 0,025 / 0,025 / 0,025 / 0,000 ms

Memperbarui:

Agar alamat ini tetap ada setelah reboot pada Ubuntu 16.04, Anda dapat memodifikasi /etc/network/interfacesfile Anda dengan ethtoolperintah - perintah ini :

auto lo lo:1

iface lo inet loopback

iface lo:1 inet static
  address 10.0.0.1
  network 10.0.0.0
  netmask 255.0.0.0
Jlliagre
sumber
Apakah ini bertahan setelah reboot?
Peter Smit
1
Tidak. Lebih baik untuk menyatakan OS / distribusi yang tepat yang Anda gunakan untuk mendapatkan jawaban yang andal, dan mungkin mengajukan pertanyaan baru atau memeriksa apakah belum dijawab.
jlliagre
Ubuntu 16.04 LTS
Peter Smit
Jawaban diperbarui.
jlliagre
5

Sebagai alternatif untuk menggunakan lo:0, Anda juga dapat menggunakan dummyantarmuka di Linux seperti pada:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

Selain jawaban orang lain:

  • Saya tidak merekomendasikan mengubah alamat antarmuka loopback biasa / resmi karena banyak fungsi tergantung padanya;
  • namun, Anda dapat memiliki / membuat beberapa antarmuka loopback / dummy - baik antarmuka lo: 0 hingga lo: 255 atau dummyX;
  • harus diperhitungkan bahwa lo: 0 hingga lo: 255 adalah alias, sementara dummyX adalah antarmuka penuh;
  • selain itu, salah satu taktik yang biasa di Linux untuk membuat IP virtual melalui BGP atau OSPF adalah menugaskan mereka untuk antarmuka loopback / dummy DAN membuat jalur ke mereka melalui routing;
  • lagi, beberapa daemon memiliki masalah dengan mengumumkan alamat dalam alias (misalnya, quagga) - sehingga antarmuka dummyX disarankan dalam kasus-kasus tersebut;
  • Saya akan menekankan bahwa tanpa routing dalam infrastruktur, alamat tersebut hanya diketahui / mampu digunakan di server yang bersangkutan;
  • menetapkan alamat pribadi / publik ke antarmuka loopback, tanpa perutean yang tepat dapat menjadi ukuran biaya komputasi rendah untuk komunikasi daftar hitam sementara dengan alamat IP / jaringan.

Untuk detail lebih lanjut, lihat misalnya tutorial pengaturan siaran BIND yang dilakukan dengan Quagga / BIRD.

petunjuk rute di sini: OSPF: Memigrasi Quagga ke BIRD

PS Linux secara default hanya membuat dummy0 dan dummy1 dan harus diinstruksikan untuk membuat lebih banyak antarmuka dummy.

Rui F Ribeiro
sumber
1
Saya benar-benar akan menggunakan ini dengan routing (statis). Apakah ada perbedaan nyata antara antarmuka dummy dan loopback?
Peter Smit
@PeterSmit menetapkan vips ke loopback dengan berurusan dengan alias antarmuka, sedangkan dummy adalah antarmuka penuh pada hak mereka sendiri. ada masalah menggunakan alias antarmuka dengan quagga ... dan saya tidak menyarankan untuk mengubah lo. Ini juga sering terjadi, Anda dapat / harus mengaitkan aturan fw dengan antarmuka aktual dan bukan alias.
Rui F Ribeiro
3

Pada kernel Linux saat ini dengan iputilitasnya cukup sederhana:

ip addr add 10.0.1.8 dev lo

Ini dapat berguna ketika Anda memiliki layanan yang mengikat port pada sebuah antarmuka, dan ingin menjalankan program lain pada port dan jaringan yang sama. Saya menggunakannya untuk mengaktifkan keduanya binddan dnsmasqhidup berdampingan di server yang sama.

Jika Anda menggunakan /etc/network/interfacesuntuk mengkonfigurasi antarmuka Anda, kemudian perbarui lobait untuk menyertakan:

up ip addr add 10.0.1.8 dev lo
BillThor
sumber
Terima kasih. Apakah ini akan terus menyala?
Peter Smit
1
@PeterSmit Tidak mungkin.
Kusalananda
1

Ya, tapi itu tidak berarti itu ide yang bagus. Jika Anda menggunakan IP yang akan diakses oleh sistem Anda, data apa pun yang mencoba dikirim ke sana akan dialihkan ke sistem lokal, yang dapat menyebabkan semua jenis masalah jaringan yang aneh. Ini berarti khususnya bahwa Anda tidak dapat menggunakan apa pun di luar rentang berikut dengan aman:

127.0.0.0/8
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4

Dengan pengecualian yang mungkin dari tergantung pada bagaimana antarmuka jaringan Anda yang lain dikonfigurasi:

10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
169.254.0.0/16

Ini adalah kasus di mana RFC 1925 , bagian 2, angka 3 berlaku.

Austin Hemmelgarn
sumber
Sebenarnya, ada lebih banyak rentang. Dalam kasus saya, itu akan berada dalam kisaran 100.64.0.0/10 (Carrier Grade NAT)
Peter Smit
1
Mungkin ada lebih banyak, tetapi kebanyakan dari mereka tidak banyak digunakan pada sistem klien (saya pikir rentang CGN mungkin cocok untuk itu), atau mereka memiliki penggunaan yang tidak jelas yang banyak orang mungkin tidak mengerti (seperti 198.18.0.0/15, digunakan untuk benchmarking), dan saya ingin menghindari mengatakan sesuatu yang mungkin tidak cukup aman sebenarnya aman.
Austin Hemmelgarn