Linux VPN Masquerade

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

IP Masquerade je vlastnosťjadra Linux, ktorá vám umožňuje zdieľať bezpečný prístup k internetu. Ak máte iba jedno pripojenie na Internet, či už ide o telefonickú linku na telefonické pripojenie, ISDN, DSL, káblový modem alebo niečo iné, brána firewall systému IP Masquerade na báze Linuxu vám umožní zdieľať tento prístup. počítačov, ako si prajete vo svojej lokálnej sieti, aby ste mohli komunikovať súčasne s

Vaša celá kancelária (alebo rodina) môže surfovať po World Wide Webe, chatovať, robiť prenosy súborov, hrať hry a zároveň komunikovať.

VPN Masquerade je súčasťou IP Masquerade, ktorá umožňuje používať IPsec- založené a PPTP- založené virtuálne privátne siete klientov spoza zdieľaného prístupu firewall.

Toto sa primárne používa na maskovanie klientov IPsec a PPTP VPN:

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

Žiadny iný softvér nie je potrebný na maskovanie klientov VPN.

To môže tiež byť použitý na poskytovanie prístupu k súkromnej sieti IPsec alebo PPTP server za Linux firewall …

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

K tomu budete potrebovať aj nástroj na opravu a konfiguráciu portov pre presmerovanie portov ipportfw pre 2.0. xx jadrá alebo nástroj ipmasqadm pre 2.2. xx jadrá preposlať počiatočné 500 / udp ISAKMP kľúč-výmena a / alebo 1723 / tcp PPTP riadiaci kanál prevádzky na server, a IPFwd generický IP forwarding nástroj pre postúpenie počiatočnej IPsec ESP a / alebo PPTP GRE prevádzky na serverov. Podrobnosti sú dostupné v VPN Masquerade HOWTO – prečítajte si ho.

Ak je vaša VPN založená na tunelovaní PPP cez Secure Shell (ako je popísané v VPN mini-HOWTO ), je spravovaná štandardným IP Masquerade kódom, pretože ssh je čisto TCP protokol. Ak je VPN server maskovaný (za bránou firewall, IP adresou súkromnej siete) a nie na bráne firewall, stále budete potrebovať ipportfw alebo ipmasqadm.

Ak používate Checkpoint SecuRemote VPN s FWZ zapuzdrené tunelmi, tie nebudú môcť vydávať prevádzku. Nakonfigurujte svoju VPN tak, aby používala čisté protokoly IPsec a povoľte NAT, a vyhnite sa protokolom proprietárnych protokolov FWZ CheckPoint. Viac informácií nájdete v časti VPN Masquerade HOWTO .

Prečo to chcem?

Po nakonfigurovaní VPN Masquerade už nebudete musieť vytočiť svojho ISP priamo z vášho VPN klienta (alebo pripojte svojho VPN klienta do káblového modemu), keď chcete pristupovať k vášmu VPN serveru. To znamená, že všetky výhody zdieľaného internetového prístupu Linuxu zostanú dostupné aj vtedy, keď používate VPN na prístup k vzdialenej sieti.

V skutočnosti, so správnou konfiguráciou vašej lokálnej siete môžete súčasne pristupovať k Internetu a vašej súkromnej (firemnej) sieti (cez VPN) zo všetkých počítačov v lokálnej sieti. Robím to každý deň pri práci z domu.

Poznámka pre W’95 / ’98 VPN klientov: Prepáčte, ale W’95 / ’98 IP stack jednoducho nepodporuje IP forwarding. Klienta VPN W’95 / ’98 nemôžete použiť ako smerovač VPN pre vašu lokálnu sieť – každý systém W’95 / ’98 bude musieť vytvoriť vlastné súkromné pripojenie k serveru VPN, pokiaľ nepoužívate systém so systémom WinNT alebo iný operačný systém schopný presmerovania IP ako VPN router.

Získanie náplasti VPN Masquerade

VPN Masquerade je súčasťou jadra 2.0.37 a neskôr v sérii 2.0.x. Oprava je k dispozícii pre 2.0.36. Patch môže pracovať s predchádzajúcimi jadrami, ale nebol testovaný. Záplaty sú k dispozícii aj pre jadrá 2.2.5 až 2.2.16 a môžu pracovať so staršími jadrami v sérii 2.2.x.

