Alamat IP yang setara dengan / dev / null

92

Apakah ada alamat IP yang akan menghasilkan paket yang dikirim untuk diabaikan (dihitamkan)?

Saya tahu saya selalu dapat mengatur router dengan alamat IP dan kemudian hanya mengabaikan semua paket yang dikirim ke sana, tetapi apakah hal seperti itu ada untuk menyelamatkan saya dari masalah?

Tyler Durden
sumber
2
Ada beberapa perangkat (seperti router dan switch dari perusahaan San Fran cisco ) yang menggunakan antarmuka Null yang dapat digunakan sebagai lubang hitam untuk lalu lintas berbahaya. Orang harus mengarahkan rute ke antarmuka Null itu sehingga semua lalu lintas ke rute itu dibuang.
Adriano P
12
Anda mungkin tertarik pada devnull-as-a-service.com
wchargin
2
Saya ingin tahu, mengapa pertanyaan ini ditandai "pencegahan spam"?
Mike Pennington
@WChargin, saya harap itu lelucon - devnull-as-a-service.comsepertinya tidak ada hubungannya dengan jaringan dan bahkan itu terlihat seperti omong kosong . Apa ini : When we say "government" we mean NSA, CIA, FBI, TSA, Communist Party of China (CPC), Nestle, The Coca-Cola Company, the KGB, some of your coworkers and our friends (especially if there is something funny).?
VL-80
5
@Nikolay ya, itu lelucon, seperti situs webnya. Lihat mereka README Github : "Ini sebagian besar tentang perusahaan, awan, * -seperti-a-Service dan kritik di atasnya. " (Penekanan)
wchargin

Jawaban:

84

Ada secara khusus awalan blackhole di IPV6, seperti yang dijelaskan dalam RFC 6666 , ini 100 :: / 64. IP4 tidak memiliki lubang hitam eksplisit seperti itu, tetapi host yang tidak ada di salah satu blok yang dipesan akan memiliki efek itu. (misalnya, 240.0.0.0/4/4 "dicadangkan untuk penggunaan di masa mendatang" dan tidak akan dialihkan oleh apa pun.)

Bandrami
sumber
32
Mengirim data ke sesuatu yang dicadangkan untuk penggunaan di masa depan hanya merupakan ide yang baik sampai penggunaan di masa depan terwujud.
corsiKa
5
Poin yang sangat bagus, meskipun saya sangat meragukan bahwa IP4 akan diperluas lagi.
Bandrami
8
Tetapi apakah router dijamin untuk menjatuhkan paket? Karena jika ICMP mengembalikan "tujuan yang tidak terjangkau", itu bukan yang diminta OP.
WGH
41

Ada yang namanya jaringan Black hole .

Jika tidak ada perangkat di jaringan dengan alamat IP 192.168.0.10, maka alamat IP ini semacam lubang hitam dan akan "membuang" semua lalu lintas ke sana, hanya karena tidak ada.

Protokol yang melacak status koneksi (TCP) dapat mendeteksi host tujuan yang hilang. Itu tidak akan terjadi dengan UDP dan paket hanya akan mati sementara host pengirim tidak akan diberitahu tentang itu.

Anda dapat mengatur lubang hitam dengan firewall dengan mengaturnya untuk secara diam - diam menjatuhkan paket ( tidak menolak ) dari alamat tertentu (atau banyak).

Sejauh yang saya tahu tidak ada alamat standar jaringan yang akan melakukan black hole untuk Anda dalam TCP / IP versi 4 (Terima kasih kepada Bandrami ).

Jadi, Anda memiliki dua opsi:

  1. Alamat IP yang tidak ditugaskan ke host mana pun;
  2. Host dengan firewall yang diam-diam menjatuhkan paket atau variasi, misalnya menggunakan netcat: (seperti yang disarankan oleh ultrasawblade ).

nc -vv -l 25 > /dev/nullakan mendengarkan koneksi masuk pada port TCP 25 dan mengirimkan hasilnya /dev/null. Lebih banyak contoh di sini .

Seluruh subnet juga bisa menjadi lubang hitam ( Null route ).

VL-80
sumber
4
Jika Anda menginginkan sesuatu yang akan menerima lalu lintas TCP, tetapi tidak melakukan apa-apa dengannya, sesuatu yang cepat dapat diatur dengan nc(atau netcat). Seperti yang dikatakan @Nikolay, tidak ada IP "lubang hitam" yang melakukan ini secara otomatis.
LawrenceC
2
Setidaknya tidak di
IP4
@ Bandrami: Lalu, bagaimana dengan IPv6?
user2357112
2
@ user2357112, lihat saja jawabannya . Itu hanya di bawah milikku.
VL-80
19

Meskipun ini bukan black-hole, Anda mungkin juga ingin mempertimbangkan IP yang disisihkan untuk tujuan pengujian / contoh (oleh RFC 5737) , terutama jika tujuan Anda adalah nilai "default tidak aman yang tidak berfungsi".

  • 192.0.2.0/24 (TEST-NET-1),
  • 198.51.100.0/24 (TEST-NET-2)
  • 203.0.113.0/24 (TEST-NET-3)

Operator jaringan HARUS menambahkan blok alamat ini ke daftar ruang alamat yang tidak bisa dilalui, dan jika filter paket digunakan, maka blok alamat ini HARUS ditambahkan ke filter paket.

Tidak ada jaminan bahwa paket-paket ke alamat-alamat itu akan diblokir (itu tergantung pada ISP Anda, dll.) Tetapi tentunya tidak seorang pun harus sudah menggunakannya.

