Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Доступ к сетевым ресурсам похрамывает, SAMBA или NETBIOS или DNS?  (Прочитано 4096 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Seemann

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Seemann
    • Просмотр профиля
    • SeemannTech
Прошу не судить строго ибо новичок в ОС Ubuntu. Может ответ лежит на поверхности, скорее всего так и есть. Но погуглив некоторое время, так и не нашел ничего похожего. Итак, в чем собственно проблема:
Использую Nautilus 2.26.2. Захожу в сеть, после недолгого сканирования, менеджер выдает мне список хостов. Меня интересует хост с именем SEEMANNTECH. Пытаюсь подключиться и получить доступ к его шарам, не выходить: "Не удалось присоединить местоположение. Не удалось получить список доступных на сервере ресурсов."
Изначально  в сети был установлен маршрутизатор с IP 10.0.0.1, он раздавал IP по DHCP всем хостам. И хосту SEEMANNTECH доставался IP 10.0.0.232. В это самое время проблемы доступа к шаре на этом хосте не было. Они начались позднее, когда DHCP был перенесен с маршрутизатора на хост с IP 10.0.0.2. На нем использовалась уже другая таблица DHCP и хосту SEEMANNTECH уже доставался адрес 10.0.0.3. Вот с этого момента и начались проблемы с этим хостом. Другие же, которым достались старые адреса, были доступны как и раньше.
Решил вручную попробовать подключиться:
seemann@UBUNTU:~$ smbclient -L seemanntech

Connection to seemanntech failed (Error NT_STATUS_HOST_UNREACHABLE)
Samba не смогла найти хост! Тогда я попробовал по IP адресу и получил список шар!
Значит проблема крылась в разрешении имени SEEMANNTECH.
Пробую через NETBIOS разрешить имя:
seemann@UBUNTU:~$ nmblookup seemanntech

querying seemanntech on 10.0.0.255
10.0.0.3 seemanntech<00>
192.168.126.1 seemanntech<00>
192.168.204.1 seemanntech<00>
и в принципе получаю верный адрес = 10.0.0.3
Теперь пингую SEEMANNTECH.
seemann@UBUNTU:~$ ping seemanntech -c 3

PING seemanntech (10.0.0.232) 56(84) bytes of data.
From UBUNTU (10.0.0.4) icmp_seq=1 Destination Host Unreachable
From UBUNTU (10.0.0.4) icmp_seq=2 Destination Host Unreachable
From UBUNTU (10.0.0.4) icmp_seq=3 Destination Host Unreachable
И вижу что ping идет на старый адрес!!! Думаю, что может внес его в host и забыл и он берет его оттуда, но нет. Содержимое:
127.0.0.1 localhost
127.0.1.1 UBUNTU

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
У меня остались только догадки, что, возможно, NETBIOS имена где то кешируются, но я не знаю где и как этот кеш очистить. И если это действительно так, то почему очистка кеша не произошла автоматически?


pls help!
« Последнее редактирование: 30 Январь 2010, 03:08:07 от Seemann »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
Покажите /etc/nsswitch.conf строку hosts


Оффлайн Seemann

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Seemann
    • Просмотр профиля
    • SeemannTech
Karl500 Вот та самая строка:
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25935
    • Просмотр профиля
ping идет на DNS имя, в то время как вы проверяете SMB имена.
Попробуйте
nslookup seemanntech
Уверен, выдаст 10.0.0.4

У вас явно DNS сервер не связан с DHCP, если компьютеры по DHCP получают адреса.
« Последнее редактирование: 29 Январь 2010, 23:00:54 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
В принципе, можно сделать так (хотя в определенных случаях это может несколько замедлить резолвинг).

Если у Вас есть wins-сервер (неважно, на линукс или windows), то:
- укажите его в smb.conf - строка
wins server = a.b.c.d
где a.b.c.d - IP-адрес wins-сервера
(проверьте, что строка wins support = yes либо закомментарена, либо отсутствует)
- установите winbindd
apt-get install winbind
- поменяйте строку hosts в /etc/nsswitch.conf на
hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4

(именно ПЕРЕД dns и ПОСЛЕ [NOTFOUND=return]

Это заставит резолвить имена вначале через wins, и только потом - через dns.

AnrDaemon совершенно прав - у Вас проблема в DNS, а не в NETBIOS, раз ping идет на НЕПРАВИЛЬНЫЙ адрес.

UPD: забыл еще: поставьте в smb.conf параметр dns proxy = no
Он запрещает искать NETBIOS имена через DNS.
« Последнее редактирование: 29 Январь 2010, 23:24:54 от Karl500 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25935
    • Просмотр профиля
Это как-то неправильно. Лечение симптомов вместо выпрямления проблемы.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
В принципе да, не вполне правильно. Но иногда - нужно именно так. Например, если в локальной сети нет никаких резолверов DNS, mDNS. Или они медленные/ненадежные, а нужно резолвить именно по NETBIOS-именам.

Оффлайн Seemann

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Seemann
    • Просмотр профиля
    • SeemannTech
ping идет на DNS имя, в то время как вы проверяете SMB имена.
Попробуйте
nslookup seemanntech
Уверен, выдаст 10.0.0.4

У вас явно DNS сервер не связан с DHCP, если компьютеры по DHCP получают адреса.

Вот что вышло:
seemann@UBUNTU:~$ nslookup seemanntech

Server:         10.0.0.2
Address:        10.0.0.2#53

Name:   seemanntech
Address: 10.0.0.232

seemann@UBUNTU:~$


Все тот же 10.0.0.232

Пользователь решил продолжить мысль 29 Январь 2010, 23:28:15:
поставьте в smb.conf параметр dns proxy = no
Он запрещает искать NETBIOS имена через DNS.

Karl500
С WINS совсем заморичиваться не хочется, так как и без него все должно работать, а с ним будет какое-то чесание уха через ногу.
В smb.conf уже стоит dns proxy = no

Кроме того хост 10.0.0.2 - DHCP-сервер, Интернет-шлюз и прозрачный DNS.
« Последнее редактирование: 30 Январь 2010, 01:43:30 от Seemann »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2240
    • Просмотр профиля
Значит совершенно точно - у Вас неправильно сконфигурирован DNS, раз он получает СТАРОЕ имя. Вот Вы и не можете до него достучаться.
Варианта два. Разобраться с DNS или сделать так, как я Вам предложил (первое - предпочтительнее).

Оффлайн Seemann

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Seemann
    • Просмотр профиля
    • SeemannTech
Значит совершенно точно - у Вас неправильно сконфигурирован DNS, раз он получает СТАРОЕ имя. Вот Вы и не можете до него достучаться.
Варианта два. Разобраться с DNS или сделать так, как я Вам предложил (первое - предпочтительнее).
Действительно, следуя вашим рекомендациям начал разбор с DNS-сервера. И оказалось что на нем вручную был прописан IP для SEEMANNTECH = 10.0.0.232. Удалил запись и все сразу же заработало.

Благодарю за содействие!
« Последнее редактирование: 30 Январь 2010, 03:13:19 от Seemann »

 

Страница сгенерирована за 0.056 секунд. Запросов: 22.