Jump to content
zyxmon

Используем Samba вместо прошивочной службы

Recommended Posts

Прошивки маршрутизаторов кинетик содержат в качестве сервера сети Microsoft комерческий продукт под названием CIFS NQ - http://visualitynq.com/cifsnq/nqcifs.php

Настройки CIFS NQ минимальные. Если нужен более полный контроль, то стоит отключить встроенный сервер и установить старую добрую самбу.

Это делается просто.

1. Установка `opkg install samba36-server`

2. Настройка заключается в редактировании файла /opt/etc/samba/smb.conf

Простейший рабочий файл

[global]
        netbios name = Extra
        interfaces = lo br0
        server string = Keenetic
	workgroup = MYGROUP
        guest account = nobody
        security = user
        map to guest = Bad User
        guest ok = yes
        guest only = no
        browseable = yes
        timestamp logs = no
        preserve case = yes
        short preserve case = yes
        socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
        log level = 0
        syslog = 0
        passdb backend = smbpasswd
        smb encrypt = disabled
        smb passwd file = /opt/etc/samba/smbpasswd
[Entware]
        path = /tmp/mnt/ENTWARE3X
        force user = root
        writable = yes
        comment = ExtraFlash

Если нужно, добавьте wins, local master и другой требуемы функционал.

3. Запуск будет осуществляться автоматически при загрузке роутера. Вначале для тестирования можно запускать руками

`/opt/etc/init.d/S08samba start`

Edited by zyxmon
очепятка
  • Thanks 3

Share this post


Link to post
Share on other sites
Скрытый текст

[global]
workgroup = RNIC
netbios name = ZyXEL
server string = Work server

security = SHARE
guest ok = yes
guest only = no
browseable = yes
#interface = br0
#bind interfaces only = yes
#hosts allow = 192.168.0.0/24
socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536

local master = yes
domain master = yes
preferred master = yes
os level = 255
#wins support = yes

#dos charser = CP1251
#unix charset = UTF-8

follow symlinks = yes
wide links = yes

log level = 0
syslog = 0

[entware]
path = /opt
force user = root
public = no
browseable = yes
writable = yes

Почему то не запускается служба, делаю /opt/etc/init.d/S08samba start но шара не работает и в ps самбы нет

Share this post


Link to post
Share on other sites

И теперь nmblookup -M -- - почему то отвечает
querying __MSBROWSE__ on 78.47.125.180
78.47.125.180 __MSBROWSE__<01> и соответственно компьютеров в рабочей группе я так и не вижу

Хотя 78.47.125.180 вообще какой то левый сервер находящийся в Германии :?

Share this post


Link to post
Share on other sites
4 часа назад, GanjaKyp сказал:

И теперь nmblookup -M -- - почему то отвечает
querying __MSBROWSE__ on 78.47.125.180
78.47.125.180 __MSBROWSE__<01> и соответственно компьютеров в рабочей группе я так и не вижу

Хотя 78.47.125.180 вообще какой то левый сервер находящийся в Германии :?

78.47.125.180 - это my.keenetic.net.
Нужно выставить такие настройки, чтобы smbd и nmbd не обращали внимание на интерфейс ezcfg0.

Share this post


Link to post
Share on other sites

а где то можно найти информацию какие интерфейсы за что отвечают? в interface вообще нет  ezcfg, может я не там смотрю?

Edited by GanjaKyp

Share this post


Link to post
Share on other sites
1 час назад, GanjaKyp сказал:

а где то можно найти информацию какие интерфейсы за что отвечают? в interface вообще нет  ezcfg, может я не там смотрю?

Он есть в выводе ifconfig в opkg.

Это скрытый интерфейс, необходимый для EasyConfig и my.keenetic.net.

Share this post


Link to post
Share on other sites

Раскомментировал в конфиге строки #interface = br0 и #bind interfaces only = yes, сервис все равно не стартует. Прошивочную самбу отлючил, прошивка 2.06(AAFG.0)C1

Share this post


Link to post
Share on other sites

Запускайте smbd  и   nmbd ручками и смотрите, что пишут. Все работает у меня с выложенным конфигом.

А вто вывод nmblookup - разработчикам на заметку. Это же происходит для прошивочной службы? И тут   offtopic!

Share this post


Link to post
Share on other sites
1 час назад, zyxmon сказал:

А вто вывод nmblookup - разработчикам на заметку. Это же происходит для прошивочной службы? И тут   offtopic!

Тоже самое

