Linux VPN Masquerade

Source: http://www.impsec.org/linux/masquerade/ip_masq_vpn.html

IP Masquerade je karakteristika Linux kernela koji vam dozvoljava da dijele siguran pristup internetu. Ako samo imate jedan priključak na internet, da li je dial-up telefonske linije, ISDN, DSL, kablovski modem, ili nešto drugo, Linux-baziran IP Masquerade firewall će vam omogućiti da dijele taj pristup, dozvoljavajući čak računala kao što želite na lokalnoj mreži za komunikaciju sa internetom istovremeno.

Vaš cijeli ured (ili porodice) mogu surfati World Wide Web, chat, da prijenos datoteka, igrati igre i telecommute u isto vrijeme.

VPN Masquerade je dio IP Masquerade koji vam omogućuje korištenje IPsec-baziran i PPTP-baziran Virtualna Privatna Mreža klijenata iza zajednički pristup firewall.

To se prvenstveno koristi za maskirana IPsec i PPTP VPN klijenata:

IPsec
Client -.
        |   Linux                     IPsec
PPTP   -+-> Masq and --> Internet --> or PPTP
Client  |   Firewall                  Server
        |
Others -+
        |

Nijedan drugi softver je potrebno da bi se maskiraju VPN klijentima.

Također se može koristiti za pristup privatne mreže IPsec ili PPTP servera iza Linux firewall …

IPsec                    Linux        Private-IP
or PPTP --> Internet --> Masq and --> PPTP or IPsec
Client                   Firewall     Server

Za to će trebati ipportfw port-forwarding kernel patch i konfiguraciju alat za 2.0.xx kernela ili ipmasqadm alat za 2.2.xx kernela proslijediti početnih 500/udp ISAKMP ključ-razmjena i/ili 1723/TCP kontrola PPTP kanal saobraćaj na server, i IPFwd generički IP prosljeđivanje komunalnih proslijediti početne IPsec ESP i/ili PPTP GRE saobraćaj na server. Detalji su dostupni u VPN Masquerade HOWTO – pročitajte ga.

Ako je vaš VPN baziran na tunele PPP preko Secure Shell (kao što je opisano u VPN mini-HOWTO) je vršeno od strane standardne IP Masquerade kod, kao ssh je čisto TCP protokol. Ćete ipportfw ili ipmasqadm i dalje treba, ako VPN server je maskirao (iza firewall, s IP adresom privatne mreže), a ne na samom firewall.

Ako koristite Checkpoint SecuRemote VPN sa FWZ-utisnutim tunela, nećete biti u mogućnosti da se maskiraju saobraćaja. Konfigurirati VPN za korištenje čistog IPsec protokola i dozvoljavaju NAT, i izbjeći CheckPoint vlasničkih FWZ protokola. Pogledajte VPN Masquerade HOWTO za više detalja.


Zašto želim ovo?

Jednom VPN Masquerade je konfiguriran više nećete morati da pozovete vašeg ISP-a direktno iz vašeg VPN klijenta (ili priključite VPN klijenta u vaš kablovski modem) kada želite da biste pristupili VPN servera. To znači da su sve prednosti Linux zajednički pristup internetu ostati na raspolaganju, čak i dok koristite svoj VPN za pristup udaljenom mreže.

U stvari, uz pravilnu konfiguraciju lokalne mreže možete istovremeno pristupiti Internetu i privatne (korporativni?) Mreža (preko VPN) iz svih računala na lokalnoj mreži. svaki dan radim to dok je radio od moje kuće.

Napomena za W’95/’98 VPN korisnika klijent: Žao mi je, ali W’95 / ’98 IP stog ne lako podržava IP prosljeđivanje. Ne možete koristiti W’95 / ’98 VPN klijenta da djeluje kao VPN router za lokalne mreže – svaki W’95 / ’98 sistem će morati uspostaviti svoju privatnu vezu sa VPN server osim ako koristite sistem koji izvodi WinNT ili neki drugi OS sposoban IP prosljeđivanje kao VPN router.


Dobijanje VPN Masquerade patch

VPN Masquerade je ugrađena u kernel tisak 2.0.37, a kasnije u 2.0.x serije. A patch je dostupan za 2.0.36. Patch može raditi sa ranije kernela, ali to nije testiran. Zakrpe su također dostupni za kernela 2.2.5 do 2.2.16, i može raditi sa starijim jezgrama u 2.2.x serije.

