Не пойму, почему так. Нужно в iptables открыть порты для samba.

<code>
iptables -A INPUT -i eth0 -p TCP --dport 137:139 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --dport 137:139 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --sport 137:139 -j ACCEPT
iptables -A OUTPUT -o eth0 -p UDP --sport 137:139 -j ACCEPT
<code>
Так не работает, а если поменять местами dport и sport, то все работает
<code>
iptables -A INPUT -i eth0 -p TCP --sport 137:139 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --sport 137:139 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --dport 137:139 -j ACCEPT
iptables -A OUTPUT -o eth0 -p UDP --dport 137:139 -j ACCEPT
<code>

Почему так, ведь у нас INPUT - входящий поток, значит должен быть входной порт dport, а OUTPUT - исходящий поток, значит должен быть порт источника sport. Но так не работает, почему?

2 (29.11.2010 13:11:37 отредактировано i2ks)

safronowmax, примеры:
configure-iptables-to-allow-deny-access-to-samba
Samba and IPTables

It is good day to die ...
MS Windows 10
Заметки о главном...

3

INPUT - входящий поток, значит должен быть входной порт dport, а OUTPUT - исходящий поток, значит должен быть порт источника sport.

Совершенно не обязательно.

"Если вы уже пытались поработать с Linux, но нашли ее слишком запутанной и непонятной — расслабьтесь. Если вы умеете вскипятить чайник или завести будильник, то вы уже можете стать пользователем Linux (кроме шуток!)." ©

4

i2ks, в приведенных вами ссылках примеры в том виде в каком они есть тоже не работают, только если поменять dport на sport, а sport на dport.

Remedy, почему не обязательно?

5 (29.11.2010 14:42:21 отредактировано Kettler)

Потому что идёт запрос к тебе но не от от тебя. А если вод днс тогда наоборот.
INPUT вход source - порт точнее входящий запрос на порт 137:139 разрешить.

Из man iptables
-sport "Исходный порт, с которого был отправлен пакет"
-dport "Порт или диапазон портов, на который адресован пакет"

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

6

Kettler, т.е. получается правильно, что в INPUT должен быть sport, в OUTPUT dport? Если так, почему во всех руководствах написано наоборот?

7 (29.11.2010 16:22:51 отредактировано zerg)

safronowmax пишет:

Kettler, т.е. получается правильно, что в INPUT должен быть sport, в OUTPUT dport? Если так, почему во всех руководствах написано наоборот?

Потому что кто-то не подумал, когда писал, что исходящее подключение не обязательно должно начинаться с порта, на котором висит демон сам  wink

8 (29.11.2010 16:24:27 отредактировано Kettler)

Ну вот смотри у меня как
# Разрешаем ssh серверу
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT #
iptables -A OUTPUT -o eth1 -p tcp --sport  22 -j ACCEPT #

# Разрешаем dns серверу
iptables -A INPUT -i eth1 -p udp --sport 53 -j ACCEPT #
iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT #

#share а тут так пример samba
iptables -A INPUT -i eth1 -p udp -m multiport  --ports 135,136,137,138,139,445 -j ACCEPT
iptables -A OUTPUT -o eth1 -p udp -m multiport  --ports 135,136,137,138,139,445 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -m multiport  --ports 135,136,137,138,139,445 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -m multiport  --ports 135,136,137,138,139,445 -j ACCEPT

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

9

Kettler, спасибо

10

SMB запущен на гостевом Debian7 на виртуальной машине VBox.
Путем чтения логов и методом тыка  ab удалось получить доступ с хоста под Windows7 путем открытия в iptables еще и 5353/udp - Multicast DNS (помимо обычных). Иначе не работает.
Это потому что VBox или это от настроек SMB зависит?