Mengapa tidak lebih banyak organisasi menggunakan NAT dari dalam ke dalam atau solusi serupa untuk memungkinkan jepit rambut NAT?


22

Inside-to-inside NAT alias NAT loopback memecahkan masalah NAT hairpin ketika mengakses server web pada antarmuka eksternal ASA atau perangkat serupa dari komputer pada antarmuka internal. Ini mencegah admin DNS dari keharusan mempertahankan duplikat zona DNS internal yang memiliki alamat RFC1918 yang sesuai untuk server mereka yang NATted ke alamat publik. Saya bukan seorang insinyur jaringan, jadi saya mungkin kehilangan sesuatu, tapi ini sepertinya tidak ada otak untuk mengkonfigurasi dan mengimplementasikan. Routing asimetris dapat menjadi masalah tetapi mudah dikurangi.

Dalam pengalaman saya, admin jaringan / insinyur lebih suka orang-orang sistem hanya menjalankan split-dns daripada mengkonfigurasi firewall mereka untuk menangani jepit rambut NAT dengan benar. Kenapa ini?


Mungkin karena tampilan DNS lebih mudah dipecahkan?
NickW

2
Mungkin, tetapi ketika menggunakan DNS pada Pengontrol Domain AD (skenario umum) tampilan tidak ada.
MDMarra

2
Mengapa Anda perlu mempublikasikan zona AD Anda ke Internet? Jika AD Anda ad.example.comatau serupa (seperti seharusnya !), Maka masalah ini akan ada untuk semua example.comentri DNS publik dan tidak ada internal yang diterbitkan secara eksternal. Tentu saja, jika Anda telah menamai AD Anda sama dengan keberadaan publik Anda, Anda harus menggunakan split-DNS, tapi itu bukan desain AD praktik terbaik.
MDMarra

5
Saya akan menambahkan bahwa tampilan DNS hanya lebih mudah untuk memecahkan masalah jika klien tidak pernah berpindah di antara mereka . Hal-hal aneh bisa salah ketika klien mengambil hasil internal yang di-cache di luar.
LapTop006

3
Klien seharusnya tidak menyimpan jawaban DNS, itulah gunanya server DNS . Saya tahu Windows sangat suka melakukan cache yang sunyi (dan mematikan), tapi itu salah satu dari banyak alasan mengapa saya pikir itu tidak layak untuk penggunaan produksi.
MadHatter mendukung Monica

Jawaban:


11

Ada beberapa alasan mengapa saya tidak melakukannya:

  • Mengapa harus memberi tekanan ekstra pada router DMZ dan firewall jika Anda tidak perlu melakukannya? Sebagian besar layanan internal kami tidak di DMZ tetapi area perusahaan umum, dengan layanan proxy di DMZ untuk akses jarak jauh sesekali. Melakukan nat dari dalam ke dalam menambah lebih banyak beban pada DMZ, yang dalam kasus kami akan menjadi signifikan.
  • Jika Anda tidak melakukan DNAT + SNAT, Anda akan mendapatkan rute asimetrik, yang terkenal sulit untuk diperbaiki. Jadi Anda SNAT dan kehilangan sumber informasi IP. Namun, sangat berguna untuk menautkan IP sumber ke orang-orang untuk tujuan pemecahan masalah. Atau sesekali tujuan nerfshooting dalam kasus kebodohan. "Hei IP ini sedang melakukan sesuatu yang tidak beres pada layanan yang tidak terauthentikasi X" "Oh, mari kita lihat di log server imap siapa itu"

2
Sekadar catatan, jika firewall Anda melakukan perutean L3 dan Anda memiliki rute untuk klien eksternal dan internal Anda mengambil risiko di firewall, Anda tidak perlu khawatir tentang perutean asimetris, kan?
MDMarra

12