Važna napomena: molimo vas da skinete i primijeniti 2.2.x kfree_skb () bugfix patch nakon nanošenja bilo koju verziju punu 2.2.x zakrpu. Ovo ispravlja bug koji može dovesti do kernel panike pod teškim IPsec maskenbal upotrebu.

Generički 2.0.x-serija kernela

Ako koristite kernel izdanje ranije od 2.0.37 možete skinuti patch od:
[HTTP Mirror 1 (SAD: WA)]

Ako koristite 2.0.37 ili 2.0.38, postoji bugfix da spriječi GPFS pod određenim okolnostima kada se IPsec maskenbal omogućeno:
[HTTP Mirror 1 (SAD: WA)]

Generički 2.2.x-serija kernela

2.2.5 – 2.2.10: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 4 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.11 – 2.2.12: [ HTTP Mirror 1 (USA: CA) | HTTP Mirror 2 (USA: WA) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.13: [ HTTP Mirror 1 (USA: CA) | HTTP Mirror 2 (USA: WA) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.14: [ HTTP Mirror 1 (USA: CA) | HTTP Mirror 2 (USA: WA) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.15 – 2.2.16: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.17: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.18 – 2.2.20: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]

Nisam imao nikakve izvještaje patch radi sa kernel verzije veći od onih gore navedenih, ali patch će vjerojatno raditi dobro. Na 2.2.x kernel serija je sada u režimu održavanja, i promjene su uglavnom ispravke grešaka koje ne utječu na maskenbal podsistema.

RedHat i Mandrake 2.2.x-serija kernela

RedHat je uključena VPN zakrpu u jezgrama 2.2.16-8 i kasnije. Svrati na RedHat FTP lokaciju ili ogledalo stranice RedHat i spasiti sebi krpanje. Imajte na umu da možete imati i ažurirati na novu verziju RPM kao dobro.

Ako pokušavate da zakrpi kernel od RedHat ili Mandrake jezgra izvor RPM prije 2.2.16-8 Takođe će vam trebati da se prijave na sljedeći patch nakon nanošenja pune VPN Masq patch. To će popraviti važnu nije komad. Za primjenu tog patch:

cd /usr/src/linux/net/ipv4
zcat patchfile.gz | patch -l -p0

2.2.12 i 2.2.13: [ HTTP Mirror 1 (USA: CA) | HTTP Mirror 2 (USA: WA) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
2.2.14 kroz 2.2.16-7: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]

Sljedeće patch je potrebno za RedHat ili Mandrake 2.2.16 kernel ili kernel koji je imao flaster VS-Masq (Virtual Server) primijeniti. To uključuje kernel isporučen sa RedHat 7.0 – ako imate RedHat 7.0 i koristite kernel koji je došao s njim, da ti treba ovo patch. Update kernela RedHat 2.2.17-14 uključuje ovaj patch, preporučujem ti to kernel RPM sa FTP lokacije nego krpljenje i obnove.
Ako verbose PPTP ispravljanje pogrešaka pokazuje maskarada adresa (maddr) od 0.0.0.0 se koristi, ili tcpdump na internetu sučelje pokazuje nešto poput:

08:32:26 0.0.0.0 > 1.2.3.4: ip-proto-50 108 (ttl 63, id 1)

… onda treba da koristite ovu zakrpu. Za primjenu tog patch:

cd /usr/src/linux/net/ipv4
zcat patchfile.gz | patch -l -p0

2.2.16: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]

Nemojte zaboraviti da pokrenete “make modules_install” nakon krpljenje i ponovnim prevođenjem.

VPN Masq patch je izostavljen iz prvog RedHat 2.2.19 kernel RPM zbog vremenskog ograničenja. To će biti u sledeći.

Možda želite preuzeti obična kernela arhive iz kernel.org ogledalo stranice umjesto.

Bugfix za sve 2.2.x seriju kernela zakrpe

Svi IPsec korisnici Masq treba preuzeti i primijeniti ovaj bugfix patch i rekompajlirajte kernel. Ovaj patch popravlja bug u pozivanju kfree_skb () koja bi mogla dovesti do kernel panike pod velikim maskenbal opterećenja.

2.2.x: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]

Da biste se prijavili:

cd /usr/src
zcat ip_masq_ipsec-kfree.patch.gz | patch -l -p0

Ako dobijete greške o tome da ne bude u mogućnosti pronaći datoteku zakrpa, pobrinite se da / usr / src / linux postoji.

2.4.x-serija kernela

