Diald.pl

Trochę ciekawostek – na weekend (czego to ludzie nie wymyślą ...


Przyk³ad ustawienia demona "diald"

Autor: Harish Pillay,
h.pillay@ieee.org
Wersja polska: Bartosz Maruszewski
B.Maruszewski@jtz.org.pl
v1.0, 30 Sierpnia 1997

Dokument ten ma s³u¿yæ jako przyk³ad ustawienia, którym pos³ugiwa³em
siê na wielu maszynach i które umo¿liwia automatyczn± instalacjê diald
podczas startu systemu. Kiedy pojawia siê ¿±danie po³±czenia,
automatycznie wybierany jest numer mojego ulubionego dostawcy
Internet-u tutaj w Singapurze - Pacific Internet. Wielkie dziêki
dla Erica Schenka za ten super program - diald.
Dokument ten zosta³ napisany w standardzie ISO-8859-2. Jego oryginalna
wersja znajduje siê pod adresem
ftp.icm.edu.pl.

1. Opis dzia³ania diald.



1.1 /etc/rc.d/rc.local




#! /bin/sh
# Put any local setup commands in here
# Running gpm
echo "Running gpm..."
gpm -t ms &

# starting innd
/etc/rc.d/rc.news

# starting CERN httpd
echo "Starting CERN httpd with proxy and caching."
/usr/local/bin/httpd

# loading modules that are needed
/etc/rc.d/rc.modules

# starting diald
echo "Starting diald daemon to Pacific Internet ..."
cd /usr/lib/ppp
/usr/lib/ppp/diald.pacific.internet


1.2 /usr/lib/ppp/diald.pacific.internet




/usr/sbin/diald /dev/ttyS1 /dev/ttyS1 lock debug 20 -m ppp local 127.0.0.2 \
remote 127.0.0.3 defaultroute modem crtscts \
connect "chat -v -f /usr/lib/ppp/pppchat.pi" \
dynamic -- debug noipdefault


1.3 /usr/lib/ppp/pppchat.pi




ABORT "NO CARRIER"
ABORT BUSY
"" ATZ OK
ATm1s50=255s111=0DT1-800-555-1212
CONNECT ""
login MÓJLOGIN
ssword MOJEHAS£O


1.4 Prosty skrypt do PPP.




Odpal minicom-a.
Po³±cz siê ze swoim dostawc± Internet-u.
Zainicjuj PPP na drugim koñcu.
Zawie¶ minicom-a (ALT-A-J).
Wykonaj nastêpuj±cy skrypt.



#!/bin/sh
# Ustaw PPP na ¶lepo - skrypt o nazwie blind.ppp

DEVICE=ttyS1
(
stty 38400 -tostop
pppd -detach debug noipdefault defaultroute mru 1500 /dev/$DEVICE &
exit 0
) /dev/$DEVICE


1.5 Mój plik /etc/diald.conf (nie zmieniony od instalacji dystrybucji)




# Jest to do¶æ skomplikowana kombinacja regu³ filtruj±cych.
# (S± to regu³y, których u¿ywam osobi¶cie)
#
# Podzieli³em te regu³y na 4 sekcje:
# pakiety TCP, pakiety UDP, pakiety ICMP i na koñcu regu³y dla reszty.
#------------------------------------------------------------------------------
# Regu³y dla pakietów TCP
#------------------------------------------------------------------------------
# Ogólny komentarz dotycz±cy zestawu regu³:
#
# Ogólnie, jako znacz±ce do timeout-ów, chcieliby¶my traktowaæ tylko
# pakiety zawieraj±ce dane na ³±czu TCP. Dlatego spróbujemy ignorowaæ
# pakiety bez danych. Poniewa¿ najkrótszy mo¿liwy nag³ówek pakietu
# TCP to 40 bajtów, wiêc ka¿dy pakiet o d³ugo¶ci 40 bajtów nie mo¿e
# zawieraæ danych. W ten sposób mo¿emy przeoczyæ puste pakiety (w
# nag³ówku IP mog± znajdowaæ siê opcjonalne informacje na temat
# routing-u i inne dodatkowe informacje), ale powinni¶my dostaæ
# wiêkszo¶æ z nich. Zauwa¿, ¿e nie chcemy odfiltrowywaæ pakietów z
# wyzerowanym polem "tcp.live", poniewa¿ u¿yjemy ich pó¼niej, aby
# przyspieszyæ roz³±czenia na niektórych po³±czeniach TCP.
#
# Chcemy tak¿e byæ pewni, ¿e pakiety WWW s± aktywne, nawet je¶li gniazdo TCP
# jest zamkniête. Robimy to poniewa¿ WWW nie utrzymuje otwartych
# po³±czeñ jak ju¿ dane zostan± przetransportowane, i by³oby
# denerwuj±ce ci±g³e inicjowanie i zamykanie po³±czenia jak tylko
# dostaniesz jaki¶ dokument.
#
# Poza WWW TCP jest najczê¶ciej u¿ywane do d³ugo¿ywotnych po³±czeñ,
# które jak ju¿ zgin±, to znaczy, ¿e ich nie potrzebujemy. Nie
# koniecznie chcemy czekaæ 10 minut a¿ po³±czenie zostanie zamkniête
# je¶li nie mamy uruchomionych ¿adnych telnet-ów czy rlogin-ów, tak
# wiêc chcemy przyspieszyæ timeout na po³±czeniu TCP, które zosta³y
# zamkniête. Zrobimy to poprzez przechwytywanie pakietów, które nie
# maj± ustawionej flagi "live".
#
# --- w³a¶ciwy pocz±tek zestawu regu³ ---

# Na inicjacjê po³±czenia dajemy tylko 15 sekund. Ca³y pomys³ polega tu
# na tym, ¿e trzeba siê liczyæ z mo¿liwo¶ci±, i¿ sieæ na drugim koñcu
# nie bêdzie dzia³aæ. W tym przypadku nie chcesz przecie¿ dawaæ 10
# minut na po³±czenie. Poni¿sz± regu³± dajemy w³a¶nie po³±czeniu owe
# 15 sekund czasu. Je¶li sieæ z drugiej strony dzia³a, to w ci±gu 15
# sekund otrzymamy odpowied¼, która bêdzie zawiera³a jakie¶
# dane. Je¶li w twoim przypadku sprawia to problemy, bo np.: masz
# wolne po³±czenie czy d³ugi czas odpowiedzi, to mo¿esz zwiêkszyæ
# timeout lub po prostu usun±æ tê regu³ê.
accept tcp 15 tcp.syn

# Nie podtrzymuj po³±czenia je¶li przychodz± pakiety do named-a
ignore tcp tcp.dest=tcp.domain
ignore tcp tcp.source=tcp.domain

# (Oj! SCO telnet zaczyna od wysy³ania pustych sygna³ów "SYN" i
# otwiera po³±czenie tylko w przypadku je¶li otrzyma odpowied¼. Jeny...)
accept tcp 5 ip.tot_len=40,tcp.syn

# Nie podtrzymuj po³±czenia je¶li pakiety s± puste (oprócz pustych SYN-ów)
ignore tcp ip.tot_len=40,tcp.live

# Upewnij siê, ¿e transfer http podtrzymuje po³±czenie przez 2 minuty,
# nawet po zakoñczeniu.
# UWAGA: W pliku /etc/services mo¿e nie byæ definicji
# serwisu tcp dla www, w którym to przypadku powiniene¶ zakomentowaæ
# dwie poni¿sze linie, albo zdobyæ nowszy plik /etc/services. W
# sprawie nowego /etc/services zobacz FAQ.
accept tcp 120 tcp.dest=tcp.www
accept tcp 120 tcp.source=tcp.www

# Je¶li po³±czenie nie jest ju¿ aktywne, spróbujemy szybko je
# zamkn±æ. Zauwa¿, ¿e je¶li po³±czenie jest ju¿ "zdown-owane", to
# zmiana stanu nie spowoduje jego przywrócenia.
keepup tcp 5 !tcp.live
ignore tcp !tcp.live

# po danych ftp albo po³±czeniu ftp mo¿na siê spodziewaæ do¶æ czêstego
# ruchu
accept tcp 120 tcp.dest=tcp.ftp
accept tcp 120 tcp.source=tcp.ftp

# UWAGA: ftp-data nie jest zdefiniowane w pliku /etc/services
# dostarczanego z najnowsz± wersj± NETKIT, wiêc to zakomentowa³em.
# Je¶li chcesz to zdefiniowaæ, to dodaj poni¿sz± liniê do
# /etc/services
# ftp-data 20/tcp
# i odkomentuj dwie nastêpne linie
#accept tcp 120 tcp.dest=tcp.ftp-data
#accept tcp 120 tcp.source=tcp.ftp-data

# Je¶li nie wy³apiemy tego wcze¶niej, to daj po³±czeniu 10 minut.
accept tcp 600 any

# Regu³y dla pakietów UDP
#
# ¯±dania dla domeny bêdziemy odrzucaæ od razu poniewa¿ chcemy, ¿eby
# one tylko podnios³y po³±czenie, a nie trzymaæ je przez d³ugi czas.
# Robimy tak poniewa¿, sieæ by³aby inicjowana przy ka¿dym odwo³aniu do
# biblioteki resolvera (o ile nie trzymasz wszystkich swoich czêsto u¿ywanych
# adresów w /etc/hosts, w którym to przypadku odkryjesz jeszcze inne
# problemy.)
# Zauwa¿, ¿e nie powiniene¶ ustawiaæ mniejszego timeout-u ni¿
# spodziewany czas odpowiedzi twojego serwera DNS. W innym przypadku
# kiedy inicjacyjne po³±czenie jest ju¿ ustawione mo¿e siê pojawiæ
# wiêksze opó¼nienie ni¿ to pomiêdzy inicjacyjn± seri± pakietów zanim
# jakikolwiek pakiet, który podtrzymuje po³±czenie przejdzie przez po³±czenie.

# Nie ustawiaj po³±czenia dla rwho
ignore udp udp.dest=udp.who
ignore udp udp.source=udp.who
# Nie ustawiaj po³±czenia dla RIP
ignore udp udp.dest=udp.route
ignore udp udp.source=udp.route
# Nie ustawiaj po³±czenia dla NTP czy timed.
ignore udp udp.dest=udp.ntp
ignore udp udp.source=udp.ntp
ignore udp udp.dest=udp.timed
ignore udp udp.source=udp.timed
# Nie ustawiaj po³±czenia dla ¿±dañ domeny pomiêdzy dwoma dzia³aj±cymi named-ami
ignore udp udp.dest=udp.domain,udp.source=udp.domain
# Ustaw po³±czenie je¶li pojawi siê ¿±danie domeny z innego miejsca
# ni¿ named
accept udp 30 udp.dest=udp.domain
accept udp 30 udp.source=udp.domain
# To samo dla rozg³aszania netbios-ns
# UWAGA: w pliku /etc/services serwis netbios-ns mo¿e nie byæ
# zdefiniowany - wtedy powiniene¶ zakomentowaæ 3 poni¿sze linie
ignore udp udp.source=udp.netbios-ns,udp.dest=udp.netbios-ns
accept udp 30 udp.dest=udp.netbios-ns
accept udp 30 udp.source=udp.netbios-ns
# Nie utrzymuj po³±czenia dla transferów routed i gated
ignore udp tcp.dest=udp.route
ignore udp tcp.source=udp.route
# Wszystko inne dostaje 2 minuty czasu
accept udp 120 any

# Wszystkim pakietom, których nie objê³y poprzednie zasady daj 30
# sekund ¿ycia
accept any 30 any


1.6 Mój plik diald.defs (nie zmieniony od instalacji dystrybucji)




# Definicja domy¶lnych regu³ dla protoko³ów
prule tcp tcp 9:12:13:14:15:16:17:18:19:+0:+1:+2:+3:9:9:9
prule udp udp 9:12:13:14:15:16:17:18:19:+0:+1:+2:+3:9:9:9
prule icmp icmp 9:12:13:14:15:16:17:18:19:9:9:9:9:9:9:9
prule any any 9:12:13:14:15:16:17:18:19:9:9:9:9:9:9:9
# Definicja pól nag³ówków pakietów internet-owych
var ip.ihl 0(24)&0xf
var ip.version 0(28)&0xf
var ip.tos 1(24)&0xff
var ip.tot_len 2(16)&0xffff
var ip.id 4(16)&0xffff
var ip.frag_off 6(16)&0x3fff
var ip.ttl 8(24)&0xff
var ip.protocol 9(24)&0xff
var ip.check 10(16)&0xffff
var ip.saddr 12
var ip.daddr 16
# Definicja pól nag³ówków pakietów TCP
var tcp.source +0(16)&0xffff
var tcp.dest +2(16)&0xffff
var tcp.seq +4
var tcp.ack_seq +8
var tcp.doff +12(28)&0xf
var tcp.fin +13(24)&0x1
var tcp.syn +13(25)&0x1
var tcp.rst +13(26)&0x1
var tcp.psh +13(27)&0x1
var tcp.ack +13(28)&0x1
var tcp.urg +13(29)&0x1
var tcp.live +127
# Definicja nag³ówków pakietów UDP
var udp.source +0(16)&0xffff
var udp.dest +2(16)&0xffff
var udp.len +4(16)&0xffff
var udp.check +6(16)&0xffff
# Definicja nag³ówków pakietów ICMP
var icmp.type +0(24)&0xff
var icmp.code +1(24)&0xff
var icmp.checksum +2(16)&0xffff
var icmp.echo.id +4(16)&0xffff
var icmp.echo.sequence +6(16)&0xffff
var icmp.gateway +4


1.7 Mój sprzêt i oprogramowanie.




486/66, 20 MB RAM i du¿o miejsca na dysku :-)
du¿o chip-ów 16550
diald 0.11, pppd 2.2.0d, j±dro 1.3.95 (zmodularyzowane)


