Samba - nie mog

Masz problemy z siecią bądź internetem? Zapytaj tu
Delleg
Posty: 42
Rejestracja: 21 września 2010, 12:49

Samba - nie mogę przeglądać zasobów

Post autor: Delleg »

Walczę z tym już tak długo, że nie wiem od czego zacząć, ale po kolei. Po pierwsze chcę wdrożyć kontroler domeny u siebie w pracy oparty na Ldapie. Baza działa, mogę dodawać użytkowników, ale schody zaczęły się przy sambie. Otóż nie mogę nic udostępnić. Mój konfig jest obecnie taki

Kod: Zaznacz cały

[global]
workgroup = PCPR
netbios name = Debian
[files]
    revalidate = yes
    public = yes
    path = /home/files&drivers
Wykluczyłem wszystko w ramach zrozumienia problemu łącznie z konfiguracją ldapa. Ale mimo tak ubogiego konfigu nie jestem wstanie przeglądać zasobu, nie mówiąc już o logowaniu do domeny po dodaniu wymaganych opcji.

Problem może tkwić w konfiguracji iptables i zamkniętych portów. Może ktoś mądrzejszy na to spojrzy bo ja już nie mam pojęcia - zmęczenie materiału

Kod: Zaznacz cały

root@SERWER:~# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:1410
ACCEPT     tcp  --  anywhere             anywhere            tcp dpts:netbios-ns:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http-alt
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ldap
ACCEPT     icmp --  anywhere             anywhere            limit: avg 5/min burst 5
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:9091
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bacula-dir
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:http-alt
ACCEPT     udp  --  anywhere             anywhere            udp spt:ldap
ACCEPT     udp  --  anywhere             anywhere            udp dpt:5016
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:webmin
ACCEPT     tcp  --  anywhere             anywhere            tcp dpts:bacula-dir:bacula-sd
ACCEPT     udp  --  192.168.16.0/24      anywhere            udp dpt:netbios-ns
ACCEPT     udp  --  192.168.16.0/24      anywhere            udp dpt:netbios-dgm
ACCEPT     tcp  --  192.168.16.0/24      anywhere            tcp dpt:netbios-ssn
ACCEPT     tcp  --  192.168.16.0/24      anywhere            tcp dpt:microsoft-ds
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere            tcp dpts:netbios-ns:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:microsoft-ds

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere            limit: avg 5/sec burst 5
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  192.168.16.0/24      anywhere            tcp dpt:www
ACCEPT     tcp  --  192.168.0.200        anywhere            tcp dpt:netbios-ssn
ACCEPT     tcp  --  192.168.16.0/24      anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpts:bacula-fd:bacula-sd
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Weź wklej numerycznie:

Kod: Zaznacz cały

iptables -L -n
Wydaje mi się, że przyczyną może być firewall (iptables). Powinny być otwarte następujące porty:
SMB: 137(UDP) 138(UDP), 139(TCP), 445 (TCP).
LDAP: 389 (TCP i UDP)
Delleg
Posty: 42
Rejestracja: 21 września 2010, 12:49

Post autor: Delleg »

Kod: Zaznacz cały

iptables -nL | egrep "137|138|139|389|445"

Kod: Zaznacz cały

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:137:139
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:389
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:389
ACCEPT     udp  --  192.168.16.0/24      0.0.0.0/0           udp dpt:137
ACCEPT     udp  --  192.168.16.0/24      0.0.0.0/0           udp dpt:138
ACCEPT     tcp  --  192.168.16.0/24      0.0.0.0/0           tcp dpt:139
ACCEPT     tcp  --  192.168.16.0/24      0.0.0.0/0           tcp dpt:445
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:139
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:137:139
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:445
ACCEPT     tcp  --  192.168.0.200        0.0.0.0/0           tcp dpt:139
Aha, jeszcze jedno serwer jest ruterem pod eth1 podłączony jest ruter ADSL z Neostradą, a pod eth0 komputery przez przełączniki.

Kod: Zaznacz cały

ifconfig

Kod: Zaznacz cały

eth0      Link encap:Ethernet  HWaddr 1c:bd:b9:84:97:f0
          inet addr:192.168.16.1  Bcast:192.168.16.255  Mask:255.255.255.0
          inet6 addr: fe80::1ebd:b9ff:fe84:97f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1397914 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1891193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:164941519 (157.3 MiB)  TX bytes:2103110630 (1.9 GiB)
          Interrupt:19

