Portál AbcLinuxu, 5. května 2025 05:00

Dotaz: Routování hostitel virtuálních PC

14.4.2019 14:45 ZAH | skóre: 43 | blog: ZAH
Routování hostitel virtuálních PC
Přečteno: 445×
Odpovědět | Admin
Mám následující routovací tabulku na servru, který hostuje několik virtuálních počítačů.
Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
192.168.102.0   *               255.255.255.0   U     0      0        0 virbr1
192.168.254.0   *               255.255.255.0   U     0      0        0 eth0
192.168.123.0   *               255.255.255.0   U     0      0        0 virbr0
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
default         192.168.254.2   0.0.0.0         UG    0      0        0 eth1
default         192.168.254.2   0.0.0.0         UG    0      0        0 eth0
Virtuální síť 192.168.102.0/24 je směrovaná. Virtuální počítače bez problémů přistupují na internet branou 192.168.254.2 a na vlastní bránu stejně jako se počítače ze sitě 192.168.254.0/24 dostanou na počítače v síti 192.168.102.0/24. (ping, traceroute, ssh).

Problém nastane pro navázaní spojení ze sítě 192.168.102.0/24 na počítače v síti 192.168.254.0/24. Přikládám traceroute.
traceroute to 192.168.154.1 (192.168.154.1), 30 hops max, 60 byte packets
 1  gateway (192.168.102.1)  0.167 ms  0.075 ms  0.072 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
Prosím o nakopnutí správným směrem. ZAH

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.4.2019 15:12 V.
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tam máte bridge, je to tak? Jestli je to linux, můžete dát spíš výstup "ip rou"?
14.4.2019 15:26 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
[root@s3 ~]# ip route
192.168.102.0/24 dev virbr1  proto kernel  scope link  src 192.168.102.1 
192.168.154.0/24 dev eth0  scope link 
192.168.123.0/24 dev virbr0  proto kernel  scope link  src 192.168.123.1 
169.254.0.0/16 dev eth0  scope link  metric 1002 
169.254.0.0/16 dev eth1  scope link  metric 1003 
default via 192.168.154.2 dev eth1 
default via 192.168.154.2 dev eth0 
virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 52:54:00:f8:ff:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.102.1/24 brd 192.168.102.255 scope global virbr1

14.4.2019 15:51 V.
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Obecně by se mělo routovat přes L3 interfejsy. Což by měly být bridge. A když má bridge IP adresu, tak L2 interfejs je bez adresy, takže třeba i příslušný ETHx interfejs k bridgi. Pak by pro ten ETHx neměl být řádek v routovací tabulce.
Když tohle ladim, tak pouštim tcpdump na interfejsu k cíli, když mimo server tak na fyzickém interfejsu, když do serveru tak na tapX. Mimochodem jak jste přivedl "internet" do těch virtualizovaných hostů?
Jak se dívám do "man qemu"
-netdev bridge,id=id[,br=bridge][,helper=helper]
Connect a host TAP network interface to a host bridge device. 

Use the network helper helper to configure the TAP interface and attach it to the bridge. The default network helper executable is /path/to/qemu-bridge-helper and the default bridge device is br0. 

Examples: 

        #launch a QEMU instance with the default network helper to
        #connect a TAP device to bridge br0
        qemu-system-i386 linux.img -netdev bridge,id=n1 -device virtio-net,netdev=n1


        
        #launch a QEMU instance with the default network helper to
        #connect a TAP device to bridge qemubr0
        qemu-system-i386 linux.img -netdev bridge,br=qemubr0,id=n1 -device virtio-net,netdev=n1
tak virtio-net taky jede přes tap (L2)
14.4.2019 16:41 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Definice bridge brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.5254009dbcc2	yes		virbr0-nic
virbr1		8000.525400f8ffbf	yes		virbr1-nic
							vnet0
							vnet
