Hlavní navigace

Lokální síť a ADSL

30. 4. 2003
Doba čtení: 6 minut

Sdílet

Rychlejší Internet postavený na technologii xDSL se pomalu roztáčí i v naší kotlině. V článku si popíšeme, jak rychle a bezpečně připojit lokální síť (LAN) k rychlému Internetu pomocí linuxového firewallu a dojde i na scriptík pro automatické přihlášení na dashboardu.

Úvod

O prvních dojmech a ‚ruční‘ konfiguraci ADSL na Linuxu v prostředí Českého Telecomu se už v českém virtuálním světě něco málo napsalo. Do dějin českého linuxového ADSL vejde rootovskýčlánek Tomáše Krauseho a mikrohowto Honzy Panocha. Následující článek má snahu na tyto zkušenosti navázat a rozšířit je o popis připojení LAN pomocí ADSL tak, aby konfigurace a instalace byla pro uživatele co nejjednoduší a nejrychlejší. Zároveň chceme brát ohled na to, aby připojený počítač či malá lokální síť byla co nejvíce zabezpečená proti útoku zvenčí. Jelikož takové útoky lze, především u připojení s pevnou IP adresou, více než očekávat.

Český Telecom (ČTc), často skrze poskytovatele připojení k Internetu (ISP), pronajímá koncovým uživatelům ADSL modem (router) Alcatel Speedtouch Home či Pro; zda Home, či Pro, závisí na typu balíčku připojení. V následujícím předpokládám, že máme pronajatý ADSL Modem s ethernetovým interfacem. Tato zařízení jsou nastavena jako PPPoA-to-PPTP relay, tedy pro připojení k vnitřní síti ČTc se užije právě tunelovacího protokolu PPtP.

Linuxový router

K propojení LAN s Internetem je velmi užitečné se připojovat pomocí firewallu, který zároveň může plnit roli webové proxy cache. Hotovou černou skříňku (firewall, router) vám váš ISP či ČTc jistě rád pronajme či prodá. Hotových linuxových distribucí pro funkci firewalu a routeru existuje celá řádka. Já již na několika různých místech druhým rokem užívám SmoothWall GPL. Součástí distribuce tohoto příjemného firewallu však není PPtP klient. Proto jsem se, když došlo na ADSL i na jednom z mých pracovišť, obrátil o jedny dveře dále, tedy k GPL distribuci, která se od stále více komercializovaného SmootWallu oddělila, tedy k IPCopu.

O instalaci IPCopa vyšel na rootu dvoudílný článek IPCop – strážce vaší sítě I. a  II., proto se jí zde nebudeme zabývat. Jen připomeneme, že terminologie SmoothWallu a IPCopu užívá označení ‚RED interface‘ pro rozhraní, které je nechráněné, obrácené směrem k Internetu. Jako ‚GREEN interface‘ je označováno rozhraní, které směřuje do vnitřní sítě a ‚ORANGE interface‘ je rozhraní, které míří do demilitarizované zóny (DMZ). Pro účely tohoto článku budeme předpokládat, že zatím nehodláme užít DMZ. Máme tedy jen RED ethernetové rozhraní, které je spojené s ADSL modemem a GREEN ethernetové rozhraní s IP 192.168.1.250/24 napojené na vnitřní síť.

IPCop je živý projekt. V čase psaní tohoto článku se na webu IPCopu objevila verze 1.3.0, a proto v dalším budeme předpokládat, že užijete právě tuto verzi, přičemž na případné rozdíly oproti IPCopu verze 1.2.0 bude upozorněno.

No a teď se rovnou podíváme na to, jakým způsobem pomocí IPCopu rozběhneme ADSL připojení k Síti.

Konfigurace ADSL připojení na IPCop boxu

K IPCopu se přihlásíme jako uživatel setup a v menu zvolíme‚Networ­king‘->‚Network configuration type‘->‚GREEN + RED‘.

Network Configuration


V ‚Networking‘->‚Drivers and card assignments‘ přiřadíme rozhraní RED vhodný ovladač příslušné síťové karty. Předpokládáme, že ethernetové GREEN rozhraní bylo nakonfigurováno během instalace. V dalším budu předpokládat, že vaše vnitřní IP síť je 192.168.1.0/24 a GREEN interface je nastaveno na 192.168.1.250/24

Poté je nutné v ‚Networking‘->‚Address settings‘->‚RED‘ nastavit IP parametry RED rozhraní. Nejprve nastavíme typ rozhraní na PPTP (viz obr.) a poté IP adresu na např. 10.0.0.1/255.255­.255.0. Tato adresa je odvozena z faktu, že defaultní nastavení IP adresy na straně dodaného Alcatelu Speedtouch je 10.0.0.138.

RED interface


Konfigurace parametrů DNS a defaultní brány v menu ‚Networking‘->DNS and Gateway settings' není nutné nastavovat, anobrž se dohodne protokolem PPP při navázání spojení. V každém případě doporučuji nenastavovat defaultní bránu, její nastavení na špatnou hodnotu by mohlo později působit nepříjemné potíže (vím o čem píši). Program setup tedy můžeme ukončit.

