HMUG Mac OS X Darwin obsadí strany

Aktuální adresář→ muž8


Jméno

     <ipfw> IP firewall a provoz <shaper> řídí program


Osnova

     <ipfw> Q] [P <preproc> D makro[=hodnota]] [U makro]] <pathname>
     <ipfw> F Qproud
     <ipfw> Q] {nula <resetlog> vymazat} [číslo ...
<ipfw> S pole]] [AftN] {seznam přehlídka} [číslo ...
<ipfw> Qsčítat číslorule-body
     <ipfw> roura číslo <config> pipe-config-options
     <ipfw> roura vymazat seznam přehlídka} [číslo ...
<ipfw> fronta číslo <config> queue-config-options
     <ipfw> fronta vymazat seznam přehlídka} [číslo ...


Popis

     <ipfw> je uživatelské rozhraní pro kontrolníipfirewall(4 a
dummynet(4 provoz <shaper> v FreeBSD.

     Každý přícházející nebo vycházející balík je prošel<ipfw> pravidla.	 Jestliže
hostitel funguje jako brána, balíky předané bránou jsou profesionální
<cessed> u<ipfw> dvakrát.  V případu hostitel chová se jako most, balíky pro
<warded> mostem být zpracovaný u<ipfw> jednou.

     Firewall konfigurace je vyrobená z seznamu z dosáhl pravidel, který je
hledán každý balík až do zápasu je založen a významná akce je vykonaná.
	 V závislosti na akci a jistých systémových nastaveních,
balíky mohou být <reinjected> do firewallu u pravidla po tom odpovídajícím
pro další zpracování.  Všechna pravidla platí o všech rozhraních,
tak to je zodpovědnost systému správce zapsat <ruleset> taková cesta
pokud jde o minimalizovat množství kontrol.

     Konfigurace vždy zahrnujeStandardní pravidlo dosáhlo 65535 který
nemůže být upravený programátorem a vždy odpovídá balíkům.  Akce
spojená s standardním pravidlem může být jedenpopírat nebodovolit
     závisí na jak jádro je konfigurováno.

     Jestliže <ruleset> zahrnuje jedny nebo více pravidla skeep-state volba, pak
<ipfw> převezme<stateful> chování, i.e. na zápasu vytvoří
dynamická pravidla odpovídá přesným parametrům adresy a přístavy odpovídajícího
balíku.

     Tato dynamická pravidla, který mít omezený celý život, být kostkovaný u
prvního výskytu zcheck-state nebokeep-state vládnout a být typicky
použitý otevřít firewall on-demand k legitimnímu provozu jedinému.  Vidět
Pravidlo Formát aPříklady sekce dole pro více informace o
<stateful> chování z<ipfw>.

     Všechna pravidla zahrnující dynamický <ones> mít několik sdružené pulty: zabalený
počet, bajt počet, žurnálový počet a <timestamp>, který ukazuje
čas posledního zápasu.  Pulty mohou být zobrazované nebo seřízené s<ipfw>
     příkazy.

     Pravidla mohou být přidaná ssčítat příkaz; vymazaný individuálně s
vymazat příkaz, a globálně sproud příkaz; zobrazovaný, volba
spojit se s obsahem pultů, používajícípřehlídka aseznam příkazy.
     Nakonec, pulty mohou být seřízené snula a<resetlog> příkazy.

     Následující volby jsou dostupné:

     	     Zatímco jmenuje, ukázat pultu hodnoty.  Vidět taképřehlídka příkaz.

     F	     Nepožádají o potvrzení pro příkazy, které mohou působit problémy
     jestliže zneužitý, i.e. proud.  Poznámka, jestliže tam je žádný <tty>
sdružil se s     proces, toto je naznačující.

     Q	     Chvílesčítat<ing>,nula<ing>,<resetlog><ging> neboproud<ing>, být
klidný okolo     akce naznačíF.  Toto je užitečné pro nastavující pravidla <exe>
     <cuting> rozmanitý<ipfw> příkazy v zápisu e.g.,
     Sh /etc/rc.firewall, nebo tím, že zpracuje soubor z mnoho<ipfw>
	     pravidla, přes vzdálené přihlašovací zasedání.  Jestližeproud je vykonaný v
     normální mnohomluvný režim s standardní jadrovou konfigurací, to
     tiskne zprávu.	Protože všechna pravidla jsou naplněná, zpráva
     nemůže být doručený k přihlašovacímu zasedání.	Toto způsobí vzdálený
     přihlašovací zasedání být uzavřený a zbytek <ruleset> je
     ne zpracovaný.  Přístup k utěšit je požadovaný obnovit.

     T	     Zatímco jmenuje, dávat poslední zápas <timestamp>.

     N	     Pokusit se vyřešit adresy a servisní jména v výstupu.

     S pole
     Zatímco jmenuje roury, druh podle jednoho z čtyř pultů
     Úhrn a proud balíky nebo bajty.

     Uklidnit konfiguraci, pravidla mohou být daná do souboru, který je
zpracovaný používající<ipfw> jak ukázaný v první osnovové lince.  Absolutní<pathname>
     musí být použitý.  Soubor bude čtená linka linkou a aplikovaným jak
<argu> <ments> k<ipfw> pomůcka.

     Volitelně, <preprocessor> může být specifikovaný používajícíP <preproc> kde
<pathname> má být zavedený přes.  Užitečné <preprocessors> zahrnujícpp(1 a
m4(1.  If<preproc> nezačíná lomítkem jako jeho nejprve <charac>
<ter>, obvyklá cesta jmenné hledání je vykonané.  Péče by měla být zaujatá
tímto v prostředích kde ne všechny <filesystems> jsou zahájené přesto časem
<ipfw> je provozovaný e.g. když oni jsou zahájení přes NFS.  JednouP
     byl specifikovaný, nepovinnýD aU specifikace mohou následovat a bude
předáván k <preprocessor>.	Toto počítá s ohebnou konfigurací
soubory rády <conditionalizing> je na místním <hostname> a použití
maker centralizovat častě požadované argumenty jako IP adresy.

     The<ipfw> roura rozkazy jsou konfiguroval provoz <shaper> jak ukázaný
vProvoz SHAPER Konfigurace sekce dole.


Pravidlový formát

     The<ipfw> pravidlový formát je následování:

     <prob> zápaspravděpodobnostakce žurnál <logamount> číslo]] <proto> od <src>
     k <dst> interface-spec] [volby

     Každý balík může být filtrován založený na následování informace, která
je spojována s tím:

	   Přenášet a přijímat rozhraní jménem nebo adresou
   Směr přícházející nebo vycházející
   Zdroj a cíl IP adresa možná maskovala
   Protocol TCP, UDP, ICMP, <etc>.
   Zdroj a cílové přístavní seznamy, rozsahy nebo masky
   TCP vlajky
   IP rozdělí vlajku
   IP volby
   ICMP typy
   Uživatel / skupinový občanský průkaz zásuvky sdružil se
s balíkem
     Poznamenat, že to může být nebezpečné k filtru na zdroji IP osloví
nebo získá TCP / TCP přístav protože jeden nebo oba mohli snadno být <spoofed>.

     <prob> zápaspravděpodobnost
	     Zápas je jen deklarován s specifikovanou pravděpodobností plovoucí
     bodové číslo mezitím 0 a 1.  Toto může být užitečné pro číslo
     aplikací takových jako náhodný zabalený pokles nebo ve spojitosti
     sdummynet(4Simulovat účinek rozmanitého cestového vedení
     <ing> k out-of-order zabalenému doručení.

     akce:

	     dovolit   Dovolit balíky, které odpovídají pravidlu.  Hledání skončí.
		     Aliases jepovolení,povolení apřijmout to.

	     popírat    Odhodit balíky, které odpovídají tomuto pravidlu.  Hledání <termi>
	     <nates>.  pokles je <alias> propopírat.

	     odmítnout  Kritizovaný.  Odhodit balíky, které odpovídají tomuto
pravidlu, a	     pokusit se poslat ICMP hostitele nedostupná zpráva.  Hledání
	     skončí.

	     <unreach> kód
		     Odhodit balíky, které odpovídají tomuto pravidlu a
pokusit se poslat	     ICMP nedostupná zpráva s kódemkód, kdekód je
	     číslo od 0 k 255, nebo jeden z těchto <aliases>: síť,hostitel,
	     protokol,přístav,<needfrag>,<srcfail>,net-unknown,
	     host-unknown,izolovaný,net-prohib,host-prohib,<tosnet>,
	     <toshost>,filter-prohib,host-precedence nebo
	     precedence-cutoff.	 Hledání skončí.

	     seřízený   TCP balíky jediné.	Odhodit balíky, které odpovídají
tomuto pravidlu,	     a pokusit se poslat TCP seřídil RST poznamená.	Hledání
	     skončí.

	     počet   Aktualizovat pulty pro všechny balíky, které odpovídají pravidlu.  The
	     hledání pokračuje s příštím pravidlem.

	     check-state
		     Kontroluje balík proti dynamickému <ruleset>.  Jestliže
	     zápas je založen pak hledání skončí, jinak my
	     stěhovat se do příštího pravidla.  Jestliže necheck-state pravidlo je
založeno,	     dynamický <ruleset> je kostkovaný u nejprvekeep-state
		     pravidlo.

	     odklonit přístav
		     Odklonit balíky, které odpovídají tomuto pravidlu kdivert(4
		     zásuvka svázaná k přístavupřístav.	 Hledání skončí.

	     podložka přístav
		     Poslat kopii balíků, které odpovídají tomuto
pravidlu k	     divert(4 zásuvka svázaná k přístavupřístav.  Hledání <termi>
	     <nates> a originální balík je přijímaný ale vidět <sec>
	     <tion>Chyby dole.

	     <fwd> <ipaddr>[,přístav
	     Měnit next-hop na odpovídajících balíkách k<ipaddr>, který
	     může být IP adresa v tečkovaném čtyřúhelníku nebo hostitelském jméně.  If
	     <ipaddr> není directly-reachable adresa, cesta jak
	     najitý v místní oponuje stolu pro to IP je použitý
	     místo toho.  If<ipaddr> je místní adresa, pak na balíku
	     vstupuje do systému od vzdáleného hostitele to
bude	     odkloněný kpřístav na místním stroji, udržující se místní
	     adresa zásuvky dané k originálu IP adresa
	     balík byl předurčený pro.  Toto je určeno pro použití s
	     průhledné zástupné servery.	 Jestliže IP není místní
	     adresa pak přístavní číslo jestliže specifikovaný je ignorován
	     a pravidlo jen platí o balíkách, které opouštějí systém.
		     Toto bude také mapovat adresy k místním přístavům když balíky
	     být vytvořený místně.  Hledání skončí jestliže tento
	     pravidlové zápasy.  Jestliže přístavní číslo není dané pak
	     přístavní číslo v balíku je použité, aby balík pro
	     vnější stroj levý Y by byl předaný k místní
	     přístav Y. The jádro musí byli zkompilovaní s
	     IPFIREWALL_FORWARD volba.

	     roura rouranr
		     Projít kolem balíku kdummynet(4 ``pipe pro šířku pásma <lim>
	     <itation>, zpoždění, <etc>..  VidětProvoz SHAPER
		     Konfigurace sekce pro další informaci.  The
	     hledání skončí; nicméně, na odchodu z roury a jestliže
	     sysctl(8 proměnnánet.inet.ip.fw.onepovolení není
	     soubor, balík je prošel znovu k firewallu kód
	     začínání od příštího pravidla.

	     fronta frontanr
		     Projít kolem balíku kdummynet(4 ``queue pro šířku pásma
	     limitace, která používá WF2Q.

	     <skipto> číslo
		     Skok všechna následující pravidla dosáhla méně nežčíslo.  The
	     hledání pokračuje s prvním pravidlem dosáhlčíslo nebo
	     <higher>.

     žurnál <logamount> číslo
     Jestliže jádro bylo zkompilované s IPFIREWALL_VERBOSE, pak když
     balík odpovídá pravidlu sžurnál klíčové slovo zpráva bude
     nahraný ksyslogd(8 s LOG_SECURITY zařízením.	 Poznámka: u
     standardní, oni jsou připojení k/var/log/security soubor vidět
     syslog.conf(5.  Jestliže jádro bylo zkompilované s
     IPFIREWALL_VERBOSE_LIMIT volba, pak opomenutím nahrávající vůle
     přestat po množství balíků specifikovaných volbou být
     přijatý pro ten zvláštní řetězový vstup, a
     net.inet.ip.fw.verboselimit bude soubor k tomu číslu.  Jak
     někdy, jestliže<logamount> číslo je použitý, točíslo bude žurnál
     <ging> limit spíše nežnet.inet.ip.fw.verboselimit, kde
     hodnota ``0 odstraní nahrávající mez.  Logging může pak být re
     umožněný tím, že vyčistí nahrávání pultu nebo zabaleného pultu pro
     ten vstup.

	     Utěšit nahrávající a žurnálový limit být nastavitelný dynamicky
     přessysctl(8 rozhraní v MIB základu z
     net.inet.ip.fw.

     <proto>   An IP protokol specifikovaný číslem nebo jménem pro úplný seznam
     vidět/etc/protocols.  Theip nebovšichni klíčová slova znamenají
nějaký protokol     bude odpovídat si.

     <src> a<dst>:
	     některý  | [ne<adresamaska> přístavy

	     Specifikujícíněkterý nutí pravidlo odpovídat nějakému IP číslu.

	     Specifikující dělá pravidlo odpovídat nějakému IP číslu
konfigurovanému na     rozhraní v systému.  Toto je <computationally> semi-expen-
     <sive> kontrola, která by měla být použitá pozorně.

	     The<adresamaska> může být specifikován jak:

	     <ipno>	An IP množství formy 1.2.3.4.  Jen tento vynutit
si IP		číslo bude odpovídat pravidlu.

	     <ipno>kousky	An IP číslo s maskovou šířkou formy 1.2.3.4/24.
			V tomto případu všechna IP čísla od 1.2.3.0 k 1.2.3.255
		bude odpovídat si.

	     <ipno>:maska	An IP číslo s maskou formy
		1.2.3.4:255.255.240.0.	V tomto případu všechna IP čísla
		od 1.2.0.0 k 1.2.15.255 bude odpovídat si.

	     Smysl pro zápas může být převrácený předcházením adresy
     sne modifikátor, přiměje všechny jiné adresy, aby byl vyrovnaný
     místo toho.  Toto neovlivní výběr přístavních čísel.

	     S TCP a UDP protokoly, nepovinnýpřístavy může být specifikován
     jak:

		   přístavpřístavpřístavpřístav:maska}[,přístav[,...

	     Zápis specifikuje rozsah přístavů zahrnujících svázaný
     <aries>.

	     The:Zápis specifikuje přístav a masku, zápas je deklarován
     jestliže přístavní číslo v balíku odpovídá tomu v pravidle,
     omezený k kouskům, které jsou nastával maska.

	     Servisní jména od/etc/servicesMůže být použitý místo numerický
     přístavní hodnoty.  Rozsah může jen být specifikovaný jako první
hodnota,     a délka přístavního seznamu je omezená na IP_FW_MAX_PORTS
     přístavy jak definovaný v/usr/src/sys/netinet/ipfw.h.  Opačné lomítko
     Může být zvyklý na útěk úprk charakter v službě
     jméno:

		   <ipfw> přidají počet <tcp> od nějakého
ftp\\-data-ftp
k některému	     Rozdělené balíky, které mají non-zero vyrovnaný i.e. ne
     první fragment bude nikdy odpovídat pravidlu, které má jeden nebo více
     přístavní specifikace.  Vidět<frag> volba pro detaily na odpovídá si
     rozdělené balíky.

     interface-spec
	     Některé kombinace následujícího <specifiers> jsou povolené:

	     v	       Jen odpovídat přícházejícím balíkům.

	     ven       Jen odpovídat vycházejícím balíkům.

	     přes ifX   Balík musí procházejí rozhranímifX.

	     přes jestliže   Balík musí procházejí rozhranímifX, kdeX je
	       nějaké jednotkové číslo.

	     přes některý   Balík musí procházejíněkteří rozhraní.

	     přes <ipno>  Balík musí procházejí rozhraním, které má IP
	       adresa<ipno>.

	     Thepřes klíčové slovo přiměje rozhraní, aby vždy byl kostkovaný.	 If
     <recv> nebo<xmit> je použitý místopřes, pak jen přjímat nebo
     přenášet rozhraní příslušně je kostkovaný.  Tím, že specifikuje
     oba, to je možné odpovídat si balíky založené na obou přjímají a
     přenášet rozhraní, e.g.:

		   <ipfw> sčítají 100 popírat ip od některého k nějakému
ven
<recv> ed0 <xmit> ed1	     The<recv> rozhraní může být testované na buď přícházející a nebo vycházející
     balíky, chvíle<xmit> rozhraní může jen být testované na vycházející
     balíky.  Takven je požadovaný av je invalida kdykoli<xmit> je
     použitý.  Specifikujícípřes spolu s<xmit> nebo<recv> je invalida.

	     Balík nemůže mít přjímat nebo přenášet rozhraní: balíky
     vzniká z místního hostitele mít žádný přijmout rozhraní, chvíle
     balíky předurčené pro místního hostitele mají žádný přenášet rozhraní.

     volby:

	     keep-state metoda
	     Na zápasu, firewall vytvoří dynamické pravidlo,
	     jehož standardní chování je k odpovídajícímu <bidirectional>
	     provoz mezi zdrojem a cílem IP / přístav používající
	     stejný protokol.  Pravidlo má omezený celý život ošidit
	     <trolled> souborem zsysctl(8 proměnné a život
	     čas je obnovený vždy když odpovídající balík je založen.

		     Aktuální chování může být upravené specifikováním <dif>
	     <ferent>metoda, ačkoli právě teď jen standardní
	     jeden je specifikován.

	     přemoštěný
		     Zápasy jediné přemostily balíky.  Toto může být užitečné pro
	     <multicast> nebo vysílací provoz, který chtěl jinak
	     projít firewallem dvakrát: jednou v průběhu toho,
jak přemostí,	     a sekundu čas když balík je dodán k
	     místní hromada.

		     Mimo malého výkonového trestu, toto by bylo
	     problém když používároury protože stejný balík by byl
	     odpovídal za dvakrát v podmínkách šířky pásma, fronta <occupa>
	     <tion>, a také zvrátí.

	     <frag>    Zápas jestliže balík je fragment a toto není
	     první fragment <datagram>.  <frag> nemůže být použitý v
	     souvislost s jeden<tcpflags> nebo TCP / TCP přístav <specifi>
	     <cations>.

	     <ipoptions> specifikace
		     Zápas jestliže IP záhlaví obsahuje čárku oddělený seznam
	     voleb specifikovaných vspecifikace.  The podporoval IP volby
	     být:

		     <ssrr> Přísná zdrojová cesta,<lsrr> Volná zdrojová cesta,rr
		     Rekordní zabalená cesta ats <timestamp>.	Nepřítomnost z
	     zvláštní volba může být označená s!.

	     <tcpoptions> specifikace
		     Zápas jestliže TCP záhlaví obsahuje čárku oddělený seznam
	     voleb specifikovaných vspecifikace.  The podporoval TCP volby
	     být:

		     <mss> Maximální úseková velikost,okno <tcp> okno inzerovat
	     <ment>,pytel Výběrový <ack>,ts Rfc1323
<timestamp> a	     cc Rfc1644 t / <tcp> spojení počet.  Nepřítomnost z
	     zvláštní volba může být označená s!.

	     ustavený
		     TCP balíky jediné.	Zápasové balíky, které mají RST nebo ACK
	     kousky dané.

	     nastavení   TCP balíky jediné.	Zápasové balíky, které mají SYN kousek
	     soubor ale žádný ACK kousek.

	     <tcpflags> specifikace
		     TCP balíky jediné.	Zápas jestliže TCP záhlaví obsahuje
	     čárka oddělila seznam vlajek specifikovaných vspecifikace.  The
	     podporoval TCP vlajky být:

		     ploutev,<syn>,<rst>,<psh>,<ack> a<urg>.  Nepřítomnost počtu úderů
	     <ticular> vlajka může být označená s!.  A ovládá kterého
	     obsahuje<tcpflags> specifikace může nikdy odpovídat <frag>
	     <mented> balík, který má non-zero vyrovnaný.	 Vidět<frag>
		     volba pro detaily na odpovídajících rozdělených balíkách.

	     <icmptypes> typy
		     ICMP balíky jediné.	 Zápas jestliže ICMP typ je v seznamu
	     typy.  Seznam může být specifikovaný jako nějaká
kombinace z	     rozsahy nebo individuální typy oddělené čárkami.  <sup>
	     <ported> ICMP typy jsou:

		     odrážet odpověď0, cíl nedostupný3, zdroj
	     uhasit4, přesměrovat5, odrážet žádost8, směrovač <adver>
	     <tisement>9, žádost směrovače10, time-to-live
	     překonaný11, IP záhlaví špatné12, <timestamp> žádost
	     13, <timestamp> odpověď14, informační žádost15,
	     informační odpověď16, oslovit maskovou žádost17A
	     adresová masková odpověď18.

	     <uid> uživatel
		     Odpovídat všem TCP nebo UDP balíky poslané u nebo
přijatý pro	     uživatel.  Auživatel může být vyrovnaný jménem nebo identifikací
	     číslo.

	     <gid> skupina
		     Odpovídat všem TCP nebo UDP balíky poslané u nebo
přijatý pro	     skupina.  Askupina může být vyrovnaný jménem nebo identifikací
	     číslo.


TRAFFIC SHAPER konfigurace

     The<ipfw> pomůcka je také uživatelské rozhraní prodummynet(4 provoz <shaper>.
  <shaper> operuje dělícími se balíky dotoky podle
user-specified masky na různých polích IP záhlaví.  Balíky,
které patří k stejnému toku jsou pak přešel na dva různé objekty, pojmenovaný
roura nebofronta.

     Aroura napodobuje spojení s danou šířkou pásma, propagační zpoždění,
frontová velikost a zabalená ztrátová rychlost.	 Zabalený tranzit přes rouru podle jeho parametrů.


     Afronta je abstrakce realizovala WF2Q politiku.  Frontoví
kolegové k každému toku váha a odkazová roura.  Pak, všechny
toky spojené k stejné rouře jsou naplánované u rychlosti fixované rourou
podle WF2Q politiky.

     The<ipfw> rourový konfigurační formát je následování:

     roura číslo <config> bw šířka pásma zařízení] [zpoždění ms-delay] [fronta štěrbiny
     velikost}] [<plr> loss-probability] [maska mask-specifier] [kbelíky
     hash-table-size] [<red> <gred> wq<min>thmaximálníthmaximálníp

     The<ipfw> frontový konfigurační formát je následování:

     fronta číslo <config> roura rouranr] [váha váha] [fronta štěrbiny velikost
<plr> loss-probability] [maska mask-specifier] [kbelíky hash-table-size
<red> <gred> wq<min>thmaximálníthmaximálníp

     Následující parametry mohou být konfigurované pro rouru:

     bw šířka pásma zařízení
	     Šířka pásma, změřený vKM]{kousek / sBajt / s.

	     Hodnota z 0 standardní prostředky neomezená šířka pásma.	Jednotka musí
     následovat okamžitě číslo, jak v

		   <ipfw> roura 1 <config> bw 300Kbit
/
s fronta 50KBytes	     Jestliže přístrojové jméno je specifikované místo numerické
hodnoty, pak     přenášet hodiny je dodaný specifikovaným zařízením.  U
     moment jedinýtun(4 zařízení podporuje tuto funkčnost, pro
     použití ve spojitosti sppp(8.

     zpoždění ms-delay
	     Propagační zpoždění, změřený v <milliseconds>.  Hodnota je
     kulatý k příštímu násobku hodin znaménko typicky 10ms,
     ale to je dobrá zkušenost k provozovaným jádrům s ``options HZ=1000
     redukovat <granularity> k 1ms nebo méně.	 Standardní hodnota
je 0,     znamenání žádného zpoždění.

     fronta štěrbiny velikostKbytes
     Frontová velikost, vštěrbiny neboKBytes.  Standardní hodnota je 50 štěrbin, který
     je typická frontová velikost pro Ethernet zařízení.  Poznamenat, že pro
     pomalá rychlost spojí vás by měl držet frontovou velikost
krátkou nebo váš     provoz by mohl být zasažený významným <queueing> zpožděním.	 E.g.,
     50 max-sized <ethernet> balíky 1500 bajtů znamená 600Kbit
nebo 20s z     fronta na 30Kbit / s roura.	Dokonce horší účinek může vyplývat
jestliže vy     dostat balíky z rozhraní s hodně větší MTU, e.g. 
     <loopback> rozhraní s jeho 16KB balíky.

     <plr> packet-loss-rate
	     Zabalená ztrátová rychlost.	Argumentpacket-loss-rate je floating-point
     číslo mezitím 0 a 1, s 0 významem žádná ztráta, 1 význam 100
     ztráta.  Ztrátová rychlost je vnitřně reprezentována na 31 kouskách.

     maska mask-specifier
	     Thedummynet(4 nechá vás vytvořit per-flow fronty.  Tok <iden>
     <tifier> je postavený maskováním IP adres, přístavy a profesionální
     <tocol> typy jak specifikoval v rourové konfiguraci.  Balíky s
     stejný <identifier> po maskujícím pádu do stejné fronty.
	     Dostupné maskové <specifiers> jsou kombinace z následování:
	     dst-ip maska,src-ip maska,dst-port maska,src-port maska,<proto>
	     maska nebovšichni, kde druhé prostředky všechny kousky v všech polích jsou
     významný.  When používal uvnitřroura konfigurace, každý tok je
     přiřadil rychlost rovnou rychlosti roury.  When používal uvnitř
     fronta konfigurace, každý tok dostane váhu rovnat se k
     váha fronty a všech toků, které trvají na stejné rouře
     podílová šířka pásma úměrně k jejich váze.

     kbelíky hash-table-size
	     Specifikuje velikost <hash> stolu použitého pro ukládající různý
     fronty.  Standardní hodnota je 64 kontrolovaný usysctl(8 proměnná
     net.inet.ip.dummynet.hashvelikost, povolený rozsah je 16 k 1024.

     roura rouranr
	     Spojí frontu s specifikovanou rourou.  Rozmanité fronty obvykle
     s různými váhami může být propojený na stejnou rouru, který
     specifikuje celkovou rychlost pro soubor front.

     váha váha
	     Specifikuje váhu být použitý pro toky, které odpovídají této frontě.
	     Váha musí být v rozsahu 1..100, a <defaults> k 1.

     <red> <gred> wq<min>thmaximálníthmaximálníp
	     Dělat použití červené fronty vedoucí algoritmus.  wq amaximálníp
	     plavou na bodových číslech mezitím 0 a 1 0 ne zahrnutý,
     chvíle<min>th amaximálníth být celočíselná čísla, která specifikují prahy
     pro frontové vedení prahy jsou vypočítané v bajtech jestliže
     fronta byla definovaná v bajtech, v štěrbinách jinak.  The
     dummynet(4 také podporuje jemnou červenou variantu <gred>.  Three
     sysctl(8 proměnné mohou být zvyklé na kontrolu červené chování:

	     net.inet.ip.dummynet.redvyhledáváníhloubka
		     specifikuje správnost v počítání průměrné fronty
	     když spojení je nezaměstnané <defaults> k 256,
musí být větší	     než nula

	     net.inet.ip.dummynet.red<avg><pkt>velikost
		     specifikuje očekávanou průměrnou zabalenou velikost
<defaults> k	     512, musí být větší než nula

	     net.inet.ip.dummynet.redmaximální<pkt>velikost
		     specifikuje očekávanou maximální zabalenou velikost,
jen použitý	     když frontové prahy jsou v bajtech <defaults> k
1500,	     musí být větší než nula.


Úplný seznam

     Tady být některé důležité body zvážit to když navrhne vaše pravidla:

     o	 Pamatovat si, že vy filtrujete oba balíky běžnév aven.  Nejvíce <connec>
 <tions> potřebují balíky běžné v obou směrech.

     o	 Pamatovat si k testu velmi opatrně.  To je dobrý nápad být blízký
 utěšit když dělá toto.  Jestliže vy nemůžete být blízcí utěšit,
použití auto-recovery zápis takový jak jeden v
 /usr/share/examples/ipfw/changerules.sh.

     o	 Nezapomenou <loopback> rozhraní.


Jemné body

     o	 Tam je jeden druh balíku že firewall vždy odhodí,
 to je TCP balík je fragment s fragmentem vyrovnaným z jednoho.	 This
 je platný balík, ale to jen má jedno použití, pokusit se obejít
 firewally.  Když nahraje je umožněný, tyto balíky jsou ohlásené jak
 bytí zastavilo se u pravidla -1.

     o	 Jestliže vy jste přihlásil se k přes síť, nakládáníkld(4 verze z
 <ipfw> je pravděpodobně ne jak přímý jak vy byste mysleli.  Já <recom>
 spravit následující příkazovou řádku:

	       <kldload> /modules/ipfw.ko&& 
       <ipfw> sčítají 32000 dovolit ip od
některého
k některému	 Podél stejných linek, dělání

	       <ipfw> proud

	 v podobném okolí je také špatná myšlenka.

     o	 The<ipfw> seznam filtru nemůže být upravený jestliže systém bezpečná úroveň
 je soubor k 3 nebo <higher> vidětinit(8 pro informaci o systémové bezpečnosti
 úrovně.


Zabalený odklon

     Adivert(4 zásuvka svázaná k specifikovanému přístavu přijme všechny
balíky odkloněné k tomu přístavu.  Jestliže žádná zásuvka je svázaná k cíli levému,
nebo jestliže jádro nebylo zkompilované s odklonit zásuvkovou podporu, balíky
jsou vynechány.


SYSCTL proměnné

     Soubor zsysctl(8 proměnné ovládací prvky chování firewallu.
     Tito jsou ukázaní dole spolu s jejich standardní hodnotou a významem:

     net.inet.ip.fw.debug: 1
     Ovládací prvky, které odvšivují zprávy vytvořené u<ipfw>.

     net.inet.ip.fw.onepovolení: 1
     When soubor, balík, který odchází zdummynet(4 roura není
     prošel ačkoli firewall znovu.	Jinak, po rouře
     akce, balík <reinjected> do firewallu u příšte
     pravidlo.

     net.inet.ip.fw.verbose: 1
     Umožní mnohomluvné zprávy.

     net.inet.ip.fw.enable: 1
     Umožní firewall.  Dávání této proměnné k 0 nechá vás běžet
     váš stroj bez firewallu dokonce jestliže zkompilovaný v.

     net.inet.ip.fw.verboselimit: 0
     Limituje množství zpráv vytvořených mnohomluvným firewallem.

     net.inet.ip.fw.dynkbelíky: 256

     net.inet.ip.fw.curr<dyn>kbelíky: 256
     Konfigurovaná a aktuální velikost <hash> stolu zvyklého
na držení     dynamická pravidla.  Toto musí být síla z 2.	 Stůl může jen být
     přeformovaný když vyprázdnit se, tak aby přeformoval to
bezmyšlenkovitě vy chcete     pravděpodobně mít kproud a přeložit <ruleset>.

     net.inet.ip.fw.dynpočet: 3
     Aktuální množství dynamických pravidel nepřepisovatelných.

     net.inet.ip.fw.dynmaximální: 1000
     Maximální počet dynamických pravidel.  Když vy jste udeřili do
tohoto limitu, ne     dynamičtější pravidla mohou být nainstalovaná do okamžiku než starý <ones> vypršet.

     net.inet.ip.fw.dyn<ack>celý život: 300

     net.inet.ip.fw.dyn<syn>celý život: 20

     net.inet.ip.fw.dynploutevcelý život: 20

     net.inet.ip.fw.dyn<rst>celý život: 5

     net.inet.ip.fw.dynkrátkýcelý život: 30
     Tyto proměnné řídí celý život, během několika sekund, z dynamický
     pravidla.  Na parafovat SYN výměnu celý život je držený krátký,
     pak zvětšil se po obou SYN byl viděn, pak snížil se
     znovu během finální ploutve výměna nebo když RST


Příklady

     Tento příkaz přidá záznam, který popírá všechny <tcp>
balíky odcracker.evil.org k <telnet> přístavu zwolf.tambov.su od bytí pro
<warded> hostitelem:

	   <ipfw> sčítají popírat <tcp> od cracker.evil.org k
wolf.tambov.su <telnet>
     Tento zamítne nějaké spojení od celé sušenkové sítě k mému hostiteli:


	   <ipfw> sčítají popírat ip od 123.45.67.0/24 k my.host.org

     Nejprve a účinný způsob, jak omezit přístup ne používání dynamických
pravidel je použití následujících pravidel:

	   <ipfw> sčítají dovolit <tcp> od
některého k některý prokázal   <ipfw> sčítají dovolit <tcp> od net1 portlist1 k
net2 portlist2 nastavení   <ipfw> sčítají dovolit <tcp> od net3 portlist3 k
net3 portlist3 nastavení   ...
	   <ipfw> sčítají popírat
<tcp>
od některého k některému     První pravidlo bude rychlé utkání pro normální TCP balíky, ale to nebude
odpovídat si parafovat SYN balík, který bude vyrovnaný unastavení
     pravidla jediná pro vybraný zdroj / cílové páry.	Všichni jiné SYN
balíky budou odmítnuté finálempopírat pravidlo.

     Aby chránil místo před záplavou útoky zahrnující padělají TCP balíky, to
je bezpečnější používat dynamická pravidla:

	   <ipfw> přidají check-state
   <ipfw> sčítají popírat <tcp> od
některého k některý prokázal   <ipfw> sčítají dovolit <tcp> od my-net k
nějakému
nastavení keep-state     Toto nechá firewall instalovat dynamická pravidla jediná pro ty
<connec> <tion>, které začínají pravidelný SYN balík přijde z vnitřní
strany naší sítě.  Dynamická pravidla jsou kostkovaná když setká se s nejprve
check-state nebokeep-state pravidlo.  Acheck-state pravidlo by mělo být
obvykle umístěné blízko začátku <ruleset> minimalizovat množství práce,
která prohlíží <ruleset>.  Vaše vzdálenost může měnit se.

     BEWARE: <stateful> pravidla mohou být podřízená denial-of-service
útokům SYN-flood, který otevře masivní množství dynamických pravidel.  Účinky takových
útoků mohou být částečně omezené tím, že jedná podle souboru zsysctl(8
     proměnné, které řídí operaci firewallu.

     Tady je dobré použití zseznam příkaz vidět účetní záznamy a
<timestamp> informaci:

	   <ipfw> u seznamu

     nebo ve zkratce forma bez <timestamps>:

	   <ipfw> seznam

     Další pravidlo odkloní všechny přícházející balíky od 192.168.2.0/24
odklonit přístav 5000:

	   <ipfw> odkloní 5000 ip od 192.168.2.0/24 k
některému v
     Řídí se pravidly přehlídka část aplikace z<ipfw> adummynet(4
     pro simulace a mít rád.

     Toto pravidlo upustí náhodné přícházející balíky s pravděpodobností z 5:

	   <ipfw> přidají <prob> 0.05 popírat
ip
od některého k některému v     Podobný účinek může být dosáhl dělajícího použití <dummynet> rour:

	   <ipfw> přidají rouru 10 ip od
některého k některému   <ipfw> roura 10
<config>
<plr> 0.05     My můžeme používat roury, aby uměle limitoval šířku pásma, e.g. na strojovém aktu
<ing> jako směrovač, jestliže my chceme snížit dopravu od místních
klientů na 192.168.2.0/24, který my děláme:

	   <ipfw> přidají rouru 1 ip od 192.168.2.0/24
k některému ven   <ipfw> roura 1 <config> bw 300Kbit
/
s fronta 50KBytes     poznámka, kterou my používámeven modifikátor aby pravidlo není použité dvakrát.
     Pamatovat si ve skutečnosti to<ipfw> pravidla jsou kontroloval oba na
přícházejících a <outgo> <ing> balíkách.

     By měl my rádi simulujeme <bidirectional> spojení s šířkou pásma,
která <limita> <tions>, správný způsob je následování:

	   <ipfw> přidají rouru 1 ip od
některého k některému ven   <ipfw> přidají rouru 2 ip od
některého k některému v   <ipfw> roura 1 <config> bw 64Kbit
/ s fronta 10Kbytes   <ipfw> roura 2 <config> bw 64Kbit
/
s fronta 10Kbytes     The nahoře může být velmi užitečný, e.g. jestliže vy chcete vidět jak vaše
přepychová internetová stránka bude hledat obytného uživatele, který je spojený
jediný přes pomalé spojení.	 Vy byste neměli používat jen jednu rouru pro oba směry,
ledaže vy chcete simulovat half-duplex střední e.g. AppleTalk, Ethernet,
IRDA.  To není nutné že obě roury mají stejnou konfiguraci, tak my
můžeme také simulovat asymetrická spojení.

     By měl my rádi ověříme síťový výkon s červenou frontou řídit
<ment> algoritmus:

	   <ipfw> přidají rouru 1 ip od
některého k některému   <ipfw> roura 1 <config> bw 500Kbit / s fronta 100
červené 0.002/30/80/0.1
     Další typické použití dopravního <shaper> má představit nějaké
zpoždění v komunikaci.  Toto může ovlivnit hodně aplikace, které
dělají množství vzdálených procedurálních hovorů, a kde round-trip-time
spojení často stane se omezujícím faktorem mnohem více než šířka pásma:

	   <ipfw> přidají rouru 1 ip od
některého k některému ven   <ipfw> přidají rouru 2 ip od
některého k některému v   <ipfw> roura 1 <config>
odkládají 250ms bw 1Mbit / s   <ipfw> roura 2 <config>
odkládají
250ms bw 1Mbit / s     Per-flow <queueing> může být užitečný pro paletu účelů.	 Nějaký velmi
jednoduchý počítá provoz:

	   <ipfw> přidají rouru 1
<tcp> od některého k některému   <ipfw> přidají rouru 1
<udp> od některého k některému   <ipfw> přidají rouru 1 ip od
některého k některému   <ipfw> roura 1
<config>
maskují všechny     Nad souborem pravidel bude vytvářet fronty a sbírat statistiky pro celý
provoz.  Protože roury mají žádné limitace, jediný účinek sbírá
statistiky.  Poznamenat, že my potřebujeme 3 pravidla, ne jen
ten poslední, protože když<ipfw> pokusí se odpovídat IP balíkům to nebude zvažovat
přístavy, tak my bychom neviděli spojení na oddělených přístavech jak různý <ones>.

     Důmyslnější příklad sníží odchozí dopravu na síti s per-host limity,
spíše než per-network limituje:

	   <ipfw> přidají rouru 1 ip od 192.168.2.0/24
k některému ven   <ipfw> přidají rouru 2 ip od některého
192.168.2.0/24 v   <ipfw> roura 1 <config> maskují src-ip, který
0x000000ff bw 200Kbit / s fronta   20Kbytes
   <ipfw> roura 2 <config> maskují dst-ip, který
0x000000ff bw 200Kbit / s fronta   20Kbytes


SEE ALSO

     cpp(1,m4(1,bridge(4,divert(4,dummynet(4,ip(4,ipfirewall(4,
protocols(5,services(5,init(8,kldload(8,reboot(8,sysctl(8,
syslogd(8


Chyby

     Syntax rostla přes roky a to není velmi čisté.

     WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!

     Tento program může vložit váš počítač do spíše nepoužitelného státu.  Když
používá to poprvé, pracovat na utěšit počítače, a dělatNOT dělat
něco vy nerozumíte.

     Když zachází s / sčítající řetězové záznamy, služba a protokolová jména
nejsou přijímaná.

     Přícházející zabalené fragmenty odkloněné uodklonit nebopodložka být
<reassembled> před doručením k zásuvce.

     Balíky, které odpovídají sipodložka pravidlo by nemělo být okamžitě přijímané,
ale by měl pokračovat procházet pravidlem seznam.  Toto může být fixované
v pozdnější verzi.


Autoři

     Ugen J. S. Antsilevich,
Poul-Henning Kamp, Alex
Nash, Archie
Cobbs, Luigi Rizzo.


     API založený na kódu psaném prostřednictvím Daniel Boulet pro BSDI.

     Pracovat nadummynet(4 provoz <shaper> podporovaný prostřednictvím Akamba Corp.


Historie

     The<ipfw> pomůcka nejprve objevila se v FreeBSD 2.0.  dummynet(4 byl
počáteční <duced> v FreeBSD 2.2.8.  Stateful rozšíření byla představená v
FreeBSD 4.0.

Darwin únor 16, 2000 Darwin