KPS:Netsim

Z Support
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
 
Řádka 108: Řádka 108:
 
  Wants=network-online.target
 
  Wants=network-online.target
 
  After=network.target network-online.target
 
  After=network.target network-online.target
 
 
  [Service]
 
  [Service]
 
  ExecStart=/usr/local/bin/gns3server --log /var/log/gns3/gns3.logi
 
  ExecStart=/usr/local/bin/gns3server --log /var/log/gns3/gns3.logi
 
  ExecStartPost=/usr/bin/virsh net-destroy --network default ; /usr/bin/sleep 3
 
  ExecStartPost=/usr/bin/virsh net-destroy --network default ; /usr/bin/sleep 3
 
  ExecStartPost=/usr/bin/virsh net-start --network default
 
  ExecStartPost=/usr/bin/virsh net-start --network default
 
 
  ExecReload=/bin/kill -s HUP $MAINPID
 
  ExecReload=/bin/kill -s HUP $MAINPID
 
  Restart=on-abort
 
  Restart=on-abort
  
Defaultní síť lze také restartovatza běhu GNS3 a tím problém vyřešit. Problém se neobjevuje, pokud je alespoň jedno tap zařízení bridgované do NATu tzn. existuje alespoň jeden projekt, který stále běží.
+
Defaultní síť lze také restartovatza běhu GNS3 a tím problém vyřešit. Problém se neobjevuje, pokud je alespoň jedno tap zařízení bridgované do NATu tzn. existuje alespoň jeden projekt, který stále běží a je tam linka do NAT zařízení.
 +
 
  
  
 
[[Kategorie:webnet:server]]
 
[[Kategorie:webnet:server]]

Aktuální verze z 08:54, 19 duben 2021

Obsah

[editovat] Server pro simulaci sítě WEBnet

Server netsim.civ.zcu.cz slouží primárně pro simulaci sítě WEBnet.

[editovat] Instalace GNS3 Serveru

Postupovat podle návodu. Nejdříve nainstalovat potřebné balíky. Pro instalaci samotného serveru je lepší vždy používat pip3 kvůli novějším verzím.

pip3 install gns3-server
pip3 install gns3-server --upgrade

[editovat] Instalace GNS3 Klienta

Zatím je lepší používat gns3-gui kvůli "odladěnosti". Webový klient je na stejné adrese jako HTTP API pro klienta v pythonu.

pip3 install gns3-gui


Hned po zapnutí klienta je potřeba nastavit jiný server Edit -> Preferences -> Server -> Main server -> Remote main server:

[ ] enable local server
Protocol: HTTP
Host: netsim.civ.zcu.cz
Port: 80 TCP
user: zeptat se v KPS
pass: zeptat se v KPS

Terminál bývá nastavený správně, ale je třeba si nainstalovat wireshark a nějaký VNC viewer třeba Remmina nebo tigervnc. Pak je v General preferences -> VNC možné nastavit cestu s parametrama, pro remminu:

remmina -c vnc://%h:%p

[editovat] Lokace pro konfiguraci a správu GNS3 na serveru

#Nastavení serveru, zde se nastavují porty, cesty k modulům a projektům
 /root/.config/GNS3/2.2/gns3_server.conf
#Složka s projekty
/root/GNS3/projects/
#Složka s připravenými image
/root/GNS3/images/QEMU
#Systemd servica
/etc/systemd/system/gns3.service

[editovat] Sestavení VPCS

V debian repozitářích je prehistorická verze VPCS a tak je nutné si dokompilovat verzi novou z GitHubu. Poté se nastaví např. jen symbolické cesty na spustitelný .bin soubor /usr/bin/vpcs.

[editovat] Jak na Docker

Přidání docker image lze provést z GNS3 marketplacu nebo ručně. Dále bude postup pro manuální přidání čistého debianu a pak si ten image upravíme podle potřeby:

na serveru:

docker pull debian