Jelas, tidak ada jawaban pasti untuk ini, tetapi saya bisa memikirkan sejumlah alasan:

  1. Keanggunan: NAT tidak terlalu elegan untuk memulai, tetapi suatu keharusan dengan ruang alamat IPv4 yang terbatas. Jika saya dapat menghindari NAT, saya akan melakukannya. Dengan IPv6 masalah akan hilang dengan cara apa pun.
  2. Kompleksitas: terutama dalam kasus di mana Anda tidak memiliki hanya satu router "inti" tunggal yang menciptakan semua batas keamanan Anda, konfigurasi filter bisa menjadi sangat rumit. Entah itu atau Anda harus menyebarkan dan memelihara aturan NAT di hampir semua perangkat router Anda.
  3. Referensi: di mana admin firewall adalah orang-orang yang berbeda dari tim admin server lainnya, mereka mungkin sulit dijangkau. Untuk memastikan bahwa perubahan tidak tertunda oleh backlog admin firewall (atau liburan), opsi untuk menjaga tanggung jawab dalam tim yang sama dipilih
  4. Portabilitas dan praktik umum: Menggunakan tampilan DNS adalah "hal yang diketahui semua orang dilakukan" untuk menyelesaikan masalah ini. Tidak semua router batas akan mendukung loopback NAT secara langsung, lebih sedikit orang yang mungkin tahu cara mengaturnya dengan benar di lingkungan spesifik Anda. Ketika memecahkan masalah jaringan, kru harus menyadari konfigurasi NAT jepit rambut dan semua implikasinya - bahkan ketika mereka mengejar masalah yang tampaknya tidak terkait

1
1. Dalam situasi ini, bagaimanapun, NAT sedang digunakan. Ini bukan menambahkan NAT di mana tidak ada NAT sebelum 2. Dalam contoh saya, mereka semua ditangani oleh perangkat atau sekelompok perangkat yang sama. 4. Seperti yang dinyatakan dalam komentar saya di atas, skenario yang sangat umum adalah menggunakan Pengontrol Domain AD untuk DNS secara internal. Windows DNS tidak mendukung tampilan. Juga, saya telah menemukan bahwa peranti lunak router / firewall yang agak modern mendukung penataan rambut NAT dengan satu atau lain cara.
MDMarra

1
@MDMarra beberapa komentar: 1. - "akan ada satu keanehan NAT kurang peduli" adalah apa yang saya maksudkan pada dasarnya, 2. - pertanyaan Anda tidak secara eksplisit mengatakannya, tetapi hanya dengan satu router, itu jelas akan lebih mudah untuk ditangani , 4. dengan DNS internal yang berlaku untuk semua klien, Anda tidak perlu dilihat - Anda hanya akan membuat zona internal dan mendapatkan efek yang sama seperti yang Anda sebutkan dalam pertanyaan Anda, alasan di atas masih berlaku.
the-wabbit

1
Apa keanehan NAT? Perilaku spesifik apa yang akan menyebabkan masalah? Saya bekerja di sebuah universitas yang memiliki hairpinning NAT dikonfigurasi pada cluster Netscreen untuk 100+ host eksternal dan kami tidak pernah memiliki masalah.
MDMarra

Perhatikan juga bahwa menggunakan hairpin NAT dalam skenario ini sebenarnya membuatnya lebih mirip solusi IPv6, karena di bawah IPv6 sistem akan memiliki satu alamat yang dapat dijangkau secara global; hairpin NAT mensimulasikan perilaku itu.
Paul Gear

@ Mmplaar "keanehan NAT" yang paling menonjol untuk kasus "hairpin NAT" akan menjadi jalur routing yang tidak optimal, yang berarti paket yang ditulis ulang harus melakukan perjalanan sebagian besar jalan kembali mereka datang melalui. Melihat ini di dump paket ketika pemecahan masalah konektivitas paling membingungkan. Saya percaya orang lain telah menyebutkan masalah perutean asimetris dalam jawaban mereka, yang terkait. Tidak ada keraguan Anda bisa membuatnya bekerja dengan baik. Tapi itu tidak sepadan dengan usaha di sebagian besar kasus IMO.
the-wabbit

