Докер в гостевой системе Windows Server 2016 KVM, работающий на хосте Ubuntu Server - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть приложение .Net, работающее на Docker EE для Windows Server 2016 KVM (guest), работающее на сервере Ubuntu 16.04 (host).Сеть между хостом и гостем имеет тип NAT.IP-адрес, который Windows получает от NAT, равен 192.168.122.82, а хост получает статический IP-адрес от corp DHCP => 172.xxx. Все это находится за прокси-сервером Corp.

.Net-приложение на докере прослушивает порт15410 и предоставьте API, к которому можно получить доступ из Window по адресу 192.168.122.35:15410/api (нет доступа с localhost: 15410). Это IP-адрес контейнера Docker.Я полагаю, что Docker для Windows правильно управляет всей пересылкой. Вот распечатка «docker ps»: 0.0.0.0:15410 -> 15410 / tcp

Приложение работает, и я получаю ответ на 192.168.122.35: 15410 / api

Проблема в том, что я не могу получить доступ к API с хоста (ubuntu) через IP-адрес kvm (192.168.122.82), ошибка, которую я получаю:

curl: (7) Не удалось подключиться к 192.168.122.82 порту 15410: соединение отклонено

Порт 15410 открыт для Windows FW для входящего соединения TCP, поэтому я не думаю, что это проблема порта,Также telnet к 192.168.122.82 15410 выдает ту же ошибку:

Попытка 192.168.122.82 ... telnet: Невозможно подключиться к удаленному хосту: соединение отклонено У меня есть ping на адрес KVM и telnet на другойтакие порты, как RDP (3389) и VNC (5900), но не 15410. Я верю и исправлю меня, если я ошибаюсь, что хост, общающийся с гостем через шлюз Corp, и этот порт (15410), вероятно, закрыт нашлюз для входящего соединения с IP-адресом хоста.

Вопрос в том, "есть ли способ настроить linux, чтобы он не связывался с kvm через шлюз, а делал это напрямую (так как kvm получает ipс хоста)?

...