eth1      Link encap:Ethernet  HWaddr 48:5b:39:b7:d5:28
          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::4a5b:39ff:feb7:d528/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1890855 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1342156 errors:0 dropped:0 overruns:0 carrier:2
          collisions:0 txqueuelen:1000
          RX bytes:2100395555 (1.9 GiB)  TX bytes:154249309 (147.1 MiB)
          Interrupt:27

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1686 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:180135 (175.9 KiB)  TX bytes:180135 (175.9 KiB)
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Brakuje portu 389 TCP od LDAP'a. A czy da się wejść z Windowsa wpisując w pasek adresu:

Kod: Zaznacz cały

\\192.168.16.1
Awatar użytkownika
Yampress
Administrator
Posty: 6422
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

Delleg
Posty: 42
Rejestracja: 21 września 2010, 12:49

Post autor: Delleg »

Pacek pisze:Brakuje portu 389 TCP od LDAP-a. A czy da się wejść z Windowsa wpisując w pasek adresu:

Kod: Zaznacz cały

\\192.168.16.1
Sprawdzałem zanim posta napisałem nie nie mogę, nie działa. Otworzyłem porty dla ldapa.

Kod: Zaznacz cały

smbclient -L localhost -N

Kod: Zaznacz cały

Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)
Wróciłem do starego konfigu samby:

Kod: Zaznacz cały

testparm

Kod: Zaznacz cały

Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[netlogon]"
Processing section "[homes]"
Processing section "[profiles]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

[global]
        dos charset = CP852
        unix charset = ISO8859-2
        workgroup = PCPR
        server string = SERWER
        passdb backend = ldapsam:ldap://serwer.pcpr.lan
        passwd program = /usr/sbin/smbldap-passwd %u
        passwd chat = *New*password* %nn *Retype*new*password* %nn
        log level = 2
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 50
        name resolve order = wins lmhosts host bcast
        socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
        add user script = /usr/sbin/smbldap-useradd -m "%u"
        delete user script = /usr/sbin/smbldap-userdel "%u"
        add group script = /usr/sbin/smbldap-groupadd -p "%g"
        delete group script = /usr/sbin/smbldap-groupdel "%g"
        add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
        delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
        set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
        add machine script = /usr/sbin/smbldap-useradd -w "%u"
        logon script = netlogon.bat OR %U.bat
        logon path = \%Lprofiles%U
        logon drive = U:
        logon home = \%L%U.profile
        domain logons = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        dns proxy = No
        wins support = Yes
        ldap admin dn = cn=admin,dc=pcpr,dc=lan
        ldap delete dn = Yes
        ldap group suffix = ou=groups
        ldap machine suffix = ou=machines
        ldap passwd sync = yes
        ldap suffix = dc=pcpr,dc=lan
        ldap ssl = no
        ldap user suffix = ou=users
        hosts allow = 127.0.0.1, 192.168.16.0/24
        hide unreadable = Yes

[netlogon]
        comment = Network Logon Service
        path = /home/samba/netlogon
        browseable = No

[homes]
        comment = HOME Directories
        path = /home/%U
        valid users = %S
        read only = No
        inherit permissions = Yes
        browseable = No

[profiles]
        path = /home/samba/profiles
        valid users = %U, "@Domain Admins"
        read only = No
        create mask = 0600
        directory mask = 0700
        case sensitive = No
        preserve case = No
        short preserve case = No
        hide files = /desktop.ini/ntuser.ini/NTUSER.*/
        browseable = No
        csc policy = disable
No dobrze, teraz jestem pewien, że to wina firewalla. Z tego co przeczytałem w sieci to zablokowane porty być może jednak coś źle robię, korzystam z gShield.

Firewall.sh

Kod: Zaznacz cały

#!/bin/bash

#  siec lokalna 192.168.1.0/24
# siec internet eth0 to eth1
#INTERNET=eth0 to eth1
#LOCAL=eth1 to eth0

set -x
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe nf_conntrack_ftp
iptables -F  # kasowanie istniejacych regul
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # akceptowanie juz nawiazanych regul
iptables -A INPUT -i lo -j ACCEPT # akceptowanie polaczen na interfejsie lo

