Strona 1 z 2
[+] Włączenie iptables ogranicza dostęp do samby
: 29 czerwca 2009, 01:39
autor: coolturka
Witam.
Mam na
Debianie zainstalowaną sambę. Wszystko dobrze działało w obydwie strony, udostępnianie plików i drukarka.
Gdy włączyłem też iptables, samba działa, ale już nie
do końca sprawnie. Mianowicie na komputerze z Windowsem dalej widzę wszystko co udostępnia samba, czyli pliki i drukarkę, ale na Debianie nie widzę tego co jest udostępnione na
Windowsie. Debian informuje komunikatem:
Kod: Zaznacz cały
Niestety, nie można wyświetlić całej zawartości: grupa_robocza.
Spędziłem nad tym problemem ponad dzień i nic. Przejrzałem sporo odnośników w Google i fora i nic. Nie mam pojęcia co jest nie tak z firewallem, bo gdy go wyłączę wszystko wraca do normy. Oto kod mojego firewalla:
Kod: Zaznacz cały
# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
# ustawienie polityki dzialania
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP
# odblokowany localhost
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
# odblokowana samba
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 137 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 138 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 139 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 445 -m state --state NEW -j ACCEPT
# polaczenia nawiazane
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
Będę wdzięczny za każdą pomoc i sugestie co do tego.
Re: Włączenie iptables ogranicza dostęp do samby
: 29 czerwca 2009, 09:49
autor: mariaczi
coolturka pisze:Kod: Zaznacz cały
# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
Będę wdzięczny za każdą pomoc i sugestie co do tego.
Dopisłabym tu jeszcze
Kod: Zaznacz cały
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT
Pzdr.
: 29 czerwca 2009, 20:27
autor: coolturka
I dalej nic. Dodanie tych dwóch regułek nie pomogło. Widzę nazwę komputera z Windowsem, ale nie mogę "wejść" do niego. Na pewno są tu użytkownicy, którzy korzystają z samby i iptables, jak u was to wygląda?
: 29 czerwca 2009, 21:40
autor: grzesiek
A zmień tutaj na 455, i po co tu ten NEW...
Kod: Zaznacz cały
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 445 -m state --state NEW -j ACCEPT
Ogólnie nie podobają mi się Twoje reguły - powinny być bardziej szczegółowe!
: 29 czerwca 2009, 22:11
autor: coolturka
Upraszczam jak tylko mogę, by samba mi chodziła jak należy. Dodanie portu 455 też nie pomogło. Jakieś inne jeszcze propozycje ktokolwiek ma? Dzięki.
: 30 czerwca 2009, 09:57
autor: mariaczi
Zerknij
TU i zwróć uwagę na kolejność reguł iptables.
: 30 czerwca 2009, 17:42
autor: grzesiek
A spróbuj dodać
Kod: Zaznacz cały
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 111 -j ACCEPT
można też
Kod: Zaznacz cały
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
jeżeli ufasz swojej sieci.
: 30 czerwca 2009, 21:41
autor: coolturka
mariaczi, zajrzałem na tą stronę i nawet skopiowałem kod firewalla stamtąd i nic. Grzesiek, dodanie portu 111 też nic nie dało. Zezwolenie na cały ruch z lanu pomogło, ale nie na tym to polega, nie po to chcę zbudować firewalla. Sieć lan bezpieczna niby jest, ale tego do końca być pewnym nie można, sam pewnie wiesz jak bywa. Obecnie firewall wygląda tak:
Kod: Zaznacz cały
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -F INPUT
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
# zezwalamy na już nawiązane połączenia
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.2.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.2.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p udp --dport 138 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p udp --dport 138 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 139 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 445 -m state --state NEW -j ACCEPT
# udostepniaie internetu w sieci lokalnej
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT
Już mi ręce opadają.
: 30 czerwca 2009, 22:01
autor: grzesiek
Dam Ci prostą i skuteczną rade. Zdejmujesz firewall, odpalasz tcpdump albo Wireshark i patrzysz z czego to połączenie korzysta a czego to ty nie uwzględniłeś. Możesz nawet taki dump tutaj wrzucić to popatrzę.
I już widzę, że Ci się porty już pomyliły, miałeś 137 i 138.
Spróbuj jeszcze ten state NEW wywalić, ale wątpie.
Co do ruchu w sieci lokalnej ja przepuszczam, i tak mam ich wszystkich w DHCP po MAC pospisywanych. Firewall broni ściany zewnętrznej, jak to dobrze działa to po co zakładać barierę na ścianę wewnętrzną, no ale dobra. Czekam na logi połączeń.
: 30 czerwca 2009, 22:24
autor: coolturka
Odpaliłem tego tcpdump:
Kod: Zaznacz cały
22:16:32.798516 IP 192.168.2.1.50842 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:34.730525 IP 192.168.2.1.52131 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:36.702584 IP 192.168.2.1.57798 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:41.186546 IP 192.168.2.1.39681 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:41.462519 IP 192.168.2.1.39681 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:41.738459 IP 192.168.2.1.39681 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:43.670501 IP 192.168.2.1.38927 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:43.946453 IP 192.168.2.1.38927 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:44.222451 IP 192.168.2.1.38927 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:46.174563 IP 192.168.2.1.47012 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:46.174972 IP 192.168.2.3.netbios-ns > 192.168.2.1.47012: NBT UDP PACKET(137): QUERY; POSITIVE; RESPONSE; UNICAST
22:16:46.450449 IP 192.168.2.1.47012 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:46.450774 IP 192.168.2.3.netbios-ns > 192.168.2.1.47012: NBT UDP PACKET(137): QUERY; POSITIVE; RESPONSE; UNICAST
22:16:46.726479 IP 192.168.2.1.47012 > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:16:46.726931 IP 192.168.2.3.netbios-ns > 192.168.2.1.47012: NBT UDP PACKET(137): QUERY; POSITIVE; RESPONSE; UNICAST
Oczywiście zmieniłem podwójny wpis 138 na 137 i dalej nic.