Autor Wątek: [HowTo]: Jak najszybciej rozwiazać mój problem z siecią?  (Przeczytany 20003 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

dariuszmarek

  • Gość
[HowTo]: Jak najszybciej rozwiazać mój problem z siecią?
« dnia: Czerwiec 05, 2006, 11:09:29 pm »
===> CO JEST MOIM OBOWIĄZKIEM? <===

Jeżeli macie problemy zwiazane z siecią możecie sobie i innym ułatwić życie wykonując SAMODZIELNIE kilka testów i gromadząc garść informacj. To oszczędza czas i nerwy i nie ma potrzeby dodatkowych pytań pomocniczych.

LUDZIE: NAUCZCIE SIE PISAĆ TAK, ABY MOŻNA WAM BYŁO POMÓC

1. Polecenia wpisuje sie w konsoli.

Otwieranie okna konsoli
W KDE:
  • kliknij na monitor z muszelką shell albo
  • ALT+F2 i wpisz „konsole“ (bez cudzysłowia)

znaczek "hasz" ==> # oznacza, że wpisujemy coś w konsoli. Znaczki do oznaczenia konsoli mogą byc różne.
znaczki 'coś tu jest' cudzysłowia nie wpisujesz w konsoli tylko to, co jest pomiędzy nimi.

Upawnienia root

Do niektórych poleceń konieczne są prawa root (administratora). Należy wpisać w konsoli 'su' oraz podać hasło. W KDE można też wpisać „kdesu polecenie“ a następnie hasło.
Polecenie ifconfig i route znajduje się w katalogu /sbin i zwykły użytkownik nie może go wykonać.

# dm@c16:~> ifconfig
bash: ifconfig: command not found

Wynik polecenia można przekierować do pliku tekstowego:

# polecenie >plik.txt

Nie trzeba wtedy nic odpisywać i wszystko ląduje w pliku.

2. Pod Windowsem działa pod Linuxem nie

Pod Windowsem NT/2K/XP można sprawdzic konfigurację TCPIP poleceniem

C:> ipconfig /all

albo do pliku tekstowego

C:> ipconfig /all >ipconfig.txt

Tabele routingu sprawdzimy poleceniem
C:> route print

albo do pliku tekstowego

C:> route print >route.txt

Jeśli to przepostujecie, to już mnie więcej  można zlokalizować problem.


3. Testy poprzez PING (wysyłanie pakietów)
 

Jeżeli nie działa internet, to może być wiele przyczyn.
Nie pytajcie: "czy ma ktoś pomysł?", tylko postarajcie się sami zlokalizować błąd.

Czy wtyczka znajduje sie w gniazdku?
Czy kabel nie jest uszkodzony?
Czy karta sieciowa nie jest zepsuta?
Czy sterownik poprawnie został zainstalowany?
Czy Firewall nie blokuje wszystkiego?
Czy w kernelu znajdują się odpowiednie moduły?


Aby po kolei wyłączać możliwe przyczyny usterki, należy trochę „popingować“


1) spawdzamy działanie TCP/IP

# ping localhost

lub
# ping 127.0.0.1

 

2) sprawdzamy sterownik
 
# ping „własny adres-IP w podsieci“

przykład:

# ping 192.168.2.2


3) spawdzamy, czy kabelki i połączenie w LAN-ie jest OK. Jeżeli masz router – spinguj router.
# ping „adres-IP w tej samej podsieci LAN“

przykład:
# ping 192.168.2.1


4) sprawdzamy działanie serwera DNS (serwera nazw) w sieci lokalnej
# ping „Hostname w podsieci LAN“

przykład:
# ping server.mydomain


5) sprawdzamy, czy jest połączenie z internetem
ping „adres-IP w internecie“

przykład:
# ping 195.135.220.3

Wskazówka: 195.135.220.3 jest adresem www.suse.de i odpowiada na pingowanie (nie wszystkie maszyny w sieci internet i lokalnej muszą odpowiadać na pingi – zabezpieczenia, firewall etc.)

6) sprawdza serwer nazw w internecie
# ping „nazwa Hosta w internecie“
przykład:

# ping www.suse.de

Polecenie PING można zakończyć poprzez CTRL+c

Można też użyc tego wariantu:
# ping -c4 ip.adres.twego.routera


Wtedy polecenie PING automatycznie zakończy się po wysłaniu 4 pakietów (jak pod windowsem)


4. Konfiguracja sieci/karty sieciowej – jakie ustawienia?

jako root:
# ifconfig

Rezultat wygląda mniej więcej tak:
eth0      Link encap:Ethernet  HWaddr 00:50:04:46:4C:11 
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::250:4ff:fe46:4c11/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1
          RX packets:44837 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56189 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:9424913 (8.9 Mb)  TX bytes:36920342 (35.2 Mb)
          Interrupt:10 Base address:0x1080

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:48681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48681 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13026354 (12.4 Mb)  TX bytes:13026354 (12.4 Mb)