Darien
sumber
1
Mereka juga dapat ditolak bukannya DIJALANKAN, jadi ...
mirabilos
1
192.0.2.0 tampaknya berfungsi pada percobaan pertama saya, tidak mengembalikan paket apa pun sejauh ini. Saya akan melakukan beberapa pengujian lagi.
Tyler Durden
16

Tidak ada "alamat lubang hitam standar" seperti itu, juga tidak ada persyaratan untuk itu. Anda tidak mengatakan apa yang sebenarnya ingin Anda capai, jadi saya tidak dapat membantu Anda melakukannya, tetapi di sini ada beberapa solusi yang salah untuk masalah Anda yang akan menjawab pertanyaan Anda saat Anda bertanya:

  • Anda dapat menggunakan alamat RFC1918 yang tidak digunakan di jaringan Anda dan bergantung pada ISP Anda untuk menjatuhkannya untuk Anda. Misalnya, jika Anda hanya menggunakan beberapa bagian 192.168, 10.255.255.1 akan dialihkan dari ISP Anda (yang akan mendapatkannya berkat gateway default Anda).
  • Anda dapat menggunakan alamat IP yang dicadangkan untuk penggunaan di masa mendatang (dan mungkin tidak akan pernah digunakan); itulah kisaran " Kelas E " lama. Ini akan melakukan hal yang sama seperti di atas, tetapi akan bekerja bahkan jika Anda sudah menggunakan semua rentang alamat pribadi (dengan memiliki netmask yang jauh lebih luas dari yang diperlukan, saya ragu Anda akan memiliki jutaan perangkat yang terpasang). Misalnya, 254.0.0.1 tidak akan pernah (secara hukum) merujuk ke perangkat nyata.
  • Di mesin tempat Anda membutuhkan ini, Anda bisa menambahkan target drop-only; menggunakan alamat yang tidak digunakan seperti di atas, misalnya, iptables -I OUTPUT -d 254.0.0.0/8 -j DROPakan memastikan apa pun yang dikirim ke "jaringan" itu akan dijatuhkan secara diam-diam alih-alih mengganggu gateway, atau bahkan menyebabkan lalu lintas di antarmuka jaringan yang sebenarnya.

Sekali lagi, Anda mungkin tidak benar-benar menginginkan semua ini, bahkan jika Anda merasa nyaman - tidak, itu membingungkan dan tidak jelas dan bukan solusi yang baik untuk apa pun masalah Anda sebenarnya.

Gabe
sumber
254.0.0.1 tidak paket black hole, saya mendapatkan kesalahan "kegagalan pengiriman".
Tyler Durden
7
+1 untuk "Anda mungkin tidak benar-benar menginginkan semua ini ..."
RBerteig
2

Rentang Tes

Saya mungkin akan menyarankan salah satu rentang alamat "TEST-NET", "untuk digunakan dalam dokumentasi dan contoh. Seharusnya tidak digunakan untuk umum" .

192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

Rentang "Bogon" (Palsu / Palsu)

Saya tidak yakin di mana mengatakan di sini, ini tampaknya lebih merupakan praktik yang akan disediakan gateway Internet, daripada cara spesifik untuk mengimplementasikan paket yang dialihkan ke suatu tempat ia tidak boleh


Kisaran Lokal

Ada juga rentang alamat loopback 127.0.0.0/8,, mis 127.0.0.255. Meskipun masih mungkin untuk hal-hal yang ada di sana, khususnya layanan pada mesin lokal, setidaknya Anda tidak akan mengganggu mesin di jaringan (kecuali jika Anda memiliki layanan jaringan yang didukung oleh layanan jaringan lain saya kira).

127.0.0.0/8


Rentang Tujuan Ilegal

Mungkin alamat ilegal 0.0.0.0juga dapat digunakan, meskipun 0.0.0.0/8 dicadangkan untuk "Digunakan untuk pesan siaran ke saat ini (" ini ")" sehingga ada risiko penyiaran tentang itu.

0.0.0.0/8

Halaman Wikipedia untuk Null Route menyatakan:

Rute kosong biasanya dikonfigurasikan dengan flag rute khusus, tetapi juga dapat diimplementasikan dengan meneruskan paket ke alamat IP ilegal seperti 0.0.0.0, atau alamat loopback.


Rujukan: https://en.wikipedia.org/wiki/Reserved_IP_addresses

ThorSummoner
sumber
Saya secara keseluruhan memilih untuk menggunakan localhostport tertinggi 65535, Karena saya ingin memastikan tidak ada lalu lintas yang akan meninggalkan tuan rumah.
ThorSummoner
Jika Anda menentukan port, maka Anda harus menentukan masing-masing protokol juga: TCP, UDP, dll. Dan dengan melakukan itu, beberapa lalu lintas mungkin lolos dari aturan Anda (misalnya ICMP).
Drakes
1

Satu hal yang perlu dipertimbangkan (yang mungkin atau mungkin tidak menjadi masalah untuk skenario khusus Anda) adalah bahwa jika Anda mengarahkan lalu lintas ke alamat IP yang tidak ada, router dan / atau host dapat mencoba untuk terus menerus ARP untuk alamat itu, yang bisa menjadi hal yang buruk.

Jika Anda mengkonfigurasi ARP statis <-> IP binding untuk alamat phantom ini, maka sistem akan selalu memiliki entri ARP yang diselesaikan, dan itu hanya akan menempatkan paket pada kawat dengan alamat ARP (yang, dianggap, adalah palsu) dan lalu lintas tidak akan benar-benar mendarat di mana pun.

Sekali lagi, ini mungkin BUKAN apa yang sebenarnya Anda inginkan, tetapi patut dipertimbangkan.

ljwobker
sumber