"IP Masquerading" paskirtis yra leisti kompiuteriams su privačiais, nekeičiamais IP adresais jūsų tinkle pasiekti internetą per mašiną, atliekantį maskavimą. Interneto srautas iš privataus tinklo, skirto internetui, turi būti manipuliuojamas, kad atsakymai būtų rotaciniai atgal į prašymą pateikusį įrenginį. Norėdami tai padaryti, branduolys turi keisti šaltinis Kiekvieno paketo IP adresas taip, kad atsakymai būtų nukreipiami į jį, o ne prie privataus IP adreso, kuris pateikė užklausą, o tai neįmanoma per internetą. Linux naudoja Ryšio stebėjimas ("conntrack"), kad būtų galima sekti, kokios jungtys priklauso tam tikroms mašinoms ir atitinkamai perkelia kiekvieną grįžimo paketą. Taigi srautas, paliekantis jūsų privatųjį tinklą, yra "maskuojamas" kaip kilęs iš jūsų "Ubuntu" vartai. Šis procesas yra nurodytas "Microsoft" dokumentuose kaip "Internet Connection Sharing".
Instrukcijos dėl IP maskavimas
Tai gali būti atliekama naudojant vieną iptables taisyklę, kuri gali skirtis priklausomai nuo jūsų tinklo konfigūracijos:
sudo iptables-t nat-POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
Pagal pirmiau pateiktą komandą daroma prielaida, kad jūsų privataus adreso plotas yra 192.168.0.0/16 ir jūsų internetinis įrenginys yra ppp0. Sintaksė yra suskirstyta taip:
- -t nat - taisyklė yra eiti į nat lentelę
- - POSTROUTING - taisyklė turi būti pridedama (-A) į POSTROUTING grandinę
- -s 192.168.0.0/16 - taisyklė taikoma srautams, kilusiems iš nurodytos adreso vietos
- -o ppp0 - taisyklė taikoma srautui, kurį planuojama nukreipti per nurodytą tinklo įrenginį
- -j MASQUERADE - eismo atitikimas šiai taisyklei yra "šokti" (-j) į tikslą "MASQUERADE", kurį reikia manipuliuoti, kaip aprašyta aukščiau
Kiekviena filtravimo lentelės grandinė (numatytoji lentelė ir kur vyksta dauguma arba visa paketų filtravimas) turi numatytąją reikšmę politika ACCEPT, bet jei ugniasienę sukursite be vartuotojo įrenginio, gali būti, kad nustatėte politiką DROP arba REJECT, tokiu atveju jūsų maskuotasis eismas turi būti leidžiamas per FORWARD grandinę, kad ši taisyklė veiktų:
sudo iptables-FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables-FORWARD -d 192.168.0.0/16 -m state -state NUSTATYTA, SUSIJĘS -i ppp0 -j ACCEPT
Pirmiau pateiktos komandos leis visus prisijungimus iš jūsų vietinio tinklo prie interneto ir visą srautą, susijusį su tomis jungtimis, grįžti į mašiną, kuris juos pradėjo.
* Licencija
* Ubuntu serverio vadovas indeksas