Моя настройка:
Виртуальная машина Linux (Alpine) в Virtual Box на хосте Windows 10. Samba (4.8.12) работает внутри виртуальной машины, а каталог samba на хосте смонтирован как сетевой диск по его IP-адресу, т.е. \\192.168.1.22\wipster
. И у хоста, и у виртуальной машины есть аренда, поэтому IP-адреса никогда не меняются. Конфигурация Samba очень проста:
[global]
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
max xmit = 65535
deadtime = 15
workgroup = mygroup.local
server string = %h Server
server role = standalone server
hosts allow = 192.168.1.110
dns proxy = no
[homes]
comment = Home Directories
browseable = yes
writable = yes
path = /home/wipster
force user = wipster
force group = wipster
Эта проблема:
Всякий раз, когда я копирую данные на сетевой диск, они быстро замедляются, а затем полностью останавливаются.
В Wireshark я вижу, что как только я начинаю копировать данные, виртуальная машина отправляет множество DNS-запросов, требуя IP-адрес хоста самой виртуальной машины (192.168.1.22 -> 8.8.8.8). Запросы продолжаются в течение нескольких минут после остановки копирования данных. Я могу снова перемещаться по сетевому диску только после остановки запросов. Ответы явно дают неудача или отказываться потому что это просто случайное имя хоста для моей виртуальной машины.
Что я пробовал:
я добавил 127.0.0.1 <hostname-of-vm>
в файл hosts, который не помог.
Я наконец-то смог решить проблему, хотя не понимаю, в чем дело. Если кто-то придумает объяснение, я отмечу его как правильный ответ.
Написав вопрос, я заметил, что проблема может заключаться в том, что я подключаю сетевой диск по IP-адресу виртуальной машины. Я добавил имя хоста в файл hosts в Windows и подключил сетевой диск с этим именем. После этого спам DNS-запросов ушел.