7

Penafian - ini adalah jawaban flamebait.

Alasan umum saya pikir solusi seperti ini dihindari adalah ketakutan / kebencian irasional terhadap NAT pada bagian dari insinyur jaringan . Jika Anda ingin melihat beberapa contoh diskusi tentang ini, lihat ini:

Dari apa yang bisa saya katakan, banyak ketakutan ini bermula dari implementasi NAT yang buruk dari Cisco (jadi dalam arti itu mungkin tidak masuk akal), tetapi menurut saya insinyur jaringan "klasik" begitu terlatih dalam "NAT adalah pandangan dunia yang buruk, bahwa dia tidak bisa melihat contoh nyata seperti ini di mana itu masuk akal dan sebenarnya menyederhanakan solusinya.

Di sana Anda pergi - downvote ke isi hati Anda! :-)


1
Saya tidak tahu apakah saya akan menganggapnya sebagai ketakutan yang irasional. Pengalaman telah mengajari saya bahwa NAT dapat merusak atau melakukan hal-hal aneh dengan banyak hal.

1
@ Kce Tetapi jika Anda sudah menggunakan NAT pada antarmuka eksternal Anda, apa bedanya mengkonfigurasi NAT loopback?
MDMarra

@MDMarra - Tidak ada yang benar-benar. Saya membuat poin yang agak menyolok bahwa kadang-kadang ketakutan tim layanan jaringan terhadap NAT tidak rasional.

Saya tidak takut pada NAT, saya benci itu.
Michael Hampton

1
Posting yang diedit untuk memasukkan kebencian. :-)
Paul Gear

3

Dugaan saya adalah:

  1. Split DNS lebih mudah dipahami.
  2. NAT Hairpin menggunakan sumber daya di router sementara split-dns tidak.
  3. Router mungkin memiliki batasan bandwidth yang tidak Anda dapatkan melalui pengaturan split-dns.
  4. Split-dns akan selalu berkinerja lebih baik karena Anda menghindari langkah-langkah perutean / NAT.

Di sisi positifnya untuk hairpin NAT,

  • Setelah pengaturan itu hanya berfungsi.
  • Tidak ada masalah dengan cache DNS untuk laptop yang dipindahkan antara jaringan kerja dan internet publik.
  • DNS untuk server hanya dikelola di satu tempat.

Untuk jaringan kecil dengan persyaratan lalu lintas rendah ke server internal saya akan pergi dengan hairpin NAT. Untuk jaringan yang lebih besar dengan banyak koneksi ke server dan di mana bandwidth dan latensi penting, gunakan split-dns.


2

Dari sudut pandang saya, ini sedikit berubah antara transisi Cisco Pix ke ASA. Kehilangan aliasperintah. Dan secara umum, mengakses alamat luar dari antarmuka bagian dalam pada firewall Cisco memerlukan semacam tipu daya. Lihat: Bagaimana cara saya mencapai server internal pada IP eksternal?

Kami tidak selalu perlu mempertahankan zona DNS internal duplikat. Cisco ASA dapat mengarahkan permintaan DNS untuk alamat eksternal ke alamat internal jika dikonfigurasi pada pernyataan NAT. Tapi saya lebih suka menyimpan zona internal untuk zona DNS publik agar memiliki rincian dan untuk dapat mengelola ini di satu tempat daripada melangkah ke firewall.

Biasanya, hanya ada beberapa server yang mungkin memerlukan ini dalam suatu lingkungan (mail, web, beberapa layanan publik), jadi itu bukan masalah besar.


Apakah ini tipuan jika didukung dan didokumentasikan oleh Cisco ? Tentu ini sedikit lebih berhasil, tetapi apakah itu membuatnya rumit atau berantakan?
MDMarra

