web-dev-qa-db-ja.com

Linuxゲスト上のVirtualBoxおよびSamba4(NATおよびホストのみ)

紳士、

「VirtualBox」を使用して「Samba4」を構成するには、本当にあなたの助けが必要です。

状況は次のとおりです。

私が働いている特定のネットワークでは、Samba 4は機能しますが、他のネットワークでは機能しません。 Virtual Boxのゲストは、Samba 4の場合は「ホストのみ」、インターネットの場合はその他の「NAT」のネットワークで構成されます。 sambaがすべてのネットワークで機能する唯一の状況は、「NAT」ネットワークを無効にして「ホストのみ」のみを残した場合です。つまり、明らかにNATネットワーク(プロキシとしてのみ使用することで外部ネットワークから分離する必要があります)は、場合によっては何らかの悪影響を受けています。

次に...百万の価値がある質問が来ます:

何が原因ですか?

私を信じてください、私はすべてを試しました、そして何も状況を解決しないようです。

注I:Bridgeでゲストネットワークを使用できません!注II:Samba 3はどのネットワークでも機能するため、これはSamba4でのみ発生するようです。

これは解決するのが非常に難しい状況であり、私はほぼ3週間それに「行き詰まっています」。

誰かがこの問題を抱えていますか?

助けてください!ありがとう!

更新:

この質問への答えを思い切って考えた場合、問題はゲートウェイにある可能性があります。さて、Samba 4は「ホストのみ」インターフェースから要求を受信して​​いるようですが、「NAT」インターフェースで応答しようとします(ゲートウェイは「NAT」ゲートウェイのみであるため)。ファイル「/etc/samba/smb.conf」の「[global]」セクションに次のように入力して、これを解決しようとしました...

    interfaces = enp0s3 lo
    bind interfaces only = yes

...実際に機能するもの(「ホストのみ」インターフェースからの要求のみを受け入れます)。しかし、それは問題を解決しません。

PLUS:

「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

「NAT」インターフェースがアクティブな場合の「route」コマンドの出力:

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が機能し、上記と同じ出力が得られます!!!

「NAT」インターフェースがアクティブでない場合の「route」コマンドの出力(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

注:ゲートウェイはありません...

このシナリオでは、2つの仮想的な解決策を提案します:

  • Samba 4に、どのような状況(要求と応答)でも「enp0s3」インターフェースだけを表示させる。
  • 「NAT」に対する外部ネットワークからの悪影響を許可しないように、VirtualBoxで何かを設定してみてください。仮想マシンは一部のネットワークでは機能しますが、他のネットワークでは機能しないため、

注:ゲストに使用しているディストリビューションはOpenSUSE 13.1で、ホストにはLinux Mint 16KDEを使用しています。

PLUS:

ホストネットワークが同様の範囲(192.168.1.x)にあるため、「NAT」の範囲を変更しようとしました。 「169.254.0.x」から「NAT」ネットワークまでの範囲を使用しましたが、問題は解決しませんでした。

ご覧のとおり、これは難しい問題であり、診断も難しいので、あなたの助けが必要です。

2
Eduardo Lucio

私も同様の状況にあり、すべてのWindowsマシンのホスト専用アダプターを除くすべてのインターフェイスでNetBIOS over TCPを無効にすることで、それを機能させることができました。

VirtualBox VM:

  • ホスト:Windows 10 Pro
  • ゲスト1:Debianバスター(Sambaバージョン4.5.12)
  • ゲスト2:Windows 7 Pro

ネットワーキング:

  • ホストオンリーネットワーク:
    • ホストと両方のゲスト
    • DHCPネットワーク169.254.0.0/16
  • NATインターフェース:
    • 両方のゲスト
    • NATネットワークに接続されているゲストとも連携

ホストおよびWindowsゲストの構成

  • すべてのインターフェイスでNetBIOSover TCP/IPを無効にします除くホスト専用インターフェイス
    • 各ネットワークアダプタのプロパティに移動し、IPv4プロパティ→詳細→WINS→NetBIOS設定)に移動します
    • 私はこれをIPv6アダプターでテストしませんでした

なぜ私はこれをしなければならなかったのですが、私にはわかりません。 Windowsホストとゲストは、ホスト名の解決に問題はありませんでした。問題が発生したのはLinuxボックスだけであり、それでもたまには機能していました。

両方のVMでtcpdump/Wiresharkを実行し、NetBIOSブロードキャストと応答が行き来し、Linuxホストからnmblookupが正常に機能することを確認できましたが、Linuxからネットワーク共有をpingまたはマウントできませんでした。

また、LinuxボックスのホストオンリーアダプタのみにNetBIOSを制限する必要がなかった理由もわかりません。

1
jbru362

ゲストOSにインターフェイスを設定した場合でも、VirtualBox NATシステムがすべての着信接続と発信接続をチェックしている可能性がありますか?VirtualBox NATがで実行されているため、ホストは、問題がゲストOSに起因するものではない可能性が非常に高いです。

1
Anonymous