Dôležité upozornenie : stiahnite a aplikujte opravu patch 2.2.x kfree_skb () po použití ľubovoľnej verzie plnej opravy 2.2.x. To opravuje chybu, ktorá môže viesť k panike jadra pod silným použitím protokolu IPsec.

Generic 2.0. x -súbory jadier

Ak používate vydanie jadra staršie ako 2.0.37, môžete si opravu prevziať z:
[ HTTP Mirror 1 (USA: WA) ]

Ak používate 2.0.37 alebo 2.0.38, je tu chyba na zabránenie GPF za určitých okolností, keď je povolená maska IPsec:
[ HTTP Mirror 1 (USA: WA) ]

Všeobecný 2.2. x -súbory jadier

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) ]

Nemal som žiadne správy o patchoch pracujúcich s verziami jadra vyššími ako tie, ktoré sú uvedené vyššie, ale patch bude pravdepodobne fungovať dobre. Séria jadier 2.2.x je teraz v režime údržby a zmeny sú väčšinou opravy chýb, ktoré nemajú vplyv na podsystém maskovania.

RedHat a Mandrake 2.2. x -súbory jadier

RedHat zaradil patch VPN do jadier 2.2.16-8 a novších. Drop o RedHat FTP stránky alebo RedHat zrkadlo stránky a ušetriť si nejaké opravy. Môžete tiež aktualizovať na novú verziu RPM.

Ak sa pokúšate o opravu jadra zo zdrojového RPM zdroja RedHat alebo Mandrake pred 2.2.16-8, po použití úplnej opravy VPN masq budete musieť použiť aj nasledujúcu opravu. To opraví dôležitý neúspešný kus. Ak chcete použiť túto opravu:

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

2.2.12 a 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 až 2.2.16-7: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (AU) | FTP Mirror 1 (USA: UT) | FTP Mirror 2 (EU: NL) ]

Nasledujúca oprava je potrebná pre jadro RedHat alebo Mandrake 2.2.16 alebo jadro, na ktorom bola aplikovaná patch VS-Masq (Virtual Server). To zahŕňa jadro dodávané s RedHat 7,0 – ak máte RedHat 7.0 a používate jadro dodané s ním, môžete si je treba túto opravu. Aktualizácia jadra RedHat 2.2.17-14 obsahuje túto opravu, odporúčam vám, aby ste RPM z jadra používali radšej ako zo záplaty a obnovy.
Ak verbose ladenie PPTP ukazuje, že sa používa masquerade adresa (maddr) 0.0.0.0, alebo tcpdump na vašom internetovom rozhraní ukazuje niečo ako:

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

… potom musíte aplikovať túto náplasť. Ak chcete použiť túto opravu:

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) ]

Nezabudnite spustiť ” make modules_install ” po patching a recompiling.

Náplasť VPN Masq bola vynechaná z prvého RPM systému RedHat 2.2.19 kvôli časovým obmedzeniam. Bude to v ďalšom.

Namiesto toho si možno budete chcieť stiahnuť jednoduchý zdroj jadra tarball zo stránky kernel.org .

Oprava chýb pre všetky záplaty jadra 2.2.x.

Všetci používatelia protokolu IPsec masq by mali prevziať a použiť túto opravu opravy chýb a prekompilovať jadro. Táto oprava opravuje chybu vo volaní kfree_skb (), ktorá by mohla viesť k panike jadra pod silným maskovaním.

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

Uplatňovať:

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

Ak sa vyskytnú chyby o tom, že nie je možné nájsť súbor na opravu, skontrolujte, či existuje súbor / usr / src / linux .

2.4. x -súbory jadier

Vďaka Brianovi Kuschakovi <bkuschak na yahoo.com> za poskytnutie záplaty jadra pre PPTP Masquerade pod jadrom 2.4!

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) ]

Jednoducho aplikujte opravu a potom pri konfigurácii jadra povolte v sekcii IPFilter PPQ masquerade.

Zatiaľ nie je k dispozícii žiadna záplata IPsec.

Povedali mi, že nastavenie jedného klienta VPN pomocou IPtables je pomerne jednoduché a nevyžaduje žiadne špeciálne opravy. To môže fungovať pre PPTP aj IPsec.

Nasledujúce je vďaka Joshua Eichorn <[email protected]>. Neskúšal som to sám.

#!/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 masquerade pre PPTP tiež pracuje s predvoleným kódom maškarády. Pridajte nasledujúce pravidlá:

PPTP (1723 / tcp a 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

… kde 192.168.0.5 je adresa IP lokálnej siete servera PPTP. Nemal som žiadne správy týkajúce sa servera IPsec maškarný.

Na prevzatie súborov pomocou Lynx: označte odkaz, stlačte ” d ” (download) a zvoľte “Save to Disk”.
Ak chcete stiahnuť pomocou Netscape Navigator: kliknite pravým tlačidlom myši na odkaz a vyberte “Uložiť odkaz ako …” – ak jednoducho kliknete na odkaz, Navigator inklinuje k poškodeniu súboru záplaty.

Pre skoré jadrá 2.2.x môžete tiež navštíviť stránku Gordona Chaffeeho pre patch 2.2.0x PPTP-Masq .

Konfigurácia maskovania VPN

Najprv by ste mali byť spokojní s prekompilovaním jadra

Po druhé , uistite sa, že máte IP Masquerading skompilovaný do vášho jadra a pracuje správne . Nastavenie samotného maskovania je nad rámec tohto dokumentu a existuje už HOWTO, ktorý tento proces popisuje veľmi podrobne . Ak nemáte pravidelnú maškarnú prácu správne, prosím, kontaktujte ma pre pomoc – najprv si prečítajte HOWTO . (Úspešne som urobil svoj názor?;)
Tiež som napísal GUI wrapper pre 2.0. x príkaz ipfwadm, ktorý uľahčuje nastavenie firewallu a maskovania.

Po tretie , uistite sa, že vaše pripojenie VPN funguje, keď vytočíte svojho ISP priamo z vášho klientskeho systému VPN.

Ak chcete nainštalovať a nakonfigurovať aplikáciu VPN Masquerade, postupujte podľa pokynov uvedených v VPN Masquerade HOWTO , ktorá je k dispozícii na adrese:
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 (pre tlač): [ 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) ]
Zdroj SGML: [ HTTP Mirror 1 (USA: WA) | HTTP Mirror 2 (EU: NO) | HTTP Mirror 3 (AU) ]

Poznámky a iné zaujímavé miesta

Vy nemusíte potrebovať podporu VPN Masquerade ak VPN endpoint je firewall sám o sebe – ak napríklad máte Freese / WAN alebo Klient Linux PPTP nainštalovaný na vašom firewallu. Ak je to tak, nepoužívajte náplasť VPN Masq. To nebude fungovať.

Vy nie potrebovať ipmasqadm alebo ipfwd ak voláte vzdialeného servera VPN cez Masqat brány. Potrebujete ich len v prípade, ak sa za bránou masq nachádza lokálny server VPN .

V závislosti od používaného servera PPTP môžete byť nútení používať konfiguráciu smerovača VPN, ak sa na daný server PPTP chce pripojiť viac ako jeden maskovaný systém. Protokol PPTP špecifikuje iba jedno kontrolné spojenie z daného klientskeho systému a maskovacia brána je klientom, pokiaľ ide o server. Implementácie servera PPTP, ktoré správne dodržiavajú špecifikáciu, neumožnia vytvoriť viac ako jednu reláciu PPTP z krycej brány. Skúste to najskôr, aj keď niektoré nesprávne implementácie PPTP (napríklad v systéme Windows NT) umožňujú viacnásobné prepojenie medzi rovnakými systémami.

Protokol IPsec AH (51 / ip) obsahuje kryptografický kontrolný súčet vrátane IP adries v hlavičke IP. Keďže maškaráda mení tieto adresy IP a kryptografický kontrolný súčet sa nedá prepočítať pomocou brány firewall pre maškarádu, maskované pakety zlyhajú pri testovaní kontrolného súčtu a vzdialená brána IPsec ich vyradí. IPNTP VPN, ktoré používajú protokol AH, preto nemôžu byť úspešne maskované. Prepáč. (ESP s autentifikáciou môže byť maskovaný.)