Tipuan, dalam hal itu orang tidak tahu / tidak mengharapkan / memikirkannya jika mereka belum sadar. Ini pertanyaan umum: Bagaimana cara mencapai IP eksternal dari bagian dalam firewall Cisco saya .
ewwhite

Typically, there are only a few servers that may require this within an environmentmungkin di beberapa tempat, tapi saya bekerja di universitas dengan 100+ server / perangkat di DMZ dan saya juga bekerja di penyedia pengujian / sertifikasi dengan 40+ server yang tersebar di tiga DMZ. Untuk perusahaan yang lebih kecil, Anda mungkin hanya memiliki satu atau dua server yang terekspos ke luar, tetapi ini tidak selalu berlaku untuk semua orang.
MDMarra

Jika server berada dalam DMZ, ini bukan masalah, kan?
ewwhite

Dalam hal ini "DMZ" berarti terhubung ke inferface eksternal firewall tersebut dengan aturan penolakan default antara zona yang ada.
MDMarra

2

Saya dapat memikirkan beberapa alasan:

  1. Banyak organisasi telah membagi DNS sebagai akibat dari tidak ingin mempublikasikan semua informasi DNS internal mereka kepada dunia, sehingga tidak banyak upaya tambahan untuk menangani beberapa server yang juga diekspos melalui IP publik.
  2. Sebagai sebuah organisasi dan jaringannya tumbuh lebih besar, mereka sering memisahkan sistem yang melayani orang-orang internal dari server yang melayani eksternal, sehingga routing ke yang eksternal untuk penggunaan internal mungkin merupakan jalur jaringan yang jauh lebih lama.
  3. Semakin sedikit modifikasi yang dilakukan perangkat perantara terhadap paket, semakin baik jika menyangkut latensi, waktu respons, beban perangkat, dan pemecahan masalah.
  4. (sangat kecil, harus diakui) Ada protokol yang masih dapat dipatahkan NAT jika perangkat NATing tidak melampaui header paket dan memodifikasi data di dalamnya dengan alamat IP yang baru. Bahkan jika itu hanya kasus memori institusional, itu masih merupakan alasan yang sah bagi orang untuk menghindarinya, terutama jika mereka berurusan dengan protokol yang tidak 100% mereka yakini.

0

Jika saya akan menggunakan loopback NAT saya akan sedikit khawatir tentang bagaimana perangkat NAT akan menangani alamat sumber palsu. Jika tidak memeriksa antarmuka mana paket masuk, maka saya bisa menipu alamat internal dari WAN dan mengirim paket ke server dengan alamat internal. Saya tidak bisa mendapatkan balasan, tetapi saya mungkin bisa kompromi server menggunakan alamat internal.

Saya akan mengatur loopback NAT, tancapkan ke saklar DMZ dan mengirim paket dengan alamat sumber internal palsu. Periksa log server untuk melihat apakah mereka diterima. Kemudian saya akan pergi ke kedai kopi dan melihat apakah ISP saya memblokir alamat palsu. Jika saya menemukan router NAT saya tidak memeriksa antarmuka sumber, saya mungkin tidak akan menggunakan loopback NAT bahkan jika ISP saya memeriksa.


Maaf, saya mungkin salah memahami apa yang Anda katakan, tetapi alamat RFC1918 tidak dialihkan melalui internet, jadi saya tidak melihat apa yang mencoba menipu mereka di seluruh WAN yang akan dilakukan. Mereka bahkan tidak akan membuat lompatan pertama.
MDMarra

Alamat tujuan adalah alamat publik NAT pada port yang dipetakan ke server. Alamat sumber adalah salah satu alamat IP pribadi di bagian dalam NAT. Alamat sumber tidak digunakan dalam perutean dan tidak diperiksa oleh setiap router publik. Satu-satunya perbedaan dari kueri internal yang sah adalah bahwa paket tersebut datang dari WAN.
Kent England
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.