Клиент-серверная архитектура, обмен по юдипи. Запускаю сервер в докер компоуз, там создается две собственные сети, но с доступом к хостовой (--network host). Графического клиента запускаю на виртуалке и нужно виртуалку затащить в ту же сеть, что и в докер компоуз создается, чтобы они могли обмениваться данными. Для этого я в виртуалке выбирают бридж и выбираю виртуальный адаптер, который создал докер. В итоге клиент пингует сервер и наоборот, между ними происходит обмен на уровне ядра - я по tcpdump вижу, что нужные пакеты от клиента приходят на сервер и наоборот. Но на уровене приложения пакетов нет - клиент и сервер не видят друг друга. Т.е. ядро их отбрасывает. netstat -s показывает, что чексумма неверная и по tcpdump'у тоже это видно - но чексумма рассчитывается сетевухой, т.е. это в принципе не страшно, ну и чексумма кривая только у серверных пакетов, а клиент посылает с корректной суммой, но сервер его не видит. Пытался через ethtool отключить offloading, но в контейнере это недоступно, судя по всему, может capabilities какие-то надо, я хз, я тут уже потерял землю под ногами и на ощупь пытался что-то сделать. В общем, пАмАгИтЕ люди добрые советом, что ли. Как так, пакеты приходят, но ядро их отбрасывает?
З.Ы. если в качестве бриджа взять реальный адаптер И в виртуалке использовать адрес из сети куда смотрит этот адаптер, то виртуалка начинает видеть сервер, но сервер один хрен не видит, и на него пакеты даже не приходят