PLD-doc: book/pl_book__master.docb
book/pl_book__siec/pl_siec__narzedzia.sec book/pl_book__siec/pl_s...
qwiat
cvs w pld-linux.org
Śro, 20 Lip 2005, 02:18:22 CEST
Author: qwiat
Date: Wed Jul 20 02:18:19 2005
New Revision: 6224
Added:
PLD-doc/book/pl_book__siec/pl_siec__narzedzia.sec
- copied, changed from rev 6223, PLD-doc/queue/pl_siec__narzedzia.sec
Removed:
PLD-doc/queue/pl_siec__narzedzia.sec
Modified:
PLD-doc/book/pl_book__master.docb
PLD-doc/book/pl_book__siec/pl_siec_zastosowania.chp
Log:
- dodaie opisu programow host i netstat
- wywalenie opisu programu ss
- przeniesie z queue do mastera
- cale mnostwo drobnych poprawek
Modified: PLD-doc/book/pl_book__master.docb
==============================================================================
--- PLD-doc/book/pl_book__master.docb (original)
+++ PLD-doc/book/pl_book__master.docb Wed Jul 20 02:18:19 2005
@@ -67,6 +67,7 @@
<!ENTITY siec_pppssh SYSTEM "pl_book__siec/pl_siec_vpn__ppp_ssh.sec">
<!ENTITY siec_vtun SYSTEM "pl_book__siec/pl_siec_vpn__vtun.sec">
<!ENTITY siec_zaawansowane SYSTEM "pl_book__siec/pl_siec__zaawansowane.sec">
+<!ENTITY siec_narzedzia SYSTEM "pl_book__siec/pl_siec__narzedzia.sec">
<!ENTITY uslugi SYSTEM "pl_book__uslugi/pl_uslugi.chp">
<!ENTITY uslugi_alsa SYSTEM "pl_book__uslugi/pl_uslugi__alsa.sec">
<!ENTITY uslugi_named SYSTEM "pl_book__uslugi/pl_uslugi__named.sec">
Copied: PLD-doc/book/pl_book__siec/pl_siec__narzedzia.sec (from rev 6223, PLD-doc/queue/pl_siec__narzedzia.sec)
==============================================================================
--- PLD-doc/queue/pl_siec__narzedzia.sec (original)
+++ PLD-doc/book/pl_book__siec/pl_siec__narzedzia.sec Wed Jul 20 02:18:19 2005
@@ -1,26 +1,21 @@
<?xml version="1.0" encoding="iso-8859-2"?>
<section id="siec_narzedzia">
-<title>Narzędzia sieciowe</title>
- <para>
- Na co dzień do konfiguracji sieci używamy skryptów systemowych
- oraz odpowiednich plików konfiguracji. Czasami jednak potrzebujemy
- dokonać szybkiej rekonfiguracji, sprawdzić ustawienia lub
- zdiagnozować jakiś problem.
- </para>
+ <title>Narzędzia sieciowe</title>
<para>
W PLD głównym pakietem narzędzi sieciowych jest
<productname>iproute2</productname>, oferuje on większe możliwości
oraz bardziej ujednolicony interfejs obsługi w stosunku do narzędzi
- z pakietu <productname>net-tools</productname> (<command>ifconfig<command>,
- <command>route<command>, <command>arp<command>, <command>ifup<command>,
- <command>ifdown<command>).
+ z pakietu <productname>net-tools</productname> (<command>ifconfig</command>,
+ <command>route</command>, <command>arp</command>, <command>ifup</command>,
+ <command>ifdown</command>).
Sercem pakietu <productname>iproute2</productname> jest program
- <command>ip</command>, zawierający funkcjonalność kilku starszych
- narzędzi w jednym.
+ <command>ip</command> zawierający funkcjonalność kilku starszych
+ narzędzi w jednym. Z tego względu będzie naszym podstawowym
+ narzędziem sieciowym.
</para>
<section id="siec_narzedzia_interfejsy_info">
- <title>Dane interfejsow</title>
+ <title>Konfiguracja interfejsow</title>
<para>
Aby wyświetlić konfigurację interfejsów użyjemy polecenia
<command>ip addr</command>.
@@ -40,12 +35,13 @@
3: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0</screen>
<para>
- Polecenie wyświetliło listę dostępnych interfejsów,
- oznaczonych numerami. W większości wypadków najbardziej
- interesujące są dla nas interfejsy fizyczne - tutaj eth0.
+ Polecenie wyświetliło listę dostępnych interfejsów, każdy z
+ nich oznaczony jest numerem porządkowym. W większości wypadków
+ najbardziej interesujące są dla nas interfejsy fizyczne (eth0 na
+ powyższym przykładzie).
Interfejsy <emphasis>lo</emphasis> oraz <emphasis>sit0</emphasis>,
- nie są urządzeniami fizycznymi, pierwsze z nich to interfejs pętli
- zwrotnej (loopback), drugie to interfejs służący do tunelowania
+ są "wirtualnymi" interfejsami, pierwszy z nich to interfejs pętli
+ zwrotnej (loopback), drugi służy do tunelowania
protokołu IPv6 wewnątrz IPv4.
</para>
<para>
@@ -68,9 +64,11 @@
</itemizedlist>
</para>
<para>
- Poniżej wyświetlone zostały informacje o adresach sprzętowych oraz IP:
+ Poniżej omawianego wiersza wyświetlone zostały informacje o
+ adresach związanych z urządzeniem (adresy IP i maski podsieci
+ są przedstawione w notacji CIDR):
<itemizedlist>
- <listitem><para>-link/ether - adres fizyczny karty sieciowej</para></listitem>
+ <listitem><para>-link/ether - adres fizyczny karty sieciowej (MAC)</para></listitem>
<listitem><para>-inet - dane protokołu IPv4</para></listitem>
<listitem><para>-inet6 - dane protokołu IPv6</para></listitem>
</itemizedlist>
@@ -80,14 +78,14 @@
<section id="siec_narzedzia_interfejsy_zarzadzanie">
- <title>Zarządzanie interfejsami</title>
+ <title>Zarządzanie interfejsami</title>
<para>
Do najczęstszych operacji tego typu należy włączanie i
wyłączanie interfejsów, w tym celu użyjemy następującego
polecenia:
</para>
<para><emphasis>ip link set {$interfejs} {up/down}</emphasis></para>
- <screen># ip link set eth0 up
+<screen># ip link set eth0 up
# ip link set eth0 down</screen>
<para>
</para>
@@ -96,18 +94,34 @@
<para><emphasis>ip addr {add/del} {$adresIP}/{$maska} dev {$interfejs}</emphasis></para>
<screen># ip addr add 10.1.1.1/24 dev eth0
# ip addr del 10.1.1.1/24 dev eth0</screen>
-
- <para>Adres MAC karty sieciowej ustawimy poleceniem:</para>
- <para><emphasis>ip link set {$interfejs} address {$MAC-adres}</emphasis></para>
+ </section>
+
+
+ <section id="siec_narzedzia_interfejsy_mac">
+ <title>Adresy sprzętowe(MAC)</title>
+ <para>Do odczytania adresu sprzętowego karty sieciowej możemy użyć
+ opisanego wcześniej polecenia <command>ip addr</command>.
+ Dowolny adres MAC karty sieciowej ustawimy poleceniem:</para>
+ <para><emphasis>ip link set {$interfejs} address {$MAC-adres}</emphasis>
<screen># ip link set eth0 address 01:01:01:01:01:01</screen>
+ </para>
+ <para>
+ Aby adres sprzętowy za każdym razem był ustawiany dla
+ interfejsu, powinniśmy dokonać odpowiedniego wpisu w pliku
+ konfiguracyjnym interfejsu. W przypadku urządzenia eth0
+ musimy zmodyfikować plik
+ <filename>/etc/sysconfig/interfaces/ifcfg-eth0</filename>,
+ i dodać zmienną MACADDR np.:
+ <screen>MACADDR="01:01:01:01:01:01"</screen>
+ </para>
</section>
-
-
+
+
<section id="siec_narzedzia_arp">
<title>ARP</title>
<para>
Aby wyświetlić tablicę ARP należy użyć polecenia
- <command>ip neighbour</command> (<command>arp</command>):
+ <command>ip neighbour</command>:
</para>
<screen># ip neighbour
10.0.0.140 ether 00:E0:7D:A1:8B:E2 C eth0
@@ -120,7 +134,7 @@
<command>ping</command>.
</para>
<para>
- Możemy stworzyć własną, statyczną tablicę ARP. Posłuży nam do
+ Możemy stworzyć własną, statyczną tablicę ARP, posłuży nam do
tego plik <filename>/etc/sysconfig/static-arp</filename> w
którym umieszczamy wpisy zawierające kolejno: interfejs, adres MAC,
adres IP oraz status wpisu.
@@ -128,88 +142,146 @@
eth0 00:c0:df:f9:4e:ac 10.0.0.7 permanent</screen>
Opcja permanent oznacza, że wpis nigdy nie wygasa.
</para>
-
</section>
+ <section id="siec_narzedzia_dns">
+ <title>Serwery nazw (DNS)</title>
+ <para>
+ Do odpytywania serwerów DNS możemy użyć programu <command>host</command> z
+ pakietu <productname>bind-utils</productname>. Pozwala na szybkie sprawdzenie
+ poprawności domeny konfiguracji domeny (strefy).
+ </para>
+ <para>
+ <command>host {$nazwa/$IP} {$dns_nazwa/$dns_IP}</command>
+ </para>
+ <para>
+ Pierwszy parametr to nazwa domeny lub IP maszyny,
+ drugi parametr nie jest obowiązkowy - wskazuje na serwer nazw
+ który chcemy odpytać. Jeśli nie podamy drugiego parametru
+ użyty zostanie serwer zdefiniowany w pliku <filename>/etc/resolv.conf</filename>.
+ </para>
+ <para>Odpytanie serwera DNS o domenę, wpisanego do pliku <filename>/etc/resolv.conf</filename> </para>
+<screen>$ host pld-linux.org
+pld-linux.org has address 217.149.246.8</screen>
+ <para>Odpytanie o adres IP (odwzorowanie odwrotne)</para>
+<screen>$ host 217.149.246.8
+8.246.149.217.in-addr.arpa domain name pointer webmachine.pld-linux.org.</screen>
+ <para>Odpytanie dowolnego serwera DNS</para>
+<screen>$ host pld-linux.org ns4.pld-linux.org.
+Using domain server:
+Name: ns4.pld-linux.org.
+Address: 217.149.246.7#53
+Aliases:
+
+pld-linux.org has address 217.149.246.8</screen>
+ <para>
+ Aby odczytać konkretny rekord domeny użyjemy
+ parametru "-t". Dla przykładu spróbujemy określić rekord MX
+ dla domeny pld-linux.org:
+ <screen>$ host -t mx pld-linux.org
+pld-linux.org mail is handled by 0 a.mx.pld-linux.org.</screen>
+ </para>
+ </section>
+
<section id="siec_narzedzia_monitoring">
<title>Monitorowanie sieci</title>
- <para>Do nadzorowania połączeń, otwartych gniazd możemy użyć
- programów <command>ss</command> lub <command>netstat</command>,
- dla zwykłego użytkownika wygodniejszy w obsłudze może się okazać
- pierwszy z wymienionych. Uruchomienie programu
- <command>ss</command> bez parametru wyświetli nawiązane
- połączenia. Użycie parametru "-l" wyświetli gniazda nasłuchujące,
- a "-n" wyłącza tłumaczenie numerów portów na nazwy, "-r"
- tłumaczy adresy IP na nazwy FQDN. Ważnym parametrem jest "-p"
- - podaje on nazwę oraz PID programu, który używa danego
- portu.
- <screen># ss -r
-State Recv-Q Send-Q Local Address:Port Peer Address:Port
-ESTAB 0 0 10.0.0.1:3323 jabber.pld-linux.org:5223
-ESTAB 0 0 10.0.0.1:4858 mail.icenter.pl:imap
-ESTAB 0 0 10.0.0.1:3296 akcyza.pld-linux.org:http
-ESTAB 0 0 10.0.0.1:3295 akcyza.pld-linux.org:http</screen>
+ <para>
+ Nawiązane połączenia i otwarte porty protokołu TCP/IP
+ możemy kontrolować za pomocą programu <command>netstat</command>
+ np.:
</para>
+<screen># netstat -tua
+Active Internet connections (servers and established)
+Proto Recv-Q Send-Q Local Address Foreign Address State
+tcp 0 0 *:blackjack *:* LISTEN
+tcp 0 0 *:ircs *:* LISTEN
+tcp 0 0 *:netbios-ssn *:* LISTEN
+tcp 0 0 *:ipp *:* LISTEN
+tcp 0 0 *:microsoft-ds *:* LISTEN
+tcp 0 0 gargamel:ircs 192.168.1.3:rapidmq-reg ESTABLISHED
+tcp 0 0 gargamel:imaps 192.168.1.6:ttc-etap-ds ESTABLISHED
+tcp 0 0 gargamel:td-postman host-92.gadugadu.p:8074 ESTABLISHED
+tcp 0 0 gargamel:cma chrome.pl:5223 ESTABLISHED
+tcp 0 0 *:1024 *:* LISTEN
+udp 0 0 gargamel:netbios-ns *:*
+udp 0 0 *:netbios-ns *:*
+udp 0 0 *:ipp *:*</screen>
+
+ <para>
+ Na powyższym przykładzie zostały wyświetlone dane dotyczące protokołu TCP
+ (opcja: <parameter class='command'>-t</parameter>) oraz UDP
+ (<parameter class='command'>-u</parameter>). Dodatkowo zostały wyświetlone
+ gniazda nasłuchujące (<parameter class='command'>-a</parameter>). Warte
+ uwagi są jeszcze dwa parametry: <parameter class='command'>-n</parameter>
+ i <parameter class='command'>-p</parameter>, pierwszy wyświetla porty i
+ adresy w postaci liczb, drugi zaś wyświetla nazwy programów
+ korzystających z danych gniazd.
+ </para>
<para>
Do analizowania sieci na bieżąco świetnie nadaje się program
<productname>IPTraf</productname>, jest to intuicyjny w obsłudze
program, pozwalający śledzić ruch sieciowy i generować
- statystyki. Obsługa programu jest tak prosta że nie wymaga
- żadnych dłuższych wyjaśnień.
+ statystyki.
</para>
<para>
Bardzo wygodnym sposobem śledzenia wybranego ruchu sieciowego
- jest użycie regułek linuksowego filtra pakietów - programu
- <productname>IPTables</productname>. Do śledzenia ruchu służy
- cel "-j LOG" np.:
+ jest użycie regułek linuksowego filtra pakietów. Do
+ śledzenia ruchu służy cel "-j LOG" np.:
<screen># iptables -A INPUT -p TCP --dport 80 -s 10.0.0.3 -j LOG</screen>
- Powyższy wpis doda do łańcucha INPUT regułkę każącą rejestrować
- połączenia TCP z hosta 10.0.0.3 na port 80 lokalnej maszyny.
+ Powyższy wpis doda do łańcucha INPUT regułkę rejestrującą
+ połączenia TCP z hosta 10.0.0.3 na port 80 danej maszyny.
Aby te regułki działały z wpisami odrzucającymi pakiety
- (DROP/REJECT) musza być umieszczone ponad nimi, w przeciwnym
+ (DROP/REJECT) muszą być analizowane wcześniej, w przeciwnym
wypadku pakiet nigdy nie dotrze do regułki rejestrującej.
W przypadku dopasowania pakietu do regułki następuje
odnotowanie tego zdarzenia, wpisy te można odczytywać
za pomocą programu <command>dmesg</command>, lub z plików syslog-a -
zwykle z <filename>/var/log/kernel</filename> i
- <filename>/var/log/messages</filename>
+ <filename>/var/log/messages</filename>.
</para>
</section>
- <section id="siec_narzedzia_monitoring">
+
+
+ <section id="siec_narzedzia_zakonczenie">
<title>Zakończenie</title>
+ <para>
+ W przypadku modyfikacji plików konfiguracji w większości wypadków
+ trzeba dokonać restartu podsystemu sieci.
+ </para>
+ <para>
W tym rozdziale opisano niewielki fragment możliwości
dostępnych narzędzi sieciowych. Poniższa lista przedstawia
miejsca gdzie można znaleźć szerszy opis niektórych zagadnień.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ NET-3-HOWTO z
+ <ulink url="http://www.jtz.org.pl/">http://www.jtz.org.pl/</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Zaawansowany routing:
+ <ulink url="http://echelon.pl/pubs/NET4.pdf">
+ http://echelon.pl/pubs/NET4.pdf</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Dokumentacja iproute2
+ <ulink url="http://www.policyrouting.org/iproute2-toc.html">
+ http://www.policyrouting.org/iproute2-toc.html</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://linux-ip.net/">
+ http://linux-ip.net/</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
</section>
-
- <itemizedlist>
- <listitem>
- <para>
- NET-3-HOWTO z
- <ulink url="http://www.jtz.org.pl/">http://www.jtz.org.pl/</ulink>
- </para>
- </listitem>
- <listitem>
- <para>Zaawansowany routing:
- <ulink url="http://echelon.pl/pubs/NET4.pdf">
- http://echelon.pl/pubs/NET4.pdf</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- Dokumentacja iproute2
- <ulink url="http://www.policyrouting.org/iproute2-toc.html">
- http://www.policyrouting.org/iproute2-toc.html</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink url="http://linux-ip.net/">
- http://linux-ip.net/</ulink>
- </para>
- </listitem>
- </itemizedlist>
</section>
Modified: PLD-doc/book/pl_book__siec/pl_siec_zastosowania.chp
==============================================================================
--- PLD-doc/book/pl_book__siec/pl_siec_zastosowania.chp (original)
+++ PLD-doc/book/pl_book__siec/pl_siec_zastosowania.chp Wed Jul 20 02:18:19 2005
@@ -7,4 +7,5 @@
&siec_iptables;
&siec_pppssh;
&siec_vtun;
+&siec_narzedzia;
</chapter>
Więcej informacji o liście dyskusyjnej pld-doc