iptables -A INPUT -p TCP --dport 1410 -j ACCEPT # akceptowanie polaczen ssh port 22
iptables -A INPUT -p TCP --dport 137:139 -j ACCEPT
iptables -A INPUT -p TCP --dport 389 -j ACCEPT
iptables -A INPUT -p TCP --dport 8080 -j ACCEPT # akceptowanie polaczen phpldapadmin 8080
iptables -A INPUT -p UDP --dport 389 -j ACCEPT # akceptowanie polaczen LDAP port 389
iptables -A INPUT -p ICMP -m limit --limit 5/m -j ACCEPT # wpuszczanie 5 pingow na minute
iptables -A INPUT -p TCP --dport 9091 -j ACCEPT #transsmission-daemon
iptables -A INPUT -p TCP --dport 9101 -j ACCEPT #bacula
iptables -A INPUT -p TCP --dport 80 -j ACCEPT #web

iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -A-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p TCP --sport 8080 -j ACCEPT #cache
iptables -A INPUT -p UDP --sport 389 -j ACCEPT
iptables -A INPUT -p UDP --dport 5016 -j ACCEPT #vpn
iptables -A INPUT -p TCP --dport 10000 -j ACCEPT #Webmin
iptables -A INPUT -p tcp --dport 9101:9103 -j ACCEPT # Bacula
iptables -A INPUT -p UDP -s 192.168.16.0/24 --dport 137 -j ACCEPT # akceptowanie polaczen samba port 137
iptables -A INPUT -p UDP -s 192.168.16.0/24 --dport 138 -j ACCEPT # akceptowanie polaczen samba port 138
iptables -A INPUT -p TCP -s 192.168.16.0/24 --dport 139 -j ACCEPT # akceptowanie polaczen samba port 139
iptables -A INPUT -p TCP -s 192.168.16.0/24 --dport 445 -j ACCEPT # akceptowanie polaczen samba port 445

iptables -A INPUT -p TCP --dport 139 -j ACCEPT # akceptowanie polaczen samba port 139 - dla tunelu ssh

iptables -P INPUT DROP # domyslna polityka DROP - odrzucenie

iptables -t nat -F # kasowanie tablicy nat
iptables -t nat -A POSTROUTING -s 192.168.16.0/24 -o eth1 -j MASQUERADE # nat
#iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 10.0.2.15 # nat
#iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 2222 -j DNAT --to 192.168.1.100:22 # przek$
#iptables -t nat -A PREROUTING -p tcp --dport 5900 -i eth0 -j DNAT --to 192.168.16.11:5900 # przekierow$
#iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -j DNAT --to 192.168.16.11:3389 # przekierow$

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p ICMP -m limit --limit 5/s -j ACCEPT
iptables -A FORWARD -p TCP --dport 53 -j ACCEPT
iptables -A FORWARD -p UDP --dport 53 -j ACCEPT
iptables -A FORWARD -p TCP --dport 80 -s 192.168.16.0/24 -j ACCEPT
iptables -A FORWARD -p TCP --dport 139 -s 192.168.0.200 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.16.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT
iptables -P FORWARD DROP
iptables -A OUTPUT -p tcp --dport 9102:9103 -j ACCEPT #Bacula
Dodane:
Jestem na to za głupi, najwyraźniej, meczący problem wyłączyłem firewalla, a przeglądać zasobów nie mogę.

Kod: Zaznacz cały

root@SERWER:~# iptables -L && smbclient -L localhost -N
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)
Natomiast z poziomu Windowsa zainstalowałem program do skanowania portów, podałem adres serwera 192.168.16.1. Program pokazał mi, że otwarte porty to 53 80 110 3128 8080. Naprawdę nie rozumiem, został jeszcze w systemie gShield, którego nie instalowałem nie wiem jak go wyłączyć masakra.

Kod: Zaznacz cały

root@SERWER:~# echo "hello" | telnet localhost 445
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
root@SERWER:~# echo "hello" | telnet localhost 137
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
root@SERWER:~# echo "hello" | telnet localhost 138
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
root@SERWER:~# echo "hello" | telnet localhost 139
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
root@SERWER:~# echo "hello" | telnet localhost 80
Trying ::1...
Connected to SERWER.PCPR.LAN.
Escape character is '^]'.
Connection closed by foreign host.
Co do blokuje porty?
ODPOWIEDZ