Tujuan IP Masquerading adalah untuk membolehkan mesin-mesin dengan alamat IP swasta yang tidak dapat diarahkan pada rangkaian anda untuk mengakses Internet melalui mesin yang melakukan penyamaran. Trafik dari rangkaian peribadi anda yang ditakdirkan untuk Internet mesti dimanipulasi untuk balasan yang dapat diselesaikan kembali ke mesin yang membuat permintaan itu. Untuk melakukan ini, kernel mesti mengubah suai sumber Alamat IP bagi setiap paket supaya balasan akan dialihkan semula kepadanya, bukannya kepada alamat IP peribadi yang membuat permintaan itu, yang mustahil melalui Internet. Menggunakan Linux Penjejakan Sambungan (conntrack) untuk menjejaki sambungan mana yang berkaitan dengan mesin dan jalankan semula setiap paket kembali dengan sewajarnya. Lalu lintas yang meninggalkan rangkaian peribadi anda adalah "menyamar" sebagai berasal dari mesin gerbang Ubuntu anda. Proses ini dirujuk dalam dokumentasi Microsoft sebagai Perkongsian Sambungan Internet.
Arahan Untuk IP Masquerading
Ini boleh dicapai dengan satu peraturan iptables tunggal, yang mungkin sedikit berbeza berdasarkan konfigurasi rangkaian anda:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
Perintah di atas mengandaikan bahawa ruang alamat peribadi anda ialah 192.168.0.0/16 dan bahawa peranti yang menghadap ke Internet adalah ppp0. Sintaks ini dipecahkan seperti berikut:
- -t nat - peraturannya adalah untuk masuk ke dalam jadual nat
- -A POSTROUTING - peraturannya akan ditambah (-A) ke rantaian POSTROUTING
- -s 192.168.0.0/16 - peraturan terpakai untuk lalu lintas yang berasal dari ruang alamat yang ditentukan
- -o ppp0 - peraturan terpakai untuk lalu lintas yang dijadualkan melalui peranti rangkaian yang ditentukan
- -j MASQUERADE - lalu lintas yang sepadan dengan peraturan ini adalah untuk "melompat" (-j) ke sasaran MASQUERADE untuk dimanipulasi seperti yang dijelaskan di atas
Setiap rantai dalam jadual penapis (jadual lalai, dan di mana kebanyakan atau semua penapisan paket berlaku) mempunyai lalai dasar daripada ACCEPT, tetapi jika anda membuat firewall sebagai tambahan kepada peranti gerbang, anda mungkin telah menetapkan dasar-dasar untuk DROP atau TUTUP, dalam hal ini, traffic masqueraded anda harus dibenarkan melalui rantai FORWARD untuk peraturan di atas berfungsi:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED, RELATED -i ppp0 -j ACCEPT
Perintah di atas akan membolehkan semua sambungan dari rangkaian tempatan anda ke Internet dan semua lalu lintas yang berkaitan dengan sambungan tersebut untuk kembali ke mesin yang memulakannya.
* Lesen
* Indeks Panduan Pelayan Ubuntu