Tu je patch pre netstat, ktorý pridáva uznanie protokolov ESP a GRE. Pridajte toto anetstat -M bude fungovať znova!

Ak chcete implementovať VPN na báze IPsec na Linuxe, navštívte stránku Linux FreeS / WAN . Toto sa odporúča najmä vtedy, ak uvažujete o nastavení VPN založenej na PPTP medzi dvoma sieťami, ktoré sú za firewallom Linuxu. IPsec je bezpečnejšie a oveľa vhodnejšie ako PPTP.

Navštívte stránku bezpečnostných oznámení spoločnosti Microsoft, kde nájdete dôležitú aktualizáciu zabezpečenia protokolu PPTP pre klientov a servery Microsoft PPTP . Možno vás bude zaujímať aj analýza implementácie protokolu PPTP spoločnosťou Microsoft jedným z najrešpektovanejších členov komunity Crypto. K dispozícii je aj druhá analýza a tretia analýza inými.

K dispozícii je tiež voľne dostupný natívny Linux PPTP klient a PPTP serverový softvér. Všimnite si, že tento softvér nemusí poskytovať šifrovanie: pre záplaty, ktoré pridávajú M $ -kompatibilné šifrovanie a kompresiu do pppd navštívte túto stránku , alebo navštívte túto ftp stránku, kde Paul Cadach <[email protected]> ponúka pppd opravy na podporu MS-CHAP-V1 / V2 a MPPE a implementovať multilink PPP s NT . (Tieto odkazy sú dosť staré. Navštívte stránku PoPToP, kde nájdete aktuálny stav natívneho protokolu Linux PPTP.)

Profitujte vďaka Gordonovi Chaffeeovi za kódovanie a zdieľanie záplaty traceroute, ktorá umožňuje sledovanie prevádzky GRE. Mala by sa ukázať ako neoceniteľná pri riešení problémov, ak je niekde zablokovaná prevádzka GRE. Získajte opravu z:
[ HTTP Mirror 1 | Zrkadlo FTP 1 ]

Oprava pre novšie traceroute_1.4a12 je k dispozícii na http://www.planet.net.au/~neale/debian/traceroute-GRE/

Použil som masqueraded VPN prostredníctvom rôznych inkarnácií tejto náplasti s veľkým úspechom od 7. septembra 1997.

Mám len x86 box na testovanie. Bolo hlásené, že pracuje na systémoch Sparc a PowerPC. Vyžiadajú sa komentáre používateľov na iných architektúrach.

Tieto 2.1.65+ jadra natívne podporuje protokol tunelovania založený na GRE, ale nie podporovať PPTP natívne v žiadnom prípade. Ak si želáte maskovať PPTP, musíte svoje jadro stále opraviť. Viac informácií o jadrách 2.1.xa 2.2.x nájdete v HOWTO .

Náplasť 2.0.x je v konflikte s reťazcami IP Firewall a ipportfw v snahe o opravu konfiguračných súborov jadra. Toto nie je kritické. Viac informácií nájdete v HOWTO .

Áno, viem, že IPsec je peer-to-peer. Písanie tak, že je použiteľný ľuďmi, ktorí používajú koncové body protokolu IPsec v systéme Windows, núti nepresnú terminológiu.

Hľadám zrkadlové lokality. Ak máte webový alebo FTP server, najlepšie s prístupom cez SSH, a nevadí vám, že by ste mali umiestniť niekoľko súborov, napíšte mi poznámku! Ak ma chceš zrkadliť, alebo ma už zrkadlíš, napíš mi poznámku!

Môžete ma kontaktovať na <[email protected]> . Chcel by som si vypočuť vaše pripomienky a návrhy, a najmä vaše problémy s touto náplasťou. Môžete tiež navštíviť aktuálnu verziu tohto dokumentu a pozrieť sa na moju domovskú stránku

Vyhlásenie: Žiadne záruky funkčnosti. Udržujte pracovné kompilované jadro v prípade, že sa to vyhodí.

© 1999-2006 od Johna Hardina. Túto stránku môžete skopírovať, pokiaľ sa obsah nezmení (môžete zmeniť formátovanie tak, aby vyhovovalo vašim stránkam, ak chcete) a odkaz na pôvodnú stránku zostane nedotknutý.