Poprzednia NastΩpna Spis Tre╢ci

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.

#!/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
# przy╢pieszyµ 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 przy╢pieszyµ 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.

1.8 Uwagi.

Masz jakie╢ pytania? Przy╢lij mi list.

1.9 Od t│umacza.

T│umaczenie to jest chronione prawami autorskimi (c) 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@zsmeie.torun.pl

Oficjaln▒ 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.ippt.gov.pl w katalogu /pub/Linux/JTZ/.

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 sie na ni▒ zapisaµ, to wy╢lij list o tre╢ci subscribe jtz ImiΩ Nazwisko na adres listproc@ippt.gov.pl


Poprzednia NastΩpna Spis Tre╢ci