Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Konfigurowanie sieci - symulacja na wirtualnych maszynach

26 Lut 2013 20:11 3726 8
  • Poziom 10  
    Witam,
    w ramach zajęć laboratoryjnych będziemy konfigurować na różne sposoby sieć konfiguracyjną wykorzystując do tego maszyny wirtualne (wstępnie skonfigurowane przez prowadzących - debian).

    Schemat sieci wygląda tak:
    Konfigurowanie sieci - symulacja na wirtualnych maszynach

    Wstepnie chciałem przetestować konfiguracje między hostami z podsieci 192.168.0.0 oraz 172.16.0.0. W tym celu użyłem 4 wirtualnych maszyn (A1, B1 jako hosty i R1, R2 jako routery).

    Jakie czynności wykonałem:
    - ustawienie adresu IP dla A1 oraz dodanie wpisu do tablicy routingu (ip route add default via 192.168.0.1). To samo odpowiednio dla B1.
    - R1, R2 to dodanie dwóch interfejsów sieciowych oraz dodanie do tablicy routingu(m.in.: R1 - route add -net 172.16.0.0/24 gw 10.0.1.2).

    Po tych czynnościach próbowałem wykonać ping z A1: ping 172.16.0.2 lecz nie można było otrzymać odpowiedzi..

    ..więc przeczytałem, że można ustawić na routerach ip_forwarding poleceniem: sysctl net.ipv4.ip_forward=1, jednak nadal pingi nie dochodza.. :(

    Co można w teraz spróbować? Dodam iż maszyny wirtualne posiadają interfejsy ustawione w tryb Internal Network..

    Pozdrawiam i czekam na jakiekolwiek sugesite.. (bo z siecami to ja dopiero zaczynam ;) )
    Marcin
  • Poziom 9  
    Hey
    Z tego co piszesz to czynności wykonałeś dobre. Teoretycznie jeśli wszystkie adresy poustawiałeś ok to powinno to chodzić. Ustawienie ip_forward to konieczność gdy chcesz puszczać rouch przez router. Na twoim miejscu zacząłbym od przypadków najprostszych:
    Sprawdź czy leci ping od A1 do R1, czy R1 i R2 sie widzą? (ping też leci?). Debian świeżo po instalacji nie ma firewalla, ale możesz sprawdzić czy aby napewno (iptables -vxL).
    Jaka to maszyna wirtualna? VirtualBox? VMWare?
  • Poziom 10  
    @gitpusher - dzięki za zainteresowanie :)
    Sprawdze te pingi za jakieś 2h (bądź wieczorem), bo teraz nie mam dostępu do komputera gdzie mam VirtualBoxa.. (odpowiadając jednocześnie na jedno z twoich pytań..)

    Dam znać jak wykonam pingi, bo w sumie jakiś ping tam wykonywałem i chyba bylo ok, ale nie sprawdzilem wszystkich możliwości..

    Dodano po 3 [godziny] 30 [minuty]:

    Coś ewidentnie nie cyka.. bo pingi się nie chcą wykonać..

    Chciałem puścić pinga na komutery w tej samej sieci:

    A1 (host) :
    ifconfig eth0 192.168.2.2 netmask 255.255.255.0

    R1 (domyślnie router) :
    ifconfig eth0 192.168.2.20 netmask 255.255.255.0

    i przy próbie pingowania A1 -> R1 mam wynik:
    From 192.168.2.2 icmp_seq=2 Destination Host Unreachable
    ...

    czyli w ogólnie nie mogę wykonać zwykłego pinga.. ;/
    Co może być nie tak?
  • Pomocny post
    Poziom 9  
    Hey
    No to faktycznie ewidentnie jakiś problem jest. Na pewno eth0 to sieciowka z virtualboxa? Sprawdź czy nazwa sieci w tym trybie internal network jest ta sama dla wszystkich maszyn wirtualnych. W ostateczności możesz spróbować ustawić bridged mode.
  • Poziom 10  
    W sumie powiem tak... znalazłem na dysku i odpaliłem stare VM, na których wiem, że "zwykłe" pingowanie mędzy dwoma maszynami w sieci działało.. Z tego co zaobserwowałem to owe maszyny mają ustawione adaptery na Host-only Adapter (name: VirtualBox Host-Only Ethernet Adapter) i tam pingowanie działa.. Po ustawieniu tych opcji na obecnych VM pingowanie również zaczyna działać, z tym że jest to ingerencja w ustawienia interfejsów (i nie wiem czy jest ona słuszna, bo to są niby VM już skonfigurowane do pracy, przygotowane przez prowadzących zajęcia ).

    Poza tym znalazłem wątek na forum ( ), gdzie jedna z rad brzmi aby ustawić adaptery w tryb Internal Network.

    Natomiast "domyślne" ustawienia interfejsów to Internal Network (name: X) i z tego co widzę, każda sieć ma inną nazwe.. Może tutaj leży przyczyna.. (bo coś wspomniałeś o tych nazwach..).

    Edit:
    Teraz znalazłem taką podpowiedź na necie:
    Zwróć szczególną uwagę, aby interfejsy maszyn wirtualnych, które mają być we wspólnej podsieci, podłączone były do tych samych sieci wewnętrznych (o tych samych nazwach).

    U mnie tak jak wspomniałem każda maszyna wirtualna ma inną nazwę, no ale chyba jakoś idzie je połączyc tak aby to grało? No patrząc na przykład pingowania dwóch maszyn w jednej podsieci o różnych nazwach sieci to nie, no ale ogólnie to cały schemat powinien działać..

    Jeszcze coś sprawdzę, ale jakby co czekam na podpowiedzi..
    Edit2:
    Ok, wygląda na to, że działa :D Jednak chodziło o te nazwy sieci i trzeba było połączyc je z odpowiednimi adapterami.. Bez Twojego naprowadzenia bym na to nie wpadł (brak doświadczenia w tej kwestii), więc dzięki!
    ps. Nawet działa bez ustawiania ip_forward na tych routerach.. być może domyślnie jest ustawione, ale w pliku sysctl.conf nie mogłem tego wpisu w ogóle znaleźć...
  • Poziom 9  
    Hey
    Ciesze sie że mogłem pomóc. A jeśli chodzi o ip_forward to możesz to sprawdzić tak:
    cat /proc/sys/net/ipv4/ip_forward
    załączanie i wyłączanie przez:
    echo 0 > /proc/sys/net/ipv4/ip_forward
    echo 1 > /proc/sys/net/ipv4/ip_forward

    pozdrawiam!
  • Poziom 10  
    Podejrzałem sobie ten ip_forward i domyślnie jest 0, no ale tak jak mówiłem i bez tego pingowanie działało z różnych podsieci.. I w sumie teraz nie wiem czy musi być ustawiona 1-ka czy nie (w rzeczywistości.. bo jednak to maszyny wirtualne ..)
  • Poziom 9  
    Cześć
    Chyba mogłem Cie wprowadzić w błąd określeniem że ma być ta sama sieć "dla wszystkich maszyn wirtualnych". Ta sama sieć ma być tylko dla routerów - one są między sobą w tej samej sieci i tak też fizycznie powinny być przypisane w virtualbox. Routing generalnie polega na tym że ruch jest przekierowany z jednej sieciówki na drugą (na tej samej maszynie), wobec tego powinieneś mieć na każdym routerze (R1, R2, R3) po dwie sieciówki:
    jedna wspólna sieć dla wszystkich routerów (np. eth1), druga z nich natomiast powinna być ustawiona we wspólnych sieciach ale tylko z odpowiadającymi im stacjami:
    A1 <-> R1
    B1 <-> R2
    R3 <-> C1
    dokładając do tego wspólną sieć dla routerów powinieneś mieć w tym 'internal network' cztery różne identyfikatory sieci. Dopiero wtedy ma sens testowanie routingu według Twojego schematu. Jeśli teraz wszystkie adresy masz poustawiane na jednych sieciówkach i wszystko w jednej wspólnej sieci to wogóle nie ma sensu - bo to jasne ze wszystko sie bedzie widziec i pingowac nawet bez ustawionego ip_forward ;)

    pozdrawiam
  • Poziom 10  
    Ale jest tak jak piszesz, tzn. ruter ma dwa interfejsy które dzialają w innych sieciach (tzn. mają inne nazwy), tylko np. dwa routery polaczone ze sobią na adresach 10.0.1.1 i 10.0.1.2 mają ustawione nazwę sieci na X (znaczy się odpowiednie interfejsy, bo te rutery mają akurat ich 4), host A ma sieć A, a host B siec B, etc..

    No i bez ip_forward to pingowalo :P