smbd и nmbd при запуске вручную молчат, после запуска ничего не происходит

Share this post


Link to post
Share on other sites

Доэксперементировался, теперь даже если просто подключаю кинетик к своей локальной сети с ip адресом например 192.168.1.102, то компьютеры в сети перестают видеть друг друга, отключаю кинетик и через пару минут компы начинают появляться. Напомню в качестве шлюза у меня тп-линк 740

Ничего не пойму, но сотрудники уже начинают нервничать. По другому заходить в шару они не умеют)

Share this post


Link to post
Share on other sites
Скрытый текст

 

~ # smbd -i
smbd version 3.6.25 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
Ignoring unknown parameter "interface"
Ignoring unknown parameter "interface"
No builtin nor plugin backend for tdbsam found
PANIC (pid 1059): pdb_get_methods_reload: failed to get pdb methods for backend tdbsam

unable to produce a stack trace on this platform
dumping core in /opt/var/log/cores/smbd
Aborted

~ # nmbd -i
nmbd version 3.6.25 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
Ignoring unknown parameter "interface"
Ignoring unknown parameter "interface"
standard input is not a socket, assuming -D option
ERROR: nmbd is already running. File /opt/var/run/nmbd.pid exists and process id 1022 is running.

 

 

Share this post


Link to post
Share on other sites

Добрый день.

В первом сообщении, с примером smb.conf, чётко указан метод хранения учётных данных для доступа пользователей: passdb backend = smbpasswd. И указывается его местонахождение: smb passwd file = /opt/etc/samba/smbpasswd.

В конфигурационном файле GanjaKyp, метод не указан, а по умолчанию, Samba пытается использовать метод tdbsam, и не найдя ничего, ругается. Т.е., нужно добавить в конфигурационный файл упомянутые выше строки, что бы Samba использовала метод smbpasswd.

Другой вопрос, что метод smbpasswd считается, так сказать устаревшим https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/passdb.html

Вероятно, метод tdbsam, требует поддержки tdb-based binary file format. Вот тут пока не могу сказать что-либо полезное.

По идее, после корректировки smb.conf - должно запуститься.

Отдельно по параметру "interface" - ни разу не встречал такого в описаниях формата файла smb.conf; "interfaces" - да (т..е. самба справедливо ругается, выходит).

Нужно ли вставлять строку "bind interfaces only = yes" - вот тут не знаю: тогда задействованы будут только интерфейсы, указанные в параметре "interfaces", и их все надо перечислить. А интерфейсов у роутера вообще-то немало... С другой стороны - как тогда отделить упомянутый скрытый интерфейс ezcfg? Затрудняюсь ответить.

 

Буду скоро ставить и себе. Отпишу, если что полезное будет. Т.к. пользоваться дисковой шарой через CIFS NQ более-менее комфортно можно только с Windows-клиента. Делать это с Линукс машины - повеситься (простите) можно. Если в папке более 100 файлов, например, то пока откроет папку, можно много дел переделать (папка, с около 200 файлов открывает минут 10). Подключение спутникового тюнера к дисковой шаре - только через обращение в официальную поддержку, тестами с Wireshark, тестами бета-исправлений, и выпуском обновок (в общем, весело было :D)...

В общем, нужна полноценная, нормальная Samba. От этого выигрыш будет абсолютно во всём.

Edited by rim33377

Share this post


Link to post
Share on other sites

USB flash с двумя разделами - один ext другой ntfs
 

[global]
    netbios name = My-K
    interfaces = lo br0
    server string = K-II
    workgroup = WORKGROUP
    browseable = yes
    deadtime = 30
    domain master = yes
    encrypt passwords = true
    enable core files = no
    guest account = nobody
    guest ok = yes
    guest only = no
    local master = yes
    log level = 0
    log file = /opt/var/samba/smbd.log
    map to guest = Bad User
    max protocol = SMB2
    obey pam restrictions = yes
    passdb backend = smbpasswd
    preferred master = yes
    preserve case = yes
    private dir = /opt/var/samba
    security = user
    smb encrypt = disabled
    smb passwd file = /opt/etc/samba/smbpasswd
    socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
    short preserve case = yes
    syslog = 2
    timestamp logs = no
    use sendfile = yes
    writeable = yes

[OPT_L]
        path = /tmp/mnt/OPT_L
        force user = root
        writable = yes
        comment = My-Flash
[DATA]
        path = /tmp/mnt/Data
        force user = root
        writable = yes
        comment = My-Data

