Контейнеру keycloak нужно указать в networks хотя бы одну сеть, в которую добавлен post_service. Сейчас они у вас в разных сетях (keycloak в дефолтной для проекта, так как не указана никакая, а post_service только в тех, которые перечислены) и потому друг друга не видят.
Если вам не нужен именно нат, то используйте мост для коннекта по сети - так намного проще, т.к. виртуалка сразу становится доступна в сети хоста по IP. Если нужен именно нат - для начала проверьте, что между виртуалкой и хостом работает правильно проброс порта, далее проверьте правильность работы проброса между контейнером и самой виртуалкой на правильном интерфейсе.
Ааа, так у вас поломанные программки стоят, в hosts у вас прописаны домены, на которые программы стучатся для проверки ключиков, замененные через хостс на локальный адрес, из-за чего собсно ни вы ни программы не могут получить реальные адреса нужных сайтов. А ERR_CONNECTION_REFUSED отдает вам собственная машина.
Доступ по сертификату. Всю авторизацию можно оставить прежней, просто добавить еще один уровень авторизации. Учет - централизованная выдача и отзыв сертификатов. По поводу интерфейса поищите, наверняка опенсорсные решения есть,
Если нужно вставлять корректный USB-загрузчик - то тут похоже только xorriso одолевать и пересборку iso, потому что полного аналога, да еще с графической мордой я не нашел...
"запустить через браузер" - это вопрос наличия обработчика mailto://
А описанное уметь должны все клиенты. Посмотри в сторону Evolution и Thunderbird и возьми что больше нравится.
"Защита ActiveDesktop" - это не, что вы подразумеваете, под рабочим столом.
У вас в GPO стоят настройки для рабочего стола. Вам или нужно удалить все ненужные политики, или сбросить политики "по дефолту", т.к. изменения могут быть там.
Иными словами вам надо открыть GPO и на вкладке детали смотреть какие из них меняют параметры отвечающие за рабочих стол, после чего изменить положение политики в "не задано".