Zahvaljujući Brian Kuschak <bkuschak na yahoo.com> za pružanje kernel patch za PPTP Masquerade pod 2.4 kernel!

2.4.12: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) ]

2.4.15: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) ]

2.4.17: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) ]

2.4.19: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) ]

Jednostavno primijeniti flaster, zatim omogućite PPTP maskenbal u sekciji IPFilter prilikom konfiguracije kernel.

Ne IPsec patch je dostupan još.

Rečeno mi je da se pretvara jedan VPN klijenta koristeći iptables je prilično jednostavan za postavljanje, i ne zahtijeva posebnu zakrpe. To može raditi i za PPTP i IPsec.

U nastavku je zahvaljujući Joshua Eichorn <[email protected]>. Nisam ga pokušao sebe.

#!/bin/bash
# Load the NAT module (this pulls in all the others).
/sbin/modprobe iptable_nat

# In the NAT table (-t nat), Append a rule (-A) after routing
# (POSTROUTING) for all packets going out ppp0 (-o ppp0) which says to
# MASQUERADE the connection (-j MASQUERADE).
/usr/local/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

Server maskarada za PPTP takođe radi sa standardnim masquerade kod. Dodaj sljedeća pravila:

PPTP (1723/TCP i 47/IP):

/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1723 -j DNAT --to 192.168.0.5
/sbin/iptables -t nat -A PREROUTING -i eth1 -p 47 -j DNAT --to 192.168.0.5

… gdje 192.168.0.5 je IP adresa lokalne mreže PPTP servera. Nisam imao nikakve izvještaje o IPsec server masquerade.


Za preuzimanje datoteka pomoću Lynx: istaći vezu, pritisnite “d” (download) i odaberite “Save to disk”.
Za preuzimanje koristite Netscape Navigator: desni klik na link i odaberite “Save Link As …” – ako jednostavno kliknite na link, Navigator ima tendenciju da korumpirane datoteke zakrpe.

Za rano 2.2.x jezgrama također možete posjetiti Gordon Chaffee sajtu za 2.2.x PPTP samo Masq patch.


Konfiguriranje VPN Masquerade

Prvo, trebalo bi da bude udobno s ponovnim prevođenjem kernel

Drugo, pobrinite se da imate IP Masquerading sastavljen u kernel i ispravno. Postavljanje maskirana sama je izvan opsega ovog dokumenta, a tu je i KAKO već dostupan koji opisuje proces u velikoj detalj. Ako nemate redovne maskenbal ispravno onda molim te nemoj me kontaktirate za pomoć – prvo pročitajte KAKO. (Uspješno sam napravio poentu;)
Isto tako, ja sam napisao GUI omot za 2.0.x ipfwadm naredbu koja čini upravljanje firewall i maskirati lakše postavljanje.

Treće, pobrinite se da vaše VPN veze radi kada birati svog ISP-direktno iz vašeg VPN klijenta sistema.

Instalirati i konfigurirati VPN Masquerade, slijedite upute s obzirom na VPN Masquerade KAKO, dostupno na:

HTML: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
PostScript (za ispis): [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
PDF: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]
SGML izvor: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) ]


Bilješke i na drugim lokacijama od interesa

Ne morate VPN Masquerade podršku ako VPN krajnje je sam firewall – ako je, na primjer, imate oslobađa / WAN ili Linux PPTP klijent instaliran na vašem firewall. Nemojte koristiti VPN Masq zakrpe ako je to slučaj. To neće raditi.
Ne morate ipmasqadm ili ipfwd ako zovete udaljenom VPN servera preko Masq gateway. Da ih je potrebno samo ako je lokalna VPN server je iza Masq gateway.

Ovisno o PPTP servera koji se koristi možda biti prisiljeni koristiti konfiguraciju VPN router ako više od jednog maskirao sistem želi da se poveže sa datom PPTP servera. Protokola PPTP specificira samo jednu kontrolnu vezu iz datog sistema klijenta, a maskarada gateway je klijent kao što se tiče servera. PPTP implementacije servera da pravilno prati specifikacija neće dozvoliti više od jednog PPTP sjednicu da se utvrdi iz maskenbal gateway. Probajte prvo, međutim, kao što neki pogrešan PPTP implementacije (kao što je u Windows NT) ne dopuštaju višestruke veze između istih sistema.

