LINUX.ORG.RU
ФорумAdmin

Обратиться к компьютеру по NetBIOS имени

 


1

1

Машина с Ubuntu 18.04 подключена к VPN вот так. В этой сети (10.0.0.0/21) надо обратиться к маздай-машине, IP-адрес которой неизвестен, но известно имя NetBIOS.

Но

# ping SOME-NAME
ping: SOME-NAME: Неизвестное имя или служба
# nmblookup SOME-NAME
name_query failed to find name SOME-NAME

Что уже сделал. В /etc/samba/smb.conf поправил строчку

wins support = yes
apt install winbind libnss-winbind
В /etc/nsswitch.conf
hosts:          files mdns4_minimal [NOTFOUND=return] dns wins
systemctl restart nmbd.service
systemctl restart  smbd.service
systemctl restart winbind.service

После этого вывод ping и nmblookup не изменился.

Что еще известно. Не знаю, в тему или нет.

# ip route 
default via 192.168.1.1 dev enp30s0 proto dhcp metric 100 
10.0.0.0/21 via 10.10.0.1 dev ppp0 
10.10.0.1 dev ppp0 proto kernel scope link src 10.10.0.93 
169.254.0.0/16 dev enp30s0 scope link metric 1000 
192.168.1.0/24 dev enp30s0 proto kernel scope link src 192.168.1.2 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
# nbtscan 10.0.0.0/21 
Doing NBT name scan for addresses from 10.0.0.0/21

IP address       NetBIOS Name     Server    User             MAC address      
------------------------------------------------------------------------------
# wbinfo -p
Ping to winbindd succeeded
# wbinfo -N SOME-NAME
failed to call wbcResolveWinsByName: WBC_ERR_DOMAIN_NOT_FOUND
Could not lookup WINS by name SOME-NAME
★★★

Скорей всего броадкасты не работают. Лучше на DNS переходи, даже Микрософт нынче рекомендует просто DNS использовать.

Legioner ★★★★★
()

mdns4_minimal [NOTFOUND=return]

для начала вот это удали

Далее - какой режим работы NetBIOS стоит на клиентах(на windows может быть установлен как через DHCP так и вручную)? Если там по DHCP спускают адрес WINS-сервера и стоит режим с резолвом только через него(запамятовал как такой режим называется) - убедись что у тебя этот сервер прописан в smb.conf

Но вообще плюсую регистранта выше - NetBIOS/WINS нужно применять только от очень большой безысходности

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Legioner

Скорей всего броадкасты не работают.

А как проверить?

Лучше на DNS переходи

Не могу, я в той сети не хозяин.

damix9 ★★★
() автор топика
Ответ на: комментарий от Pinkbyte

для начала вот это удали

/etc/nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat systemd
group:          compat systemd
shadow:         compat
gshadow:        files

hosts:          files dns wins
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis
Так?

Далее - какой режим работы NetBIOS стоит на клиентах

Это посмотреть на той оффтопик-машине? К ней сейчас нет доступа. Когда будет, завтра-послезавтра, посмотрю.

Если там по DHCP спускают адрес WINS-сервера и стоит режим с резолвом только через него

А онтопик может узнавать по DHCP этот адрес?

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

https://docs.microsoft.com/en-us/windows-server/networking/technologies/wins/wins-top

Windows Internet Name Service (WINS) is a legacy computer name registration and resolution service that maps computer NetBIOS names to IP addresses.

If you do not already have WINS deployed on your network, do not deploy WINS - instead, deploy Domain Name System (DNS). DNS also provides computer name registration and resolution services, and includes many additional benefits over WINS, such as integration with Active Directory Domain Services.

For more information, see Domain Name System (DNS)

If you have already deployed WINS on your network, it is recommended that you deploy DNS and then decommission WINS.

Legioner ★★★★★
()
Ответ на: комментарий от damix9

А онтопик может узнавать по DHCP этот адрес?

Если правильно заскриптовать dhclient или dhcpcd - да, может. Но готовых скриптов для этого в современных дистрибутивах я не припомню

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

mdns4_minimal [NOTFOUND=return]

для начала вот это удали

Сделал файл /etc/nsswitch.conf как показано выше, после этого

systemctl restart winbind.service
systemctl restart nmbd.service
systemctl restart  smbd.service
Вывод ping и nmblookup не изменился.

Но вообще плюсую регистранта выше - NetBIOS/WINS нужно применять только от очень большой безысходности

На самом деле DNS-сервер тоже есть, но IP динамический.

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

На самом деле DNS-сервер тоже есть, но IP динамический.

У dns сервера? Это как, сейчас 1.1.1.1 а через полчаса 2.2.2.2 ?

anc ★★★★★
()

В 18.04 самба слишком тухлая, а M$ на виндах поддержку старого протокола определения имен отключил, из-за изъянов в дизайне и wannacry.

Khnazile ★★★★★
()
Ответ на: комментарий от Pinkbyte

Если правильно заскриптовать dhclient или dhcpcd - да, может.

Как это гуглится? У меня насколько понимаю dhclient.

Хорошо бы в каком-то виде вывести в файл или на экран получаемые от DHCP-серверов данные.

damix9 ★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Если там по DHCP спускают адрес WINS-сервера

От WINS-серверов отказались ещё в прошлом тысячелетии. У него больше шансов встретится с живой NetWare.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

