Podłączanie GNS3 VM do internetu
GNS3 jest bardzo przydatne do symulowania, emulowania sieci komputerowych. Czasami zachodzi potrzeba podłączenia sieci stworzonej w GNS3 do internetu. W tym wpisie pokażę jak to zrobić na przykładzie GNS3 zainstalowanego jako maszyna wirtualna na Vmware Workstation na komputerze lokalnym. Ja używam GNS3 w wersji VM, ponieważ GNS3 nie działa zbyt stabilnie na Windowsie, a taki posiadam system operacyjny, aczkolwiek tam samo będzie wyglądać podłączanie do Internetu lokalnie zainstalowanego GNS3.
TOPOLOGIA
Zbudujmy następującą topologię składającą się z routera oraz hosta. Jako host uruchomiłem kontener dockera z zainstalowanym systemem Alpine Linux, który zajmuje tylko 5MB, a sluży nam tylko w celu zasymulowania hosta w sieci z dostępem do narzędzia diagnostycznego ping. Natomiast jako router posluży obraz z routerem Cisco 7200. Topologia znajduje się na poniższym obrazku:
Konfiguracja routera R1:
interface FastEthernet0/0 ip address dhcp ip nat outside duplex full ! interface FastEthernet1/0 ip address 10.0.0.1 255.255.255.0 ip nat inside speed auto duplex auto ! ip nat inside source list 1 interface FastEthernet0/0 overload ip forward-protocol nd ! access-list 1 permit 10.0.0.0 0.0.0.255
Wyjaśnienie:
Konfiguracja routera jest bardzo prosta, bo właściwie to tylko konfiguracja interfejsów i NATu. Interfejs wewnętrzny podłączony do hosta (Fa1/0) konfigurujemy z adresem IP 10.0.0.1/24 oraz jako ip nat inside, natomiast interfejs zewnętrzny podłączony do naszej chmury Cloud1 (Fa0/0) konfigurujemy jako ip nat outside z adresem branym z DHCP. Jeśli sieć w której znajduje się fizyczny interfejs naszego komputera podłączony do internetu nie posiada serwera DHCP to musimy przypisać go na sztywno, a następnie wskazać bramę. Zakładam jednak, że większość osób korzysta w domu z standardowego routera z dostępem do internetu na którym uruchomiona jest usługa DHCP.
Konfiguracja hosta:
/ # ifconfig eth0 10.0.0.2 netmask 255.255.255.0 / # route add default gw 10.0.0.1 eth0
Wyjaśnienie:
Hosta konfigurujemy wydając dwa polecenia. Pierwsze przypisuje adres IP, drugie przypisuje bramę domyślną, dzięki czemu host ma dostęp do internetu. Dodatkowo możemy edytować plik /etc/resolv.conf i wpisać adres serwera dns. Dzięki czemu możliwe będzie pingowanie po nazwach.
Plik edytujemy edytorem vi:
/ # vi /etc/resolv.conf nameserver 8.8.8.8 ~ ~ ~ ~ ~ - /etc/resolv.conf 1/1 100%
PODŁĄCZENIE DO INTERNETU
W celu podłączenia routera R1 do internetu, a tym samym udostępnieniu internetu na hoście alpine-1 konieczne jest wykonanie następujących kroków:
Krok 1: Stworzenie nowego urządzenia (chmury):
Krok 2: Skonfigurowanie chmury poprzez przycisk Configure i dodanie interfejsu fizycznego naszego komputera, który podłączony jest do internetu:
W moim przypadku interfejs, którym karta sieciowa mojego komputera podłączona jest do internetu to Local Area Connection 2. Jeśli po otworzeniu zakładki Configure w polu Ethernet Interfaces są jakieś interfejsy to należy je usunąć, a następnie zaznaczyć opcję Show special Ethernet interfaces na spodzie. Po tej operacji będziemy mogli z listy wybrać odpowiedni interfejs i dodać go klikając przycisk Add.
Krok 3: Podłączenie chmury do interfejsu fa0/0 routera R1.
Po wykonaniu kroku trzeciego interfejs fa0/0 na routerze powinien się podnieść, a po chwili dostać adres IP z DHCP:
R1#show ip int brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.0.24 YES DHCP up up FastEthernet1/0 10.0.0.1 YES manual up up FastEthernet1/1 unassigned YES unset administratively down down
GOTOWE!
Mamy teraz połączenie z internetem w naszej sieci pod GNS3. Sprawdźmy to wydając komendę ping na hoście:
/ # ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=58 time=31.886 ms 64 bytes from 8.8.8.8: seq=1 ttl=58 time=28.761 ms ^C --- 8.8.8.8 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 28.761/30.323/31.886 ms / # ping onet.pl PING onet.pl (213.180.141.140): 56 data bytes 64 bytes from 213.180.141.140: seq=0 ttl=58 time=21.966 ms 64 bytes from 213.180.141.140: seq=1 ttl=58 time=11.804 ms ^C --- onet.pl ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 11.804/16.885/21.966 ms / #
Jak widać zarówno ping adresu 8.8.8.8 jak i onet.pl zakończyły się sukcesem. Prędkość takiego połączenia internetowego nie jest zawrotna, ze względu na ograniczenia na wirtualnym routerze R1 oraz na samym GNS3, natomiast do celów diagnostycznych i testowych taka prędkość w zupełności wystarczy.