IPsec AH protokol (51 / IP) sadrži kriptografski kontrolni zbir uključujući IP adrese u IP zaglavlju. Od maskirana mijenja te IP adrese, a od kriptografski kontrolni zbir ne može se preračunati po masquerading firewall je maskirao paketi neće uspjeti test checksum i da će biti odbačeni od strane udaljenog IPsec gateway. Stoga, IPsec VPN koji koriste protokol AH ne može uspješno maskirao. Izvini. (ESP sa autentifikaciju mogu se maskirao.)

Evo patch za netstat koji dodaje priznanje protokola ESP i GRE. Dodajte tome i netstat -M će ponovo raditi!

Ako želite da implementira VPN IPsec-bazirani na Linuxu, molimo vas da posjetite Linux oslobađa/WAN stranice. To se posebno preporučuje ako razmišljate o postavljanju VPN PPTP-based između dvije mreže koje su i iza Linux firewall. IPsec je sigurnije i mnogo bolje odgovara ovome od PPTP.

Molimo vas da posjetite Microsoft Security najavama mjesta za važnu ispravku PPTP sigurnosti za Microsoft PPTP klijente i poslužitelje. Vi svibanj također biti zainteresirani za analizu implementacije Microsoft protokola PPTP jedan od najuglednijih članova Crypto zajednice. Druga analiza i treći analiza drugi su također dostupni.

Tu je i slobodno dostupnih native Linux PPTP klijenta i PPTP poslužitelj softver. Imajte na umu da je ovaj softver ne može osigurati enkripciju: za zakrpe koje dodaju M $ kompatibilan enkripciju i kompresiju PPPD posjetiti ovu stranicu, ili posjetite FTP mjestu gdje Paul Cadach <[email protected]> nudi pppd zakrpe za podršku MS-CHAP-V1/V2 i MPPE i implementirati multilink JPP sa NT. (Ovi linkovi su prilično stara. Posjetite PoPToP stranice za trenutni status native-Linux PPTP).

Obilno zahvaljujući Gordon Chaffee za kodiranje i dijeljenje patch za traceroute koji omogućava praćenje GRE saobraćaja. To bi trebalo dokazati neprocjenjive vrijednosti u rješavanje problema ako GRE saobraćaj je blokiran negdje. Nabavite patch od:
[HTTP Mirror 1 | FTP Mirror 1]

A patch za noviji traceroute_1.4a12 je dostupan od http://www.planet.net.au/~neale/debian/traceroute-GRE/

Ja sam koristeći maskirao VPN kroz razne inkarnacije ovog patch sa velikim uspjehom od Rujan 7., 1997

Imam samo x86 kutiju za testiranje ovo. To je prijavljen za rad na SPARC i PowerPC sistema. Komentari korisnika na drugim arhitekturama su traženo.

U 2.1.65+ zrna izvorno podržava tuneliranje protokol baziran na GRE, ali ne podržavaju PPTP nativno na bilo koji način. Morate uvijek zakrpi kernel ako želite da se prerušavaju PPTP. Pogledajte KAKO za više detalja o 2.1.x i 2.2.x kernela.

Na 2.0.x patch sukobi sa lanci IP Firewall i ipportfw zakrpe u pokušaju da zakrpe kernel konfiguracijske datoteke. Ovo je nekritične. Pogledajte KAKO za više detalja.

Da, znam da IPsec je peer-to-peer. Pisanje to tako da je mogu koristiti od strane ljudi koji koriste IPsec krajnje točke na Windows prisiljava netačne terminologiju.

Ja sam u potrazi za lokacijama ogledalo. Ako imate web ili FTP server, po mogućnosti sa SSH pristup, a da ti ne smeta domaćin nekoliko fajlova, baci mi poruku! Ako želite da me ogledalo, ili ja već preslikavanje, baci mi poruku!


Možete me kontaktirati na <[email protected]>. Ja bih da čujem vaše komentare i sugestije, a posebno vaše probleme sa ovim patch. Također možete posjetiti trenutnu verziju ovog dokumenta, te da pogled na moju početnu stranicu …

Odricanje od odgovornosti: Nema garancije funkcionalnosti. Obratite pažnju na rad sastavljen kernel okolo u slučaju da to eksplodira.


© 1999-2006 John Hardin. Možete kopirati ovu stranicu dok je sadržaj nepromijenjen (možete promijeniti oblikovanje tako da odgovara vašim stranice ako želite) i link na originalnu stranicu je ostao netaknut.

$ Id: ip_masq_vpn.html, v 1.82 2006-07-13 06: 44: 50-07 jhardin Exp jhardin $