Доступ к приложению Docker Container, запущенному на гостевом KVM с хоста Ubuntu - PullRequest
0 голосов
/ 18 сентября 2018

Моя настройка:

  1. Сервер Ubuntu 16.04, работающий на головном устройстве (хост)
  2. Windows Server 2016 KVM (гостевой), запущенный поверх хоста.
  3. Тип сети между хостом и гостем - NAT. Все это позади корпорации. прокси.
  4. Хост получает статический IP-адрес от корпоративного шлюза.

На KVM я запускаю приложение контейнера докера, которое прослушивает порт 15417 изнутри и снаружи (docker ps: 0.0.0.0:15417 -> 15417 / tcp) IP-адрес контейнера - 192.168.122.35, а IP-адрес KVM от NAT: 192.168.122.82

.

Приложение, запущенное в док-контейнере, предоставляет API, к которому должен обращаться с хоста linux kvm_ip: 15417 / api

Факты:

  1. Порт 15417 открыт в Windows FW для входящего TCP-соединения.
  2. Есть рабочий пинг с хоста на kvm IP (192.168.122.82)
  3. Доступ к API приложения можно получить по адресу 192.168.122.35:15417/api
  4. Docker logs, отображает журналы, чтобы приложение работало.

Проблемы:

  1. API не доступен из KVM на локальном хосте: 15417 / api или 127.0.0.1:15417/api, ответ для curl localhost:15417/api:

Узел назначения недоступен

  1. API не доступен из 192.168.122.82:15417/api (KVM_IP) на хосте, тот же ответ на curl 192.168.122.82:15417/api, что и на оболочке kvm powershell.
  2. Нет telnet с 192.168.122.82 15417 с хоста или telnet 127.0.0.1 15417 с гостя, в то время как telnet с другими портами, такими как RDP (3389) или vnc (5900), работает нормально, то есть все порты открыты.

Вот мой хост ifconfig:

br0       Link encap:Ethernet  HWaddr 00:90:0b:67:e3:4c
      inet addr:172.28.69.86  Bcast:172.28.69.87  Mask:255.255.255.248
      inet6 addr: fe80::290:bff:fe67:e34c/64 Scope:Link
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:597 errors:0 dropped:0 overruns:0 frame:0
      TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:89816 (89.8 KB)  TX bytes:648 (648.0 B)

br-ef89294aca4b Link encap:Ethernet  HWaddr 02:42:3d:dc:07:b1
      inet addr:172.20.0.1  Bcast:172.20.255.255  Mask:255.255.0.0
      inet6 addr: fe80::42:3dff:fedc:7b1/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:80271 errors:0 dropped:0 overruns:0 frame:0
      TX packets:51030 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:98712118 (98.7 MB)  TX bytes:4318906 (4.3 MB)

docker0   Link encap:Ethernet  HWaddr 02:42:ea:f9:4a:a6
      inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

enp2s0    Link encap:Ethernet  HWaddr 00:90:0b:67:e3:4b
      inet addr:172.28.69.84  Bcast:172.28.69.255  

Маска: 255.255.255.248 inet6 адрес: fe80 :: 290: bff: fe67: e34b / 64 Область действия: ссылка UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1 Пакеты RX: 43437560 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 Пакеты TX: 28285024 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 столкновения: 0 txqueuelen: 1000 RX байтов: 50031414909 (50,0 ГБ) TX байтов: 5610346118 (5,6 ГБ) Память: df800000-df8fffff

enp3s0    Link encap:Ethernet  HWaddr 00:90:0b:67:e3:4c
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      Memory:dfe00000-dfe7ffff

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:65536  Metric:1
      RX packets:2528921 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2528921 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1
      RX bytes:3180228446 (3.1 GB)  TX bytes:3180228446 (3.1 GB)

veth38444b2 Link encap:Ethernet  HWaddr b2:43:0f:a2:0e:34
      inet6 addr: fe80::b043:fff:fea2:e34/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:24 errors:0 dropped:0 overruns:0 frame:0
      TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:1728 (1.7 KB)  TX bytes:816 (816.0 B)

veth55c3534 Link encap:Ethernet  HWaddr 52:e3:a5:c0:54:84
      inet6 addr: fe80::50e3:a5ff:fec0:5484/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:4329603 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4447953 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:1018418030 (1.0 GB)  TX bytes:1107337021 (1.1 GB)

vetha9c713b Link encap:Ethernet  HWaddr 02:96:67:47:1c:72
      inet6 addr: fe80::96:67ff:fe47:1c72/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:175785 errors:0 dropped:0 overruns:0 frame:0
      TX packets:124544 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:45484242 (45.4 MB)  TX bytes:22613601 (22.6 MB)

vethcfde2a8 Link encap:Ethernet  HWaddr ca:ab:04:da:b6:98
      inet6 addr: fe80::c8ab:4ff:feda:b698/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:990878 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1367424 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:212266708 (212.2 MB)  TX bytes:287696403 (287.6 MB)

vethd045150 Link encap:Ethernet  HWaddr 42:b0:0f:df:b3:ec
      inet6 addr: fe80::40b0:fff:fedf:b3ec/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:431061 errors:0 dropped:0 overruns:0 frame:0
      TX packets:423829 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:102897883 (102.8 MB)  TX bytes:91172674 (91.1 MB)

vethe3e3d6f Link encap:Ethernet  HWaddr 76:21:a7:44:81:7d
      inet6 addr: fe80::7421:a7ff:fe44:817d/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1598 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1924 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:597484 (597.4 KB)  TX bytes:350579 (350.5 KB)

vethf34ccaa Link encap:Ethernet  HWaddr 76:a9:29:e3:b5:2c
      inet6 addr: fe80::74a9:29ff:fee3:b52c/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2674 errors:0 dropped:0 overruns:0 frame:0
      TX packets:3783 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:4805257 (4.8 MB)  TX bytes:689076 (689.0 KB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:17:94:ca
      inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:23845306 errors:0 dropped:0 overruns:0 frame:0
      TX packets:31454109 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:1454280991 (1.4 GB)  TX bytes:48875445867 (48.8 GB)

vnet0     Link encap:Ethernet  HWaddr fe:54:00:fc:b7:f1
      inet6 addr: fe80::fc54:ff:fefc:b7f1/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:4512098 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4084521 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:580069804 (580.0 MB)  TX bytes:2979706156 (2.9 GB)

И моя конфигурация по умолчанию для гостевой сети KVM:

<network>
  <name>default</name>
  <uuid>9f80b5ad-b4fa-4c7e-a559-d27c23328347</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:17:94:ca'/>
  <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>

И, наконец, конфигурация сетевого интерфейса KVM:

<interface type='network'>
  <mac address='52:54:00:fc:b7:f1'/>
  <source network='default' bridge='virbr0'/>
  <target dev='vnet0'/>
  <model type='rtl8139'/>
  <alias name='net0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

Я пытался выяснить, что мешает мне получить доступ к приложению в KVM с хоста.

...