Примечание строка "private dir = /opt/var/samba" в данном каталоге нужно наличие двух файлов "smbpasswd" и "secrets.tbd"

/opt/var/samba # ls -l
-rw-r--r--    1 root     root         45056 Nov  4 09:26 secrets.tdb
-rw-r--r--    1 root     root           100 Nov  4 09:26 smbd.log
-rw-r--r--    1 root     root             0 Jan  1  1970 smbpasswd
/opt/var/samba # ps | grep samba
...
1559 root      7812 S    /opt/sbin/nmbd -D -s /opt/etc/samba/smb.conf
1563 root      7880 S    /opt/sbin/smbd -D -s /opt/etc/samba/smb.conf
...

 

  • Thanks 1

Share this post


Link to post
Share on other sites

На K-II получил такой результат загрузки SAMBA, чтение с USB flash диска раздел NTFS (максимум на 100Мбит портах роутера)

SMB-3.jpg

SMB-2.jpg

SMB-1.jpg

  • Thanks 1

Share this post


Link to post
Share on other sites

10 Мбайт/сек - это довольно легко для этого CPU, вот рубеж в 50 Мбайт/сек был бы достижением.

Share this post


Link to post
Share on other sites
В 08.11.2016 в 10:53, Le ecureuil сказал:

10 Мбайт/сек - это довольно легко для этого CPU, вот рубеж в 50 Мбайт/сек был бы достижением.

Добрый день.

Ну, для USB flash, если не USB HD, то результат вполне, тут же ограничением скорее есть сама флешка, изменчивая по скоростям от многих факторов в каждом конкретном случае. Да и на USB2, если не ошибаюсь, выше 30 Мбайт/сек не выжмешь даже в теории. Так что результат у автора весьма ничего, для просмотра медиа - очень даже.

Share this post


Link to post
Share on other sites

Опять же про wi-fi и samba, на планшете 10" Acer под Win10 c его Broadcom wi-fi одноканальным чипом. Получил на максимуме по wi-fi 70мбит для планшета скорость 7-8МБ. tx-burst не трогал как идет по умолчанию. Загрузка проца такая же как и выше если клиент под LAN.

Без имени-1.jpg

Без имени-2.jpg

Share this post


Link to post
Share on other sites

В шары заскакивает быстро, переходишь на уровень вверх - тормоза..при отключенном фаерволе открывает быстро. Какие правила фильтрации нужно еще добавить?

PS1: добавил правило: permit tcp 192.168.0.1 255.255.255.0 0.0.0.0 0.0.0.0 port eq 135 - заработало!

Вопрос в том, как теперь настроить samba-сервер entware в одноранговой сети c персональными общими папками для разных пользователей? Какие инструменты использовать для управления пользователями в entware?

Edited by emlen

Share this post


Link to post
Share on other sites

Решил попробовать Samba 4.7.0.1 из entware 3.

1. Встало без замечаний

2. Настройки конфига на скорую руку, может что и не доглядел, чисто посмотреть и SMB3.

Скрытый текст

[global]
    netbios name = KII
#    display charset = |CHARSET|
    interfaces = lo br0
    server string = KII
#    unix charset = |CHARSET|
    workgroup = WORKGROUP
    bind interfaces only = yes
    deadtime = 30

    server max protocol = SMB3
#    server min protocol = SMB3
    client max protocol = SMB3
#    client min protocol = SMB3
    
    enable core files = no
    security = user
    invalid users = root
    local master = Yes
    preferred master = Yes
#     domain master = Yes
    dns proxy = No
    map to guest = Bad User
    guest account = nobody
    guest ok = Yes
    guest only = no
    browseable = Yes
    timestamp logs = no
    preserve case = Yes
    short preserve case = Yes
    socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
    log level = 0
    syslog = 0
    log file = /opt/var/samba/smbd.log
    passdb backend = smbpasswd
#     passdb backend = tdbsam:/opt/etc/samba/passdb.tdb
    smb encrypt = No
    smb passwd file = /opt/etc/samba/smbpasswd
#        printcap name = /opt/etc/printcap
    use sendfile = Yes
    large readwrite = Yes
    null passwords = Yes
    blocking locks = No
 
[DATA]
    path = /tmp/mnt/Data
    force user = root
    writable = yes
    comment = M-Data
    create mode = 0750

3. Запуск (переименовал S91smb в K91smb) : ./K91smb start (каталог для /opt/var/samba/ нужно создать)