Nyní se připojme z vnitřní GREEN sítě webovým prohlížečem k IPCopu (tedy na URL https://192.168­.1.250:445/). Pak se kliknutím na položku ‚Dialup‘ v levém menu dostaneme na formulář ‚ppp settings‘, kde vytvoříme nový profil našeho připojení. Nejprve vyplníme název profilu do kolonky ‚Profile name‘. Já jsem zvolil název našeho ISP, tedy ADSL-IPEX. Dále nastavíme:

Tabulka č. 420
Interface: PPTP
Persistent connection: ano
Connect on IPCop restart: ano
Max Retries: 10 či 0
Idle Timeout: 0
Username 123456789
(tedy přesněji telefonní číslo ADSL přípojky)
Password 123456789 (znovu totéž telefonní číslo)
Method: PAP & CHAP

PPP setings


V případě problémů s automatickým přidělením nastavení DNS během připojení využijeme navíc nastavení ‚Manual‘ a nastavíme IP adresy takových DNS serverů, které nám doporučil náš ISP.

Dále v sekci ‚Additional PPTP settings‘ lze v kolonce ‚Router IP Address‘ nastavit IP adresu modemu (tedy IP adresu, kterou užije PPtP spoj). V kolonce ‚Phonebook entry‘ lze specifikovat položku v seznamu modemu, která se má užít pro náš typ připojení. Tyto hodnoty je třeba měnit jen v případě, že jsme si Alcatel Speedtouch překonfigurovali na hodnoty odlišné od defaultních, tedy když IP adresa modemu není 10.0.0.138a neužíváme položku RELAY_PPP1 jeho phonebooku.

Připojujeme

Po vyplnění formuláře klikneme na tlačítko ‚Save‘, poté v menu na levé straně zvolíme ‚Home‘ a kliknutím na tlačítko ‚Connect‘ se pokusíme připojit k síti ČTc.

Connect


Půjde-li vše, jak má, naběhne pptp spoj, ppp nastaví rozhraní pppX (nespíše ppp0) a upraví routovací tabulku. Celý proces připojování je dobré sledovat na konzolových výpisech (dvanácté konzoli IPCopu, ALT-F12) a nebo na stránce ‚Information‘‚Logs‘

webového rozhraní IPCopu.

ppp0  Link encap:Point-to-Point Protocol
      inet addr:172.21.0.5  P-t-P:172.21.0.1  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:114 errors:0 dropped:0 overruns:0 frame:0
      TX packets:121 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:10

Po spojení se na stránce ‚Home‘ IPCopu začne odpočítávat čas právě navázaného spojení:

čas právě navázaného spojení


V případě, že se nedaří, překontrolujte údaje nastavené ve formuláři‚Dialup->ppp settings‘. Za pozornost stojí nastavení jména a hesla, kdy obé jest devítimístné číslo přípojky, pro kterou je dané ADSL realizováno. Předtím je dobré se z konzole IPCopu přesvědčit, zda se lze dopingnout na 10.0.0.138, tedy zda je dobře nastavené a funkční RED ethernetové propojení mezi IPCopem a modemem.

Připojení na dashboard

No a nyní už jen z libovolného stroje vnitřní sítě nasměrujete www prohlížeč na stránku Dashboardu ČTc (http://172.16­.255.6), přihlásíte se k síti vašeho ISP a rychlé a bezpečné připojení LAN do Internetu by mělo být skutečností. Avšak hrátky s dashboardem brzy omrzí a záhy budeme pokoukávat po automatizaci celého procesu napojení na síť telecomu a připojení na dashboard ihned po nahození spojení.

Na IPCopu je naistalován Perl, a tak pro automatické připojení k dashboardu bude dobré užít nějakého perlovského scriptu. Jelikož jsem žádný takový neobjevil, napsal jsem na základě jiného perlového kódu skript dashlogin.pl, který užívá HTTP metody POST pro zaslaní formulářových dat bez nutnosti užití (a instalace) modulů pro psaní HTTP klientů.

Ve scriptu dashlogin.pl je nutné upravit konfigurační sekci tak, aby přihlašovací jméno, heslo a typ služby odpovídaly hodnotám, které vám sdělil váš poskytovatel připojení. Dále můžeme upravit URL dashboardu. (Uživatelé IPCopu 1.2.0 pozor, parametry připojení směrují na cache, u IPCopu 1.3.0 směrují přímo na dashboard.) Po úpravě může konfigurace ve scriptu vypadat následovně:

root_podpora

...
### Parametry ADSL
my $uzivatel= "ah12345";           # vase dashboard jmeno
my $heslo   = "87654321";          # heslo pro dashboard
my $sluzba  = "xxxxxx-Basic";      # typ sluzby;  je treba
               # zjistit pri pripojeni k dashboardu
### URL dashboardu CTc

my $dashboard_url = "http://172.16.255.6/serviceLogon";
### Parametry pripojeni na dashboard
### pro v IPCop 1.2.0
# my $proxy_host = "192.168.1.250";  # IP adresa IPCopu
# my $proxy_port = "800";            # port jeho proxy cache
### pro v IPCop 1.3.0
my $proxy_host = "172.16.255.6";# IP adresa dashboardu
my $proxy_port = "80";          # port pro pripojeni k dashboardu
...

Script uložíme na IPCop jako /etc/ppp/dashlo­gin.pl. Dále na IPCopu upravíme script /etc/ppp/ip-up tak, že na jeho konec vložíme řádek:

system('/etc/ppp/dashlogin.pl');

Když se nyní na stránce ‚Home‘ IPCopu odpojíme (tlačítko ‚Disconnect‘) a znovu připojíme (tlačítko ‚Connect‘), po několika vteřinách, již bez obtíží s dashboardem, můžeme webové surfy z naší LAN, pod dozorem Tuxe v IPCopu, vesele prohánět po vlnách nul a jedniček sítě sítí.

Byl pro vás článek přínosný?

Autor článku