Журнал LinuxFormat - перейти на главную

LXF99:Вопрос15

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Новая: ====Неконтактная VMware==== '''В:''' ''Я использую VMware Workstation для запуска различных виртуальных машин, и с Windo...)
 

Текущая версия на 12:04, 13 марта 2008

[править] Неконтактная VMware

В: Я использую VMware Workstation для запуска различных виртуальных машин, и с Windows, и с Linux – для разработки web-сайтов, а также чтобы пробовать разные дистрибутивы. Недавно я утратил способность соединять через SSH хост- (Ubuntu) и гостевую ОС. Команды ssh просто висят, пока я не нажму Ctrl+C.

Я могу соединиться по SSH с хостом или гостевой системой с моего ноутбука в той же сети, могу и подключиться к ноутбуку с хост- или любой из виртуальных машин; похоже, не работает только соединение между хост- и гостевой системой на одной машине. Я пропинговал гостевые системы из хоста и наоборот, и, по-видимому, не работает только SSH. Но я не изменял ничего в моих настройках SSH на хосте, а так как это влияет на все гостевые системы, я не вижу проблемы в настройках. Я использую мост – я всегда так делал, и все работало. Дэйв Бэрч [Dave Burch]

О: Я столкнулся с точно такой же проблемой. Сперва я заподозрил SSH, но затем обнаружил, что другие протоколы тоже сбоят. И выяснилось: поломалось все, что использует TCP, причем в связи с обновлением ядра. Изменилась поддержка движка TCP Offload на некоторых сетевых картах (в моем случае, в контроллере Attansic L1 Gigabit). Движок offload передает часть нагрузки по обработке TCP от ядра к контроллеру сетевой карты, что вызывает проблемы, когда сетевой трафик не идет через сетевой контроллер, хотя он предназначен для той же сети – ситуация, возможная только в виртуальных машинах. Мост дает виртуальной машине IP-адрес в той же подсети, что и Ваша локальная сеть, но трафик не проходит через сетевую карту.

Решение простое: отключите некоторые функции движка offload с помощью ethtool. Все потенциальные источники проблем одновременно ликвидируются так:

sudo ethtool --offload eth0 rx off tx off sg off tso off

Если это работает, неповинных Вы можете «помиловать». На моей системе я отключил только самое необходимое:

sudo ethtool --offload eth0 tx off

Определив, что именно надо отключать, можно добавить команду в /etc/rc.local (без части sudo), и она будет выполняться автоматически при загрузке. НБ

Персональные инструменты
купить
подписаться
Яндекс.Метрика