Apakah MASQUERADE dalam konteks iptables?

42

Dalam iptablesbanyak kali saya melihat target MASQUERADE . Apa itu? Saya mencari dan menemukan banyak hal. Tapi saya perlu seseorang untuk menjelaskan kepada saya apa itu MASQUERADE yang mudah dimengerti?

Contoh (diambil dari jawaban ini ) adalah:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Mohammad Reza Rezwani
sumber

Jawaban:

33

Ini adalah algoritma yang bergantung pada implementasi iptables yang memungkinkan seseorang untuk merutekan lalu lintas tanpa mengganggu lalu lintas asli.

Saya menggunakan algoritma masquerade ketika saya ingin membuat adapter wifi virtual dan berbagi wifi saya.

Saya TIDAK berbicara tentang berbagi koneksi Ethernet melalui wifi Anda, saya berbicara tentang berbagi koneksi wifi melalui wifi Anda melalui penyamaran ke adaptor virtual. Ini berlaku memungkinkan Anda berbagi koneksi wifi Anda melalui wifi.

.

.

Baca ini dan gulir ke bawah ke MASQUERADE: http://billauer.co.il/ipmasq-html.html

Baca ini untuk lebih mendalam: http://oreilly.com/openbook/linag2/book/ch11.html

Semua pertanyaan tentang "Connectify for linux" dapat diselesaikan dengan menerapkan MASQUERADE algo.

Untuk contoh langsung, kunjungi halaman ini: http://pritambaral.com/2012/05/connectify-for-linux-wireless-hotspot/

SAYA TIDAK MEMBACA Tautan TERAKHIR !!!! Tetapi berikut ini adalah kutipan / contoh yang akurat.

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD -i wlan0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Saya benar-benar tidak suka bagaimana mesin pencari membuat algoritma menjadi semacam jenis peretasan yang jahat .. Saya hanya menggunakannya untuk berbagi internet dengan ponsel android saya.

EDIT AKHIR: tautan ini adalah yang terbaik http://gsp.com/cgi-bin/man.cgi?section=3&topic=libalias

Banned_User
sumber
seperti tautan pertama Anda - tepatnya - apa yang saya cari :)
Mohammad Reza Rezwani
Saya telah menguji MASUERADEaturan (baris ketiga dalam daftar kode Anda) dan tautannya benar-benar dibagi dan tersedia di seluruh antarmuka. Karena itu, saya frustrasi untuk apa FORWARDaturannya? (aturan di baris kedua dalam daftar kode Anda)
千 木 郷
34

MASQUERADE adalah target iptables yang dapat digunakan sebagai ganti target SNAT (sumber NAT) ketika ip eksternal dari antarmuka inet tidak diketahui pada saat penulisan aturan (ketika server mendapatkan ip eksternal secara dinamis).

Sergey P. alias biru
sumber
Apa yang harus digunakan ketika alamat IP diketahui?
Luc
4
@ Luc, target SNAT (terjemahan alamat jaringan sumber) dengan mendefinisikan sumber ip yang harus ditempatkan sebagai ganti sumber ip asli dalam paket ip dari host asli. Seperti ini di -j SNAT --to-source xx.xx.xx.xxmana xx.xx.xx.xx adalah ip eksternal dari antarmuka yang diinginkan. Dan saya tidak bisa mengatakan bahwa itu harus digunakan ketika ip eksternal diketahui. Saya lebih suka menggunakan MASQUERADE daripada SNAT untuk membuat aturan fleksibel dan tidak terikat dengan ip eksternal spesifik yang saya miliki saat ini.
Sergey P. alias azure
7

IP Masquerade juga dikenal sebagai Network Address Translation (NAT) dan Network Connection Sharing beberapa sistem operasi populer lainnya. Ini pada dasarnya adalah metode untuk memungkinkan komputer yang tidak memiliki alamat IP luas Internet publik berkomunikasi dengan komputer lain di Internet dengan bantuan komputer lain yang duduk di antara itu dan Internet.

Seperti yang Anda ketahui alamat IP digunakan di Internet untuk mengidentifikasi mesin. Diberi paket dengan alamat IP, setiap router yang membentuk Internet tahu ke mana harus mengirim paket itu untuk sampai ke tujuannya. Sekarang, ada juga beberapa rentang alamat IP yang telah disediakan untuk penggunaan pribadi di dalam Jaringan Area Lokal dan jaringan lain yang tidak terhubung langsung ke Internet. Alamat pribadi ini dijamin tidak akan digunakan di Internet publik.

Ini menyebabkan masalah untuk mesin yang terhubung ke jaringan pribadi menggunakan alamat IP pribadi, karena mereka tidak dapat terhubung langsung ke Internet. Mereka tidak memiliki alamat IP yang diizinkan untuk digunakan di Internet publik. IP Masquerade menyelesaikan masalah ini dengan memungkinkan mesin dengan alamat IP pribadi untuk berkomunikasi dengan Internet, sementara pada saat yang sama memodifikasi paket mesin untuk menggunakan alamat IP publik yang valid alih-alih alamat IP pribadi yang asli. Paket yang kembali dari Internet dimodifikasi kembali untuk menggunakan alamat IP asli sebelum mencapai mesin IP pribadi.

Perhatikan bahwa ini tidak terbatas pada jaringan internet yang menyamar / NAT dapat digunakan untuk merutekan lalu lintas dari satu jaringan ke jaringan yang lain, katakanlah 10.0.0.0/24 dan 192.168.0.0/24

Aturan masquerade Iptables dapat diganti dengan aturan SNAT

iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24  -j MASQUERADE

=

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.2
# supposing eth2 assigned ip is 192.168.1.2

Baik masquerade dan snat memerlukan ip_forward diaktifkan di tingkat kernel dengan gema "1" > /proc/sys/net/ipv4/ip_forwardatau secara permanen dengan mengedit file pengaturan nano /etc/sysctl.conf.

IP Forward membuat mesin bertindak seperti router dan dengan demikian mengarahkan / meneruskan paket-paket dari semua antarmuka aktif secara logis oleh jaringan yang ditargetkan (lokal / net / lainnya / dll) atau dengan mengikuti tabel rute. Perhatikan bahwa mengaktifkan ip_forward dapat menimbulkan risiko keamanan penting, jika ip_forward tidak dapat dihindari, perlu diawasi / diamankan dengan aturan iptables / rute tambahan.

intika
sumber