Najważniejsze jest, aby karta sieciowa miała przypisany adres IP (inet addr:192.168.0.2) oraz aby pakiety były wysyłane (TX packets:56189) i przyjmowane (RX packets:44837).

To polecenie wyświetla zawartość tabeli routingu:
# route

Rezultat:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.0.1  0.0.0.0         UG    0      0        0 eth0

Gdzie jest Standardgateway?


w wyniku polecenia
# route

widać 'default'. To jest adres bramki (Standardgateway). JEŻELI GO NIE MA – NIE MA INTERNETU! Musisz znać adres bramki: spytaj admina lub zobacz adres domyślny Twego routera!

W celu testu można bramkę wpisac z ręki:
# route add default gw 192.168.0.1
(przy czym oczywiście wartość 192.168.0.1 należy zastąpić 'poprawnym' adresem).

Jednakże takie ustawienie działa tylko do nastepnego rebootu (restartu). W YaST możesz to ustawienie „zapisać“ na stałe.

5. Jaki DNS?
Adresy serwera DNS znajdują się w pliku /etc/resolv.conf. Można wyświetlić jego zawartość poleceniem (jako root):
# cat /etc/resolv.conf

Rezultat wygląda mniej więcej tak:
nameserver 192.168.0.1
search mydomain.home

Przy czym 'nameserver' to adres IP Twojego serwera DNS.

Jeśli nie ma 'nameserver', to znaczy, że nie działa serwer DNS.

Przy diagnozie problemów z DNS pomocne mogą być 'nslookup', 'dig' i 'host' 

Serwery DNS w Polsce to:
194.204.152.34
217.98.63.164
 "Serwerem" DNS - może być też IP Twego routera domowego, który automatycznie pobiera DNSy od providera a następnie przekazuje je do podsieci - stąd IP-routera jako DNS przy dzielonym internecie.

6. Czy IPTables/Netfilter Firewall są aktywne?

W razie problemów z Firewallem trzeba przetestować bez niego. Niektóre usługi mogą byc blokowane przez Firewall.

Jeżeli postujecie komunikaty, to *PROSZE* obcinajcie zbędne komentarze celem przejrzystości.


7. Czy Routing jest aktywny?

w konsoli :
# cat /proc/sys/net/ipv4/ip_forward

Powinna wyjść „1“ - wtedy routing jest włączony.
(W zasadzie potrzebne tylko przy serwerach – w pojedynczym komputerze routing można wyłączyć)

8. Jaką mam kartę sieciową PCI/WiFi i na jakim chipie?

jako root:
# lspci
lub
# lsusb

przykład:
01:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

*PROSZE* - piszcie jaka karta i jaki chip - to jest PODSTAWA. Informacja o notebookach typu: mam Amilo L 4000 - nic mi nie mówi - i sorry, ale nie chce mi się szukać, jaka to karta i jaki chip - dla Ciebie to 15 sekund pracy z 'lspci' - dla NAS kilka [cennych] minut.
========================================

Dodatkowo znalazłem świetny skrypt na www.linux-club.de
BIG THX an @framp !!!

Skrypt pokazujący wszystko o sieci za 1 poleceniem:

1.ściągnij skrypt ==> www.framp.de/linux/?download=collectNWData.sh
2. jako root w konsoli wpisz:
# sh collectNWData.sh
2. przepostuj


Skrypt:
# Kleines Script welches im Falle von Linux Netzwerkproblemen die ersten
# wichtigsten Informationen sammelt und ausgibt so dass sie in einem Forum
# gepostet werden koennen
# Feel free to extend this script.
#
# framp 04/08/06
#

MYSELF=`basename $0`

if [ $UID -ne 0 ]; then
   echo "$MYSELF: Need to be executed by root"
   exit 1
fi

LOG="/tmp/${MYSELF}$$"

function cleanup {
   rm -f $LOG
   exit
}

trap 'cleanup' 0 1 2 15

CMD[0]="cat /etc/resolv.conf"
CMD[1]="route"
CMD[2]="ifconfig"
CMD[3]="cat /etc/sysconfig/SuSEfirewall2 | grep -v \"^#\" | grep -v \"^$\""

i=0
while [ -n "${CMD[$i]}" ]; do
   echo "*************************************************************" >> $LOG
   echo "*** ${CMD[$i]} " >> $LOG
   echo "*************************************************************" >> $LOG
   echo "" >> $LOG
   eval ${CMD[$i]} >> $LOG
   echo "" >> $LOG
   let i=i+1
done

cat $LOG

P.S. Kommentarze, wskazówki, poprawki mile widziane. Proszę na priva.