1.8 Uwagi.




Upewnij siê, ¿e zmieni³e¶ powy¿ej /dev/ttyS1 odpowiednio do
swoich potrzeb
Upewnij siê, ¿e mo¿esz siê rzeczywi¶cie po³±czyæ przez PPP
u¿ywaj±c skryptu blind.ppp

Masz jakie¶ pytania?
Przy¶lij mi list.

1.9 Od t³umacza.


T³umaczenie to jest chronione prawami autorskimi © Bartosza
Maruszewskiego.
Dozwolone jest rozprowadzanie i dystrybucja na prawach takich
samych jak dokument oryginalny.
Je¶li znalaz³e¶ jakie¶ ra¿±ce b³êdy ortograficzne, gramatyczne,
sk³adniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.plOficjaln± stron± t³umaczeñ HOWTO jest
http://www.jtz.org.pl/Aktualne wersje przet³umaczonych dokumentów znajduj± siê na
tej¿e stronie. Dostêpne s± tak¿e poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /HOWTO/.
Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na
mojej stronie WWW. S± tam te¿ odwo³ania do Polskiej Strony
T³umaczeniowej.
Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê
dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz siê na ni± zapisaæ, to
wy¶lij list o tre¶ci subscribe jtz Imiê Nazwisko na adres
majordomo@ippt.gov.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • strefamiszcza.htw.pl
  • Copyright (c) 2009 TrochÄ™ ciekawostek – na weekend (czego to ludzie nie wymyÅ›lÄ… ... | Powered by Wordpress. Fresh News Theme by WooThemes - Premium Wordpress Themes.