17720 root     35640 S    smbd -D
17723 root     32968 S    {smbd-notifyd} smbd -D
17724 root     32984 S    {cleanupd} smbd -D
17725 root     35628 S    {lpqd} smbd -D
17727 root     22804 S    nmbd -D
18565 root     36160 S    smbd -D

4. Win10 клиент Home

Скрытый текст

PS C:\Users\T> Get-SmbConnection

ServerName      ShareName UserName   Credential                                      Dialect NumOpens
-----------------      ---------------- --------------   --------------                                      --------- --------
192.168.130.1    Data            FANTOM-A\T MicrosoftAccount\-----@----.com 3.1.1    5      

PS C:\Users\T> dir \\192.168.1.100\Data

    Каталог: \\192.168.1.100\Data

Mode                LastWriteTime         Length Name                                       
--------                -------------                ------ ----                                       
d-----                  28.11.2017   12:14                Vd                                     

PS C:\Users\T> Get-SmbServerConfiguration | Select EnableSMB2Protocol

EnableSMB2Protocol
------------------
             False

PS C:\Users\T> Get-SmbServerConfiguration | Select EnableSMB1Protocol

EnableSMB1Protocol
------------------
             False

PS C:\Users\T> Get-SmbServerConfiguration | Select EnableSMB3Protocol

EnableSMB3Protocol
------------------

5. Из анализа соединения упоминания про SM3 не увидел, что для Win7 что для Win10 в запросах Negotiate ответ один и тот же

Win7 при самих пакетах SMB2
DialectRevision: (0x2ff) - SMB2 wildcard revision number.

Win10 при самих пакетах SMB2
DialectRevision: Unknown (0x311)

6. Процессор был в потолок при копировании 11-12МБ на KII

  1  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||93.6%]   Tasks: 41, 30 thr; 2 running
  2  [|||||||||||||                                                  16.7%]   Load average: 1.59 0.47 0.31 
  Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||39.9M/123M]   Uptime: 1 day, 08:46:18
  Swp[                                                               0K/0K]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
14939 root       20   0 36384  6824  5508 R 99.4  5.4  0:36.59 smbd -D
  154 root       20   0 28504 13212  9508 S  3.8 10.5 42:36.24 ndm
15009 root       20   0  6568  2016  1268 R  2.6  1.6  0:01.10 htop

  1  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]   Tasks: 41, 30 thr; 1 running
  2  [|||||||||                                                      10.9%]   Load average: 2.39 0.76 0.41 
  Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||39.8M/123M]   Uptime: 1 day, 08:46:46
  Swp[                                                               0K/0K]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
14939 root       20   0 36384  6824  5508 S 99.4  5.4  1:04.61 smbd -D
  154 root       20   0 28504 13212  9508 S  6.5 10.5 42:37.61 ndm
15083 root       20   0  6568  2012  1268 R  3.9  1.6  0:00.95 htop

7. Отключил, вернул встроенную в прошивку

  1  [|||||||||||                                                    15.7%]   Tasks: 28, 31 thr; 2 running
  2  [|||||                                                           5.8%]   Load average: 1.25 0.61 0.24 
  Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||36.3M/123M]   Uptime: 00:02:16
  Swp[                                                               0K/0K]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
  553 root       20   0 15324  2588   788 S  9.7  2.0  0:04.62 /bin/nqcs -i хххххххххххх
  961 root       20   0  6568  2020  1268 R  2.6  1.6  0:00.65 htop

  1  [||||||||||                                                     14.4%]   Tasks: 28, 31 thr; 1 running
  2  [|||                                                             2.6%]   Load average: 1.51 0.78 0.32 
  Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||36.2M/123M]   Uptime: 00:03:09
  Swp[                                                               0K/0K]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
  553 root       20   0 15324  2588   788 S  7.9  2.0  0:09.54 /bin/nqcs -i хххххххххххх
  154 root       20   0 28196 13084  9264 S  2.0 10.4  0:42.94 ndm
  994 root       20   0  6568  2020  1268 R  1.3  1.6  0:01.07 htop

 

Share this post


Link to post
Share on other sites

Поставил samba4x-server_4.7.3-1 на giga 3

по сравнению с 3.6 скорость на запись выросла с 27 до 37 

на чтение упала с 60 до 48

но тут я вспомнил почему у нас с ней не срослось. Она не показывает половину файлов. Создаю рядом такой же, с именем на 1 символ длиннее, права те же, и его видно!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...