Ну где как, мы закопали WINS-сервер ЕМНИП году эдак в 2012 или 2013, аккурат с последним сервером на Windows NT(это не опечатка, не 2000, именно NT). Некрофилия она такая...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от LamerOk

От WINS-серверов отказались ещё в прошлом тысячелетии.

Позже.

anc ★★★★★
()
Ответ на: комментарий от LamerOk

Ее закопали ближе к началу десятых - когда я пришел ее уже не осталось :-)

Pinkbyte ★★★★★
()
Ответ на: комментарий от anc

Может и оно

# ls -l /var/lib/NetworkManager/dhclient*.lease
-rw-r--r-- 1 root root 1168 июл 23  2019 /var/lib/NetworkManager/dhclient-423316b5-0ce1-3223-903c-9d25bb386ac3-enp56s0f3u4u2.lease
-rw-r--r-- 1 root root 1024 окт 18 14:17 /var/lib/NetworkManager/dhclient-8917d226-1181-3441-8573-ba041d8ef80f-enp30s0.lease
-rw-r--r-- 1 root root  584 июл 22  2019 /var/lib/NetworkManager/dhclient-9f9d3f9d-d9b4-3795-8077-5c9462b68b31-enp56s0f3u4u2.lease
-rw-r--r-- 1 root root 1168 июл 23  2019 /var/lib/NetworkManager/dhclient-f65c30ff-a990-32be-9c9c-9f85722ae8e6-enp56s0f3u4u2.lease
но тут нет файла для интерфейса ppp0.

damix9 ★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Хорошо, попрошу, чтобы настроили DDNS.

damix9 ★★★
() автор топика
Ответ на: комментарий от Pinkbyte

А, т.е. можно в /etc/dhcp/dhclient-exit-hook.d/ положить скрипт, который будет править /etc/samba/smb.conf? Прикольная штука.

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

Сорри, эт я тупанул, навеялось уже обсуждением. Возвращаемся к началу. Если в той сети есть dns сервер, то у него и спрашиваем.

anc ★★★★★
()
Ответ на: комментарий от damix9

dhclient-exit-hook.d

ммм, ЕМНИП он срабатывает при выходе dhclient, то есть при отключении компа/сетевухи. Тебе скорее нужен dhclient-enter-hooks.d

Pinkbyte ★★★★★
()
Ответ на: комментарий от damix9

На ЛОРе вроде как «оффтопиком» величают постоянно.

ololoid ★★★★
()
Ответ на: комментарий от Bootmen

Она всю жизнь была. Так.

dpkg -l | grep 'samba'
ii  python-samba                                                2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             amd64        Python bindings for Samba
ii  samba                                                       2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             amd64        SMB/CIFS file, print, and login server for Unix
ii  samba-common                                                2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             all          common files used by both the Samba server and client
ii  samba-common-bin                                            2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             amd64        Samba common files used by both the server and the client
ii  samba-dsdb-modules                                          2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             amd64        Samba Directory Services Database
ii  samba-libs:amd64                                            2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             amd64        Samba core libraries
ii  samba-vfs-modules                                           2:4.7.6+dfsg~ubuntu-0ubuntu2.23                             amd64        Samba Virtual FileSystem plugins
ii  system-config-samba                                         1.2.63-0ubuntu6

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

Прикольный конфиг. Я честно скажу настраивал самбу только в режиме Доступ по IP. Ждемс гуру :)

Bootmen ☆☆☆
()

/etc/samba/smb.conf

...
[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
        workgroup = WORKGROUP

# server string is the equivalent of the NT Description field
        server string = %h server (Samba, Ubuntu)

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
   wins support = yes

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
;   wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.
        dns proxy = no

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
;   interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
;   bind interfaces only = yes



#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
        log file = /var/log/samba/log.%m

# Cap the size of the individual log files (in KiB).
        max log size = 1000

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
#   syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
        syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace
        panic action = /usr/share/samba/panic-action %d


####### Authentication #######

# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller". 
#
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
        server role = standalone server

# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.  
;       passdb backend = tdbsam

        obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
        unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
# sending the correct chat script for the passwd program in Debian Sarge).
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
        pam password change = yes

# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
        map to guest = bad user
        guest account = <username>

########## Domains ###########

#
# The following settings only takes effect if 'server role = primary
# classic domain controller', 'server role = backup domain controller'
# or 'domain logons' is set 
#

# It specifies the location of the user's
# profile directory from the client point of view) The following
# required a [profiles] share to be setup on the samba server (see
# below)
;   logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
#   logon path = \\%N\%U\profile

# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
;   logon drive = H:
#   logon home = \\%N\%U

# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
;   logon script = logon.cmd

# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe.  The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# This allows machine accounts to be created on the domain controller via the 
# SAMR RPC pipe.  
# The following assumes a "machines" group exists on the system
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.  
; add group script = /usr/sbin/addgroup --force-badname %g

############ Misc ############

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
;   include = /home/samba/etc/smb.conf.%m

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash

# Setup usershare options to enable non-root users to share folders
# with the net usershare command.

# Maximum number of usershare. 0 (default) means that usershare is disabled.
;       usershare max shares = 100

# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
        usershare allow guests = yes

#======================= Share Definitions =======================

...

damix9 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.