Definice sítě virsh
<network>
  <name>BR_ETH1</name>
  <uuid>b78d2c02-fba6-85cf-96f8-a96a90ee1437</uuid>
  <forward mode='route'/>
  <bridge name='virbr1' stp='on' delay='0' />
  <mac address='52:54:00:F8:FF:BF'/>
  <domain name='BR_ETH1'/>
  <ip address='192.168.102.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.102.10' end='192.168.102.254' />
      <host ........................
          ................................................... />
    </dhcp>
  </ip>
</network>
14.4.2019 17:22 V.
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Ok, takže chcete routovat (mimo server i do virtuálních strojů) přes tu síť 192.168.102.x? Pokud je na serveru interfejs s tímhle rozsahem, musí být i na nějakém L3 prvku (něčem s IPv4 adresou).
A proč tam máte dhcp, to se tak dělá? Asi to neni nic proti ničemu, mně přijde přehlednější nezávislý dhcp server.
14.4.2019 18:09 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
DHCP je tam pro centrální správu pevných adres virtuálů v rámci hostitele. Celkem mi to vyhovuje.

Přidávám ještě ip route jednoho z virtuálů
ip route
default via 192.168.102.1 dev eth0 proto dhcp metric 100 
192.168.102.0/24 dev eth0 proto kernel scope link src 192.168.102.10 metric 100 
Na celém mě nejvíce mate, že odkudkoliv z vnějšku se připojím bez problému až na virtuál. Z virtuálu bez problémů ven ze sítě hostitele a na bránu. Začínám podezřívat router na výstupu ze sítě, ale nevím jak by to mohl ovlivnit. Vždy jsem si myslel, že jestliže mám zapnuté routování a vidím v síti z routovacího počítače dva jiné vidí se také, nestojí li jim cestě nějaké pravidlo z firewallu.

Zatímco tohle píšu mě napadlo zkontrolovat jednu z těch nedostupných stanic a tu máš čerte kropáč. Clý problém se přesouvá na tyto stanice ze základního adresního rozsahu , které neumí vracet odpověď virtuálům. Stanice získávají nastavení sítě z dhcp a jejich standartní routovací tabulka vypadá asi takto.
0.0.0.0         192.168.154.2   0.0.0.0         UG    100    0        0 enp0s25
192.168.154.0   0.0.0.0         255.255.255.0   U     100    0        0 enp0s25
doplnil jsem jí ručně
0.0.0.0         192.168.154.2   0.0.0.0         UG    100    0        0 enp0s25
192.168.102.0   192.168.154.3   255.255.255.0   UG    0      0        0 enp0s25
192.168.154.0   0.0.0.0         255.255.255.0   U     100    0        0 enp0s25
a toto funguje. Problém se tímto přesouvá na router který obsluhuje DHCP, jdu studovat dokumentaci Mikrotik. ZAH
14.4.2019 16:34 NN
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
default via 192.168.154.2 dev eth1 
default via 192.168.154.2 dev eth0
Urcite dvakrat default route?
14.4.2019 16:51 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Po odebrání libovolné beze změn . Dva switche.
14.4.2019 17:18 V.
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Když je jeden rozsah na ETHx, nemůže být i na bridgi.
Pokud ten rozsah/routu odeberete, tj. i odeberete default gateway, kam to chcete posílat, co je "next hop"?
Mimochodem, pokud máte dva switche k jednomu serveru, pak musíte zajistit/ošetřit asymetrický routing nebo nějaký load balancing.
14.4.2019 21:32 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyřešeno pomocí nastavení routru. Moc děkuji všem za snahu a hlavně všem v http://www.abclinuxu.cz/poradna/linux/show/379809 diskuzi o nastavení option 121 route v dhcp mikrotiku.
20.4.2019 15:47 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Routování hostitel virtuálních PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:
Přidávám k tématu ještě kalkulačku option 121 jako v Javě jako spustitelný jar pod java 1.8. Je to absolutně bez záruky. Bude li zájem o zdrojový kód je k dispozici, ale nečekejte žádný zázrak.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.