V gns3-gui New template -> Manually create -> Docker -> New -> Existing Image (vybereme debian:latest), dále necháme v defaultu. Dáme docker na canvas připojíme na internet přes NAT. Připojíme se přes telnet poklikáním a doinstalujeme balíčky co se nám hodí např. net-tools nebo iperf3. Docker necháme zapnutý a dále pokračujeme v terminálu na serveru. Image dockeru jsou z povahy persistentní a nainstalované balíčky by nám zmizely po restartu, proto je třeba stav zachovat.

docker ps #zjistíme id běžícího dockeru např 7f5f9dc6a7b7
docker commit 7f5f9dc6a7b7 kps/debian:verze1 #commitneme si novou verzi s novým tagem

Nyní můžeme přidat úplně stejně další docker v gns3-gui, ale vybereme image kps/debian:verze1, který již má naše featury. Ještě před nastartováním dockeru je možné zvolit "Edit config", kde po odkomentování položek:

auto eth0
iface eth0 inet dhcp

bude automaticky získávat DHCP adresu.

[editovat] Jak vytvořit qcow2 template

Přetažením již existujících templatů do pracovní plochy se vytvoří .qcow2 kopie v adresáři:

/root/GNS3/projects/*project_uid*/project-files/qemu/*device_uid*/obraz.qcow2

Prováděním úprav v GNS3 se upravuje tento obraz a je možné jej zpět nakopírovat do cesty:

/root/GNS3/images/QEMU/obraz.qcow2

Pak je možné buď template upravit v panelu devices: Configure template -> HDD -> HDA (relativní cesta k obrazu, nelze požít browse ten používá lokální procházení souborů), nebo vytvořit kopii: Edit -> Preferences -> QEMU -> Copy a vytvořit tak nový template s např. stejnou konfigurací pro síťová rozhraní.

[editovat] Vytvoření nového device

Z menu: File -> New template -> From repository -> NX-OSv 9000, zde je nutné na internetu najít soubor OVMF-20160813.fd (obraz nexus biosu) a také je nutné disponovat samotným obrazem. Jelikož je poslední verze 9.3.3 je potřeba vytvořit novou verzi např. 9.3.7, tak aby seděl název s nahrávaným obrazem. Taky je pro novou verzi nutné zatrhnout položku "Allow custom files". GNS3-gui "skenuje" stažené soubory na našem počítači proti požadovaným souborům a po vybrání konkrétní verze je zeleně označí a je možné je dalším krokem nahrát na server.

[editovat] NAT

Aby bylo možné vytvořit NAT, je nunté mít na serveru balíček libvirt a vytvořit defaultní virtuální síťové rozhraní virbr0:

virsh net-start default
virsh net-autostart default
virsh net-list --all

Toto rozhraní má rozsah 192.168.122.0/24 a lze dále upravit:

virsh net-edit --network default
<network>
  <name>default</name>
  <uuid>b113d5ef-0b58-489f-9374-42be79bfc46e</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='off' delay='0'/>
  <mac address='52:54:00:0e:2f:30'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
 </network>

Návaznosti na toto rozhraní jsou pak vidět dvěma příkazy:

brctl show # bridgované tun devices z jednotlivých projektů
virsh net-dhcp-leases --network default # aktivní dhcp leasy

Bylo zjištěno, že toto virtuální rozhraní se nechová korektně a když dojde k restarování GNS3 server tak na něj nejsou aplikována nastavení, toto částečně řeší systemd servica:

[Unit]
Description=GNS3 server
Wants=network-online.target
After=network.target network-online.target
[Service]
ExecStart=/usr/local/bin/gns3server --log /var/log/gns3/gns3.logi
ExecStartPost=/usr/bin/virsh net-destroy --network default ; /usr/bin/sleep 3
ExecStartPost=/usr/bin/virsh net-start --network default
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-abort

Defaultní síť lze také restartovatza běhu GNS3 a tím problém vyřešit. Problém se neobjevuje, pokud je alespoň jedno tap zařízení bridgované do NATu tzn. existuje alespoň jeden projekt, který stále běží a je tam linka do NAT zařízení.

Osobní nástroje
Jmenné prostory

Varianty
Zobrazení
Akce
Kdo jsem
Navigace
Často hledaná témata
Nástroje