Portál AbcLinuxu, 4. května 2025 19:20
Řešení pro dialup
Články
-
Řešení pro dialup
Připojujete se na Internet přes modem? Pak si přečtěte tento návod, který vám
ukáže komplexní řešení připojení na síť, DNS, emailu, proxy i offline prohlížení.
1. Úvodné informácie
Tento dokument je šírený v súlade s licenciou GNU Free Documentation Licence.
Téma popisovaná v tomto dokumente vyžaduje určité znalosti operačného systému
GNU/Linux, preto je viac než odporúčané preštudovať si literatúru uvedenú na
začiatku tej-ktorej kapitoly.
2. Príprava linuxového kernelu
Pokiaľ vytvárate vlastné jadro, je nutné do neho zakompilovať podporu protokolu
PPP. Ak ale používate jadro dodané v distribúcii, môžete túto kapitolu
preskočiť. Tieto jadrá totiž podporu PPP už obsahujú.
Viď tiež: /usr/src/linux/README, The Linux Kernel HOWTO
2.1. Konfigurácia
Aby bolo možné nadviazať spojenie s iným počítačom cez modem pripojený na
sériovom porte pomocou protokolu PPP, Linuxový kernel musí obsahovať nasledovné
súčasti:
- Networking -- základná podpora pre siete
- TCP/IP -- protokol používaný na Internete
- Sériový port -- cez tento port komunikujú interné aj externé modemy
- PPP -- protokol, ktorý zabezpečí nadviazanie spojenia cez sériovú linku, teda modemom
- Nainštalujte zdrojové kódy kernelu z inštalačného CD. Nachádzajú sa v
adresári /usr/src/linux/. Zadajte v tomto adresári ako root príkaz
sh# make menuconfig
Pohybujete sa hore-dole po položkách pomocou šípok, takisto vpravo-vľavo
po tlačítkach. <Select> mení nastavenie aktívnej položky, <Exit> pre návrat na
predchádzajúcu ponuku, <Help> zobrazí pomocný text pre aktuálnu položku.
-
Nastavte nasledovné voľby (ak nie sú):
General setup
<*> Networking support
Networking options
<*> Packet socket
[*] TCP/IP networking
Network device support
[*] Network device support
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
Character devices
<*> Standard/generic (8250/16550 and compatible UARTs) serial support
- Opakovaným zadávaním <Exit> opustíte program. Na otázku Do you wish to
save your new kernel configuration? odpovedzte <Yes>.
- Zmeňte v súbore /usr/src/linux/Makefile riadok
#export INSTALL_PATH=/boot
na
export INSTALL_PATH=/boot/ppp
Na začiatku súboru /usr/src/linux/Makefile nastavte aj premennú EXTRAVERSION:
EXTRAVERSION = -ppp
2.2. Kompilácia a inštalovanie
Zadávajte postupne príkazy:
sh# mkdir /boot/ppp
sh# make dep
sh# make bzImage
sh# make modules
sh# make modules_install
sh# make install
-
Do súboru /etc/lilo.conf vložte blok:
image=/boot/ppp/vmlinuz
label=ppp
root=/dev/hda3 (1)
read-only
(1) Namiesto /dev/hda3 vložte meno zariadenia, na ktoré sa montuje
oddiel /.
Po zadaní príkazu mount dostanete výpis napríklad:
/dev/hda1 on / type reiserfs (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,mode=0620)
V riadku, ktorý obsahuje reťazec on / je uvedené zariadenie /dev/hda1,
teda toto uvediete aj do lilo.conf.
- Spustite príkaz
sh# lilo
- Reštartujte počítač a zvoľte kernel ppp.
3. Nastavenie adries DNS serverov
Viď tiež: bind, DNS HOWTO, Linux Networking HOWTO
3.1. DNS u providera
Ešte pred tým, ako sa pripojíte na Internet, je dôležité nastaviť v niekoľkých
súboroch správne hodnoty IP adries DNS serverov vášho providera.
Nasledovné súbory musia obsahovať aspoň uvedené riadky (pre ostatné voľby viď
man stránky).
/etc/resolv.conf:
nameserver 195.146.128.60 (1)
nameserver 195.146.134.59
(1) Uveďte IP čísla, ktoré ste obdržali od svojho providera, DNS1 a DNS2.
/etc/host.conf:
order hosts,bind
/etc/nsswitch.conf:
hosts: files dns
3.2. Caching only DNS
Doplnkom k DNS serverom u providera môže byť caching only DNS server na lokálnom
systéme. Tu sa budú ukladať všetky doteraz nájdené IP adresy. Pri ďalšej
požiadavke na adresu servera, ktorú už máte uloženú, ušetríte čas na spojenie s
DNS serverom u ISP, na ktorom sa táto adresa nachádza.
Niektoré distribúcie GNU/Linuxu obsahujú balík caching-only-dns, ktorý si stačí
nainštalovať a už je všetko hotové. Ak taký balík nemáte, čítajte ďalej.
- Nainštalujte balík bind (verzia 8 a vyššia).
- Upravte/vytvorte súbory nasledovne:
/etc/named.conf:
options {
directory "/var/named";
auth-nxdomain no;
query-source port 53;
forward first;
forwarders {
195.146.128.60; (1)
195.146.134.59;
};
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "zone/0.0.127";
notify no;
};
(1) Opäť platí, že treba vložiť čísla DNS serverov, ktoré ste obdržali od
providera.
/var/named/zone/0.0.127:
$TTL 1H30M
@ IN SOA localhost.localdomain. root.localhost.localdomain. (
2001101106 ; Serial
8H ; Refresh
2H ; Retry
1W ; Expire
1D) ; Minimum TTL
NS localhost.localdomain.
1 PTR localhost.
Číslo Serial vytvoríte z aktuálneho dátumu, pridaním dvojciferného
čísla. Toto musíte pri každej zmene súboru 0.0.127 zvýšiť.
-
Do súboru /etc/resolv.conf vložte nasledovný riadok a dbajte, aby bol
jediným, ktorý sa začína slovom nameserver:
nameserver 127.0.0.1
Ak chcete používať caching-only DNS server, nezabudnite zo súboru
/etc/ppp/options odstrániť voľbu usepeerdns. Inak si pppd po nadviazaní spojenia
vyžiada IP adresy DNS serverov od providera a tie sa budú používať priamo.
4. Pripojenie na Internet
Viď tiež: Serial HOWTO, Modem-HOWTO, Linux PPP HOWTO, ISP-Hookup-HOWTO
Existuje niekoľko spôsobov, ako v Linuxe nadviazať PPP spojenie, ale program
wvdial je inteligentným nástrojom, ktorý urobí všetko za vás. Problém je, že
tento program som na inštalačnom CD Mandrake nenašiel, takže si ho musíte ešte
predtým niekde stiahnuť (ak ho nemáte ani vy). Bohužiaľ...
Okrem toho potrebujete program pppd, ale ten sa nachádza prakticky v každej
distribúcii.
Pravda je taká, že môj provider má ppp server nastavený tak, že klasické skripty
z adresára /etc/sysconfig/network-scriptssa skončia neúspešne s chybou vykonania
skriptu na nadviazanie spojenia. wvdial nejakým zázrakom dokáže spustiť pppd v
tom správnom čase a to je ďalší dôvod, prečo používať toto riešenie.
- Pripojte a zapnite modem.
-
Spustite príkaz
sh# wvdialconf /etc/wvdial.conf
- V súbore /etc/wvdial.conf upravte riadky na nasledovný tvar:
Phone = 01919
Username = prihlasovacie_meno(1)
Password = heslo
(1) Prihlasovacie meno a heslo nájdete na papiery, ktorý ste dostali u
providera, v časti prístup.
- Spustite príkaz
sh# wvdial
Pri overovaní užívateľského mena a hesla sa môže vypísať pár chybových hlásení
typu Authentification failure, ale vwdial aj tak spustí pppd a nakoniec to dobre
dopadne. No, a teraz by mali okolo vás začať chodiť všetky tie ženské v
červenom...
wvdial zostane spustený v popredí a ak ho ukončíte (Ctrl-C), automaticky zruší
spojenie a položí telefón.
5. Proxy server a webovské prehliadače
Adresa proxy servera je napríklad proxy.provider.sk:3128. Túto adresu vložte do
konfiguračných súborov svojich internetovských klientov, ktoré to vyžadujú,
alebo ktoré umožňujú využívať služby proxy servera (prehliadače, ftp a iné
klienty).
5.1. Lynx
V súbore /etc/lynx.cfg:
http_proxy:http://proxy.provider.sk:3128/
https_proxy:http://proxy.provider.sk:3128/
finger_proxy:http://proxy.provider.sk:3128/
Ak máte vlastný lokálny webserver (napr. www.localhost.bogus), vložte aj riadok
no_proxy:www.localhost.bogus
5.2. Mozilla/Netscape
Choďte doradu v menu a nastaveniach
Edit->Preferences...->Advanced->Proxies->Manual proxy configuration
nastavte v kolónkach HTTP, FTP a SSL/Security na proxy.provider.sk a 3128.
6. Offline browsovanie
Vynikajúce služby pre ľudí pripojených cez modem poskytuje program WWWOFFLE,
ktorý nájdete na adrese
www.gedanken.demon.co.uk/wwwoffle.
- WWWOFFLE ponúka niekoľko spôsobov, ako ušetriť peniaze na pripojenie. V
prvom rade, stránky, ktoré si na internete prezeráte, zostanú k dispozícii aj po
odpojení. Umožňuje tiež zostaviť zoznam stránok, ktoré si chcete prezrieť, a po
pripojení sa tieto automaticky stiahnu, spolu so stránkami, na ktorých odkazy
ste klikli počas prezerania už stiahnutých.
- Po nainštalovní z binárnej distribúcie alebo zo zdrojového kódu stačí v
konfiguračnom súbore /var/spool/wwwoffle/wwwoffle.conf v časti Proxy nastaviť
nasledovne:
Proxy
{
proxy = proxy.provider.sk:3128
}
- Ako root spustite démon
wwwoffled -c /var/spool/wwwoffle/wwwoffle.conf
- V konfigurácii webovských prehliadačov nastavte ako proxy server pre http,
https, ftp a finger meno vlastného počítača, s číslom portu 8080.
- Po pripojení na internet uveďte WWWOFFLE do online režimu príkazom
wwwoffle -online
- Po odpojení zase naspäť do režimu offline
wwwoffle -offline
K zoznamom stiahnutých stránok, stránok označených na stiahnutie, alebo stránok,
ktoré sa majú obnoviť pri každom pripojení, sa dostanete jednoduchým zadaním
http://localhost:8080/index/.
Konfigurácia WWWOFFLE sa dá takisto robiť priamo z prehliadača, po zadaní adresy
http://localhost:8080/control/.
7. Elektronická pošta
Viď tiež: postfix, fetchmail, The Linux Electronic Mail Administrator HOWTO, The Linux Mail User HOWTO
7.1. Zasielanie pošty
Nainštalujte si balík postfix. Odporúčam postfix pre výrazne jednoduchšiu konfiguráciu oproti
napr. sendmailu. Ak používate iný MTA, konfigurácia bude odlišná, ale cieľ je ten
istý -- posielať všetku poštu cez providera a zariadiť pred odoslaním prepísanie adresy
odosielateľa z lokálneho mena na adresu v tvare <meno_uzivatela@provider.sk>.
- Keďže váš počítač nemá vlastné meno ani stálu IP adresu, musíme o
zasielanie pošty požiadať server nášho providera. V súbore /etc/postfix/main.cf
vložte alebo upravte riadok na tvar:
relayhost = mail.provider.sk
To zaistí, že všetka pošta, ktorú pošlete von, pôjde najskôr na
mail.provider.sk a ten ju potom sám rozošle.
- Zasielať poštu možno len s existujúcou doménou zasielateľa v hlavičke
správy. Teda treba prepísať túto adresu z vášho mena na lokálnom stroji na
adresu, ktorú máte priradenú od providera.
Ak je login užívateľa, ktorý posiela poštu z vášho lokálneho stroja, napr.
hiraga a adresa (opäť z papiera od providera) napr.
potom v adresári /etc/postfix/ vytvorte súbor sender_canonical s obsahom:
hiraga peter.kovac@provider.sk
Ak máte vytvorených viac užívateľov, spod ktorých chcete posielať poštu,
alebo majú priradenú inú adresu u providera, vložte pre každý takýto prípad
ďalší riadok podobného tvaru.
- Spustite príkaz
sh# postmap /etc/postfix/sender_canonical
Tento príkaz musíte spustiť po každej zmene súboru sender_canonical.
- Do súboru /etc/postfix/main.cf vložte (alebo upravte existujúci) riadok
sender_canonical_maps = hash:/etc/postfix/sender_canonical
- Reštartujte (alebo spustite) postfix a môžete posielať poštu. Samozrejme,
tá sa odošle, len keď budete pripojení. Po nadviazaní PPP spojenia môžete zadať
príkaz
sh$ sendmail -q
a všetky zatiaľ neodoslané správy sa pošlú. To je dobre, lebo môžete dve
hodiny písať listy, ale odošlete ich za tri minúty (= jeden impulz).
7.2. Prijímanie pošty
Nainštalujte si balík fetchmail, ktorý slúži na sťahovanie pošty zo vzdialeného
poštového servera.
- Vo svojom domovskom adresáry vytvorte súbor .fetchmail s takýmto obsahom:
poll mail.provider.sk;
protocol pop3;
username "účet (schránka)";(1)
password "heslo";
Položky username a password naplňte názvom vášho účtu a heslom z výpisu
objednaných služieb (časť pošta).
-
Súboru dajte práva 600 príkazom
sh$ chmod u=rw,go= ~/.fetchmailrc
-
Vždy po pripojení na Internet jednoducho spustite príkaz
sh$ fetchmail
a nové správy sa stiahnu z poštového servera.
8. Automatizovanie úloh
Pri pripojení zvyčajne potrebujete vykonať niekoľko úloh, ako odoslať a stiahnuť
poštu, uviesť WWWOFFLE do stavu online, atď. Pri odpojení zase uviesť WWWOFFLE
do režimu offline.
Program pppd po nadviazaní spojenia spustí skript /etc/ppp/ip-up a pri odpojení
skript /etc/ppp/ip-down. Do týchto súborov uveďte príkazy, ktoré sa majú pri
týchto príležitostiach vykonať.
Príklad 1. /etc/ppp/ip-up
#!/bin/sh
# /etc/ppp/ip-up
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
# WWWOFFLE HTTP proxy server online
if [ -x /usr/local/bin/wwwoffle ]; then
/usr/local/bin/wwwoffle -online -c /var/spool/wwwoffle/wwwoffle.conf
fi
# WWWOFFLE HTTP proxy server fetch
if [ -x /usr/local/bin/wwwoffle ]; then
/usr/local/bin/wwwoffle -fetch -c /var/spool/wwwoffle/wwwoffle.conf &
fi
# Odoslať poštu
if [ -x /usr/sbin/sendmail ];then
/usr/sbin/sendmail -q 2>/dev/null >/dev/null &
fi
# Stiahnuť poštu pre užívateľa
if [ -x /usr/bin/fetchmail ]; then
/bin/su hiraga -c'/usr/bin/fetchmail' &>/dev/null &
fi
exit 0
Príklad 2. /etc/ppp/ip-down
#!/bin/sh
# /etc/ppp/ip-down
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
# WWWOFFLE HTTP proxy server offline
if [ -x /usr/local/bin/wwwoffle ]; then
/usr/local/bin/wwwoffle -offline -c /var/spool/wwwoffle/wwwoffle.conf
fi
exit 0
Další články z této rubriky
Diskuse k tomuto článku
12.3.2002 19:10
Pavel.Vondricka@ff.cuni.cz
A co dial-up on demand?
13.3.2002 14:51
libor klepac
clanek dobry
15.3.2002 08:50
Radek Cervinka
wvdial a MDK
20.3.2002 08:35
Ondra
wvdial
14.8.2002 20:10
Kaso
Problem s dial-upom
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.