2

господа,

Мне очень нужна ваша помощь, чтобы настроить "Samba 4" с помощью "Виртуального ящика".

Вот ситуация:

В некоторых сетях, где я работаю, Samba 4 работает, в других - нет. Гость в виртуальном ящике настроен с сетью "Только для хоста" для Samba 4 и другим "NAT" для Интернета. Единственная ситуация, когда samba работает во всех сетях, - это если я отключаю сеть "NAT" и оставляю только "Host Only". То есть, очевидно, что сеть NAT (которая должна быть изолирована от внешней сети с использованием ее только в качестве прокси-сервера) в некоторых случаях испытывает некоторый негативный эффект.

Затем... Встает вопрос, который стоит миллион

Что вызывает это?

Поверьте, я все перепробовал, и, похоже, ничего не помогло.

Примечание I: я не могу использовать гостевую сеть с Bridge! Примечание II: По-видимому, это происходит только с Samba 4, поскольку Samba 3 работает в любой сети!

Это была действительно сложная ситуация, и я "застрял" на ней почти 3 недели.

У кого-то тоже есть с этой проблемой?

Я прошу вас помочь! Спасибо!

ОБНОВИТЬ:

Если бы я рискнул ответить на этот вопрос, я бы сказал, что проблема может быть в воротах. Что ж, похоже, что Samba 4 получает запрос от интерфейса "Только для хоста", но пытается ответить через интерфейс "NAT" (поскольку существует только один шлюз, "NAT" шлюз). Я попытался решить эту проблему, введя следующее в разделе «[global]» в файле «/etc/samba/smb.conf» ...

    interfaces = enp0s3 lo
    bind interfaces only = yes

... что на самом деле работает (принимает только запросы, поступающие в интерфейсе "Только хост") Но это не решает проблему.

ПЛЮС:

Вывод команды ifconfig:

enp0s3    Link encap:Ethernet  HWaddr 08:00:27:AB:52:E3  
          inet addr:192.168.56.100  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:feab:52e3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:602 errors:0 dropped:0 overruns:0 frame:0
          TX packets:849 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:81307 (79.4 Kb)  TX bytes:127690 (124.6 Kb)

enp0s8    Link encap:Ethernet  HWaddr 08:00:27:09:CC:37  
          inet addr:10.0.3.15  Bcast:10.0.3.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe09:cc37/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4340 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6668637 (6.3 Mb)  TX bytes:432330 (422.1 Kb)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:519 errors:0 dropped:0 overruns:0 frame:0
          TX packets:519 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:39728 (38.7 Kb)  TX bytes:39728 (38.7 Kb)

"/Etc/samba/smb.conf"

# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
[global]
        workgroup = WORKGROUP
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        printcap cache time = 750
        cups options = raw
        map to guest = Bad User
        include = /etc/samba/dhcp.conf
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        usershare allow guests = Yes
        add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
        domain logons = Yes
        domain master = Yes
        local master = Yes
        os level = 65
        preferred master = Yes
        security = user
        usershare max shares = 100
        wins server =
        wins support = No
        interfaces = enp0s3 lo
        bind interfaces only = yes
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes
[profiles]
        comment = Network Profiles Service
        path = %H
        read only = No
        store dos attributes = Yes
        create mask = 0600
        directory mask = 0700
[users]
        comment = All users
        path = /home
        read only = No
        inherit acls = Yes
        veto files = /aquota.user/groups/shares/
[groups]
        comment = All groups
        path = /home/groups
        read only = No
        inherit acls = Yes
[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No
[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @ntadmin root
        force group = ntadmin
        create mask = 0664
        directory mask = 0775

[SES_DF]
        comment = SES_DF
        inherit acls = Yes
        path = /home/brlight/DEV_GUESTS/SES_DF
        read only = No

[netlogon]
        comment = Network Logon Service
        path = /var/lib/samba/netlogon
        write list = root

Вывод команды "route" при активном интерфейсе "NAT":

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.0.3.2        0.0.0.0         UG    0      0        0 enp0s8
10.0.3.0        *               255.255.255.0   U     1      0        0 enp0s8
192.168.56.0    *               255.255.255.0   U     1      0        0 enp0s3

!!!Важно: если я отключаю сеть хоста, Samba 4 работает и у меня вывод тот же, что и выше !!!

Вывод команды "route", когда интерфейс "NAT" не активен (кабель отключен в Virtual Box)(Samba 4 работает!):

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.56.0    *               255.255.255.0   U     1      0        0 enp0s3

Примечание: нет шлюза ...

В этом сценарии я бы предложил два гипотетических решения:

  • Заставьте Samba 4 видеть только интерфейс enp0s3 в любой ситуации (запрос и ответ);
  • Попробуйте установить что-то в VirtualBox, чтобы не допустить негативного влияния внешней сети на "NAT". Поскольку виртуальная машина работает в одних сетях, но не в других;

Примечание. Дистрибутив, который я использую для гостя, - это OpenSUSE 13.1, а для хоста - Linux Mint 16 KDE.

ПЛЮС:

Я попытался изменить диапазон "NAT", потому что сеть хоста находится в аналогичном диапазоне (192.168.1.x). Я использовал диапазон «169.254.0.x» для сети "NAT", но проблема продолжалась.

Как видите, это сложная проблема и ее трудно диагностировать, и мне нужна вся ваша помощь!

2 ответа2

1

У меня похожая ситуация, и я смог заставить ее работать, отключив NetBIOS через TCP на всех интерфейсах, кроме адаптера только для хоста, на всех моих машинах с Windows.

Виртуальные виртуальные машины:

  • Хост: Windows 10 Pro
  • Гость 1: Debian Buster (версия Samba 4.5.12)
  • Гость 2: Windows 7 Pro

Сеть:

  • Сеть только для хоста:
    • Хозяин и оба гостя
    • Сеть DHCP 169.254.0.0/16
  • Интерфейс NAT:
    • Оба гостя
    • Также работал с гостями, подключенными к сети NAT

Конфигурация гостя и гостевой системы Windows

  • Отключите NetBIOS через TCP/IP на всех интерфейсах, кроме интерфейса только для хоста
    • Перейдите в свойства каждого сетевого адаптера и выберите Свойства IPv4 → Дополнительно → WINS → Настройка NetBIOS.
    • Я не проверял это с адаптерами IPv6

Что касается того, почему я должен был сделать это, я понятия не имею. У хоста и гостя Windows никогда не возникало проблем с разрешением имени хоста. Проблемы возникали только с Linux, и даже он мог работать время от времени.

Я запустил tcpdump/Wireshark на обеих виртуальных машинах и видел, как широковещательные сообщения и ответы NetBIOS шли туда-сюда, а nmblookup работал нормально с хоста Linux, но я не мог пропинговать или монтировать сетевые ресурсы из linux.

Я также не знаю, почему мне не нужно было ограничивать NetBIOS только адаптером только для хоста в Linux.

1

Может быть, система VirtualBox NAT проверяет все входящие и исходящие соединения, даже если мы установили интерфейс на гостевой ОС? Поскольку VirtualBox NAT работает на хосте, очень вероятно, что проблема не в гостевой ОС.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .