Дано:
172.25.76.249 - Файлопомойный сервер samba с интеграцией в линуксовый AD
172.25.1.1 - Пограничный маршрутизатор
172.25.1.17 - Рабочая станция linux
На марше - nftables
На рабочей станции, в файле /etc/fstab строчка
//172.25.76.249/fgarbage/IT /home/dodik/shared cifs user,rw,uid=1000,gid=1000,credentials=/home/dodik/.smb 0 0
В файле .smb данные типа
username=dodik
password=password
domain=do.main
Скомандовав на рабочей станции
sudo mount -a
вываливается ошибка
mount error(111): could not connect to 172.25.76.249Unable to find suitable address.
Так-с-с… Вероятнее всего nftables на марше.
Лезу на файлопомойку, смотрю чего она там слушает.
ss -tulnp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* users:(("chronyd",pid=702,fd=5))
udp UNCONN 0 0 172.25.76.249%enp1s0:68 0.0.0.0:* users:(("systemd-network",pid=343,fd=30))
udp UNCONN 0 0 172.25.76.255:137 0.0.0.0:* users:(("nmbd",pid=720,fd=15))
udp UNCONN 0 0 172.25.76.249:137 0.0.0.0:* users:(("nmbd",pid=720,fd=14))
udp UNCONN 0 0 0.0.0.0:137 0.0.0.0:* users:(("nmbd",pid=720,fd=12))
udp UNCONN 0 0 172.25.76.255:138 0.0.0.0:* users:(("nmbd",pid=720,fd=17))
udp UNCONN 0 0 172.25.76.249:138 0.0.0.0:* users:(("nmbd",pid=720,fd=16))
udp UNCONN 0 0 0.0.0.0:138 0.0.0.0:* users:(("nmbd",pid=720,fd=13))
tcp LISTEN 0 50 0.0.0.0:445 0.0.0.0:* users:(("smbd",pid=740,fd=28))
tcp LISTEN 0 50 0.0.0.0:139 0.0.0.0:* users:(("smbd",pid=740,fd=29))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=708,fd=6))
Аха…! Добавляю правила на сам маршрутизатор (потому как на файлопомойке всё открыто) типа
nft add rule ip filter INPUT ip saddr 172.25.1.0/24 tcp dport { 139, 445 } counter accept
nft add rule ip filter INPUT ip saddr 172.25.1.0/24 udp dport { 137, 138 } counter accept
Снова пытаюсь смотнитроваться - результат тот же
Хорошо. Отключаю последнее правило в nftables, которое звучит как counter drop
монтируюсь - фиг!
Погнали траблшутить.
На марше командую
tcpdump -i enp48s0.90 src 172.25.1.17 and portrange 1-1024 and port not 22
Самба же попадает в диапазон портов 1-1024? И чтоб не фонил ssh исключаем 22 порт.
Монтируюсь на рабочей станции, а на роутере смотрю выхлоп
11:59:25.967274 IP 172.25.1.17.55692 > 172.25.76.249.microsoft-ds: Flags [S], seq 243504943, win 64240, options [mss 1460,sackOK,TS val 3606572534 ecr 0,nop,wscale 7], length 0
11:59:25.967990 IP 172.25.1.17.49322 > 172.25.76.249.netbios-ssn: Flags [S], seq 3652756034, win 64240, options [mss 1460,sackOK,TS val 3606572534 ecr 0,nop,wscale 7], length 0
Чё-та пытается проскочить. Иду на файловый сервер, командую
tcpdump -i enp1s0 src 172.25.1.17 and port not 22
Монтируюсь и тишина. Пытаюсь пинговаться, выхлоп в tcpdump файлового сервера сыплет.
Вывод. На маршрутизатор пакеты приходят. С него на файловый сервер нет. Соответственно где-то в nftables марша затык, но я же полностью отключил drop всего. Что не так-то?
Цепочка input таблицы filter маршрутизатора
table ip filter {
chain INPUT {
type filter hook input priority filter; policy accept;
ct state established,related counter packets 4431 bytes 372877 accept
ct state invalid counter packets 98 bytes 4508 drop
iifname "lo" counter packets 0 bytes 0 accept
icmp type echo-request meta length 93-65535 counter packets 5 bytes 1740 drop
ip protocol icmp counter packets 279 bytes 16286 accept
ip saddr { 172.25.1.0/24, 172.25.76.240/28 } tcp dport 22 counter packets 0 bytes 0 accept
}