LINUX.ORG.RU
ФорумAdmin

samba сломалась, сбой юнита nmb.service.

 , ,


0

1

С проблемой сам разобрался, но мелкий вопрос про IP в конце поста.*

Хотел перезапустить самбу, что-то случилось:

sudo systemctl stop nmb smb && sudo systemctl start nmb smb

Пробую по шагам:

sudo systemctl start nmb.service
Job for nmb.service failed because the control process exited with error code.
See "systemctl status nmb.service" and "journalctl -xeu nmb.service" for details.
nmbd[732726]: [2025/10/16 07:14:38.211574,  0] ../../source3/nmbd/nmbd_subnetdb.c:127(make_subnet)
nmbd[732726]:   make_subnet: Failed to open nmb bcast socket on interface 10.99.99.4 for port 137: Невозможно назначить запрошенный адрес
nmbd[732726]: [2025/10/16 07:14:38.211844,  0] ../../lib/util/become_daemon.c:119(exit_daemon)
nmbd[732726]:   exit_daemon: daemon failed to start: NMBD failed when creating subnet lists, error code 13

systemd[1]: nmb.service: Main process exited, code=exited, status=1/FAILURE

Есть созданное namespace:

 #!/bin/bash 
# Вызывается из /etc/systemd/system/netns-wg.service
printf 'Создание именного пространства pvt-net1...\n'

ip netns add pvt-net1
ip -n pvt-net1 link set lo up
ip link add to-pvt-net1 type veth peer name from-pvt-net1 netns pvt-net1
ip address add 10.99.99.4/31 dev to-pvt-net1
ip link set to-pvt-net1 up
ip -n pvt-net1 address add 10.99.99.5/31 dev from-pvt-net1
ip -n pvt-net1 link set from-pvt-net1 up
ip -n pvt-net1 route add default via 10.99.99.4
ip rule add from 10.99.99.5 table main priority 99
sysctl -w net.ipv4.conf.all.forwarding=1
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.99.99.5 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.99.99.5 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.99.99.5
iptables -A FORWARD -d 10.99.99.5 -p tcp --dport 8080 -j ACCEPT

Но оно же никак не влияет на основное пространство, ведь правда? Правда?… 10.99.99.4 и 10.99.99.4.
упс…

Попробовал его выключить sudo systemctl stop netns-wg.service и самба ожила. Кто первый встал того и тапки.

Вопрос а что за адрес по умолчанию такой, 10.99.99.* что все его юзают? Почему не 192.168.. например? Какой использовать для NS чтобы ещё кого не поломать? 10.99.99.10 какой-либо?

Или как в самбе указать другой IP?

Ответ на: комментарий от mx__

Я попробовал заменить .4 на .6 и .5 на .7 но самба всё равно скрашилась.

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 54:04:a6:96:05:46 brd ff:ff:ff:ff:ff:ff
    altname enx5404a6960546
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
       valid_lft 12690sec preferred_lft 12690sec
    inet6 fe80::f9d3:a050:4789:1c2f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
5: to-pvt-net1@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 7e:a0:7f:17:84:2a brd ff:ff:ff:ff:ff:ff link-netns pvt-net1
    inet 10.99.99.6/31 scope global to-pvt-net1
       valid_lft forever preferred_lft forever
    inet6 fe80::4027:99ff:fe73:8bea/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

$ cat /etc/samba/smb.conf | grep interfaces
# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
;   interfaces = 192.168.12.2/24 192.168.13.2/24 

Какие они по умолчанию и почему конфликтуют с целым рядом адресов я хз

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

И что это даст?

самба не будет вешаться на левый интерфейс (в частности wireguard)

а потом наступлю на эти грабли если сменю имя интерфейса.

Я больше скажу, при смене жесткого диска нужно будет систему переставить.

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

Пока я так и сделал, спасибо за совет.

# 
# Ограничить используемые интерфейсы, чтобы не было конфликтов с namespaces:
   interfaces = lo enp3s0

# Без него Samba будет всё ещё слушать на всех интерфейсах, 
# но принимать подключения только с указанных IP/интерфейсов.
   bind interfaces only = yes

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

Может просто задать IP другой, куда самба не полезет?

Можно. В interfaces можно писать и имена интерфейсов и ip адреса.

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

Да, в курсе уже. То есть какой я не укажи IP своему namespace, если samba не запретить, он сунет туда нос и сломается?

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

То есть какой я не укажи IP своему namespace, если samba не запретить, он сунет туда нос и сломается?

Я ответил на ваш конкретный вопрос. В самбе можно указывать и интерфейсы и ip адреса. Если такого интерфейса и/или ip адреса на момент вызова bind нет, то звиняйте, не будет ни коня ни шашки.

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

Я больше скажу, при смене жесткого диска нужно будет систему переставить.

Это совсем необязательно.

«при смене жесткого диска» обязательно. Обращаю внимание на слово «переставить» т.е. не слово «переустановить» которое обычно подразумевает инстал с нуля.

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

«переставить» обычно значит, что и «переустановить».

Похоже у каждого своё «переставить».

anc ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.