Két telephely között Samba tallózás

Fórumok

Sziasztok!

Lehet, hogy nem a legtalálóbb címet adtam neki, de komplex a helyzet.
Adott két telephely, melyek között állandó VPN kapcsolat van (ZyWall routerek, hardveresen). Szeretnénk azt, ha a jelenlegi felállás megváltozna, azaz a jelenlegi két munkacsoport helyett egy lenne, tallózható lehetne bármely telephelyről mindkét telephely összes Windowsos gépe.
A mostani felállás szerint A telephelyen van egy Samba szerver, WINS-sel, DHCP-vel, megy szépen. B telephelyen beállítottunk egy gépet ugyanarra a munkacsoportra, melyet az A telephelyen használunk, megadtuk neki a TCP/IP beállítások között az A telephelyen levő WINS szerver IP címét.
Az A telephelyről ez után bármely gépről lehet pingelni, illetve \\gépnév alapján elérni a B telephelyen levő teszt gépet, viszont ami miatt írok: Windowsos gépeken, az A telephelyről a "Hálózati helyek" alatt nem látszik a gép.
Mit lehetne csinálni, van-e tippetek?
Nyilván az ilyenkor kötelező köröket - szerintem - lefutottam - mint Windows tűzfal, vírusirtó, Netbios engedélyezése TCP/IP felett, stb.
Igazából látszik a gép, hiszen a neve alapján pingelhető, tallózható, azt szeretnénk még, ha a "Hálózati helyek" alatt szintén látszódna - jelenleg csak a teszt gép - de később persze az összes "túloldali" gép is.
A WINS-et futtató Samba-s gépen a wins.dat fájljában szépen szerepel a gép, a B telephelyi IP címével.

Samba konfigot mutatom (a megosztásokat kivettem, szerintem ide felesleges):
------------------------------------------------------------
# Global parameters
[global]
interfaces = 192.168.6.0/24 192.168.5.0/24 127.0.0.0/8
hosts allow = 192.168.6.0/24 192.168.5.0
log level = 3
smb ports = 139
workgroup = TELEPHELY
netbios name = Fileserver
server string = Fileserver
map to guest = Bad User
passdb backend = "ldapsam:ldap://127.0.0.1"
enable privileges = Yes
username map = /etc/samba/smbusersmap
log file = /var/log/samba/log.%m
max log size = 1000
time server = Yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
load printers = Yes
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 path = \\%L\Profiles\%U
logon script = logon.bat
logon drive = S:
domain logons = Yes
os level = 240
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
ldap admin dn = cn=admin,dc=telephely
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Users
ldap machine suffix = ou=Computers
ldap passwd sync = Yes
ldap suffix = dc=telephely
ldap ssl = no
ldap user suffix = ou=Users
panic action = /usr/share/samba/panic-action %d
printing = cups
printcap name = cups
# print command =
lpq command = %p
lprm command =
name resolve order = wins lmhosts hosts bcast
-----------------------------------------------------------

PS: PDC-nek van telepítve a Samba, de nem léptetünk be domain-be senkit, nem is szeretnénk.
Minden tippet szívesen vennék!

Köszi:
Mono

Upd.:
keresgélek közben a neten folyamatosan, találtam egy nmblookup nevű dolgot, kipróbáltam, ebből talán lesz további tippetek.
Tehát az A telephelyen van a WINS szerver, ennek körzete 192.168.6.0. A B telephelyen az IP körzet 192.168.5.0. Ebben a B telephelyi körzetben van a teszt gép, az A telephelynek megfelelően beállított munkacsoport névvel, az A telephelyen levő WINS szerver IP címével.
Lekérdezve a WINS szerveren a túloldalt, B telephelyen levő teszt gépet ezt a választ adja vissza:
-----------------------------------------------------------
nmblookup teszt
added interface ip=192.168.6.2 bcast=192.168.6.255 nmask=255.255.255.0
Can't determine ip for broadcast address 192.168.5.0/24
added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0
Socket opened.
querying vorczi on 192.168.6.255
querying vorczi on 127.255.255.255
name_query failed to find name teszt
-----------------------------------------------------------

Lekérdezve a saját Windowos gépemet, mely ugyanazon a telephelyen, IP körzetben van, mint a Samba, WINS szerver ezt kapom vissza:
-----------------------------------------------------------
nmblookup mono
added interface ip=192.168.6.2 bcast=192.168.6.255 nmask=255.255.255.0
Can't determine ip for broadcast address 192.168.5.0/24
added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0
Socket opened.
querying mono on 192.168.6.255
Got a positive name query response from 192.168.6.200 ( 192.168.6.200 192.168.56.1 )
192.168.6.200 mono<00>
192.168.56.1 mono<00>
----------------------------------------------------------

Minkdkét lekérdezésben szerepel e sor: "Can't determine ip for broadcast address 192.168.5.0/24" - talán ezzel lehet gond. Természetesen a VPN megy, a szerverről túlra pingelni bármit tudok.
Van-e ötlet? :)

Hozzászólások

szerintem pont ezzel lesz a gond, hogy a broadcast nem megy át a két subnet közt. a "hosts allow = 192.168.6.0/24 192.168.5.0" második fele az tuti jó?
nem kell ilyenkor a B telephelyre is egy kijelölt bdc vagy egy local master browser gép? (ehhez nem értek, csak ötlet)

Nálam hasonlóan van. brows-olni nem tudom, a túloldali gépeket de a "net use", vagy "net view" működik.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba és kész!

Route-olt hálón a broadcast üzenetek nem mennek át, ezért a Tallózóban nem fognak megjelenni a router mögötti erőforrások. De statikusan elérhetőek akár net use-tal, akár grafikus felületen a hálózati meghajtó csatlakoztatásával, de itt is kézzel kell beírni és nem a listából választani.

Ha mindegyik oldalon van Samba server, akkor a másik oldal erőforrásait a szervereken statikusan felvenni, majd a saját alháló felé megosztani.

Szerk: Na szépen összefoglaltam, amit a korábban érkeztők írtak. :)

alabbi ket sor az smb.conf-ba :

remote announce = XXX.XXX.XXX.XXX
remote browse sync = YYY.YYY.YYY.YYY

Köszi!

Ez azt jelentené, hogy - mint ahogy Junior013 is írja - mindkét telephelyen legyen egy-egy Samba, helyi WINS-sel, esetleg DHCP-vel, emellett pedig mindkét sambába írjam be e két sort:

"remote announce = XXX.XXX.XXX.XXX
remote browse sync = YYY.YYY.YYY.YYY"

Itt az X és az Y IP cím a sambák esetében a túloldali samba IP címét jelenti? Azaz az X és az Y ugyanaz az IP cím, mely a túloldali Samba gép címe?

Ugyan otthoni környezetben, de nekem még így se működött.
OpenVPN DHCP push opciók közé be van írva a helyi WINS és DNS szerver, még "redirect gateway" is.
Ami érdekes, hogy mindenféle próbálkozás előtt már beregisztrálta magát a VPN kliens a WINS szerverhez (látszik a wins.dat-ban).
Ezek után browse list mégsincs. Én lemondtam róla, nincs rá különösebb szükségem.

Később próbálkoztam bridge/tap VPN-nel is, de ott se volt browse list.
Itt nem volt Samba / WINS, de mivel bridge így jogosan várnám el, hogy akár broadcasttal megtalálja egymást két Windowsos gép, de nem.
Ha nincs WINS, akkor "választást" kéne tartsanak, lehet ez kimarad (?).

Én eddig 2 helyen 2féle megoldást próbáltam erre, de sajnos egyik sem tökéletes :(
Mindkét esetben mindkét telephelyen van 1-1 samba server, ami helyben NS és DHCP is.

1., (régebbi ötlet) a VPN-en keresztül bridge-elt hálózat, közös IP tartomány. Broadcast átmegy, de éppen ez lassítja eléggé a telephelyek közti kommunikációt.
2., Route-olt hálózat, 2 telephelyen 2 külön IP tartomány, telephelyenként a samba saját master browser és wins server, a 2 samba egymással a már említett remote announce, remote browse sync beállításokkal szinkronizál. Azonos workgroup/domain esetén minden gép browse-olható, elérhető. Ez a megoldás problémát - számomra - csak ott okoz, hogy egy 3., külön workgroup-ot kezelő rendszert szeretnék bevinni a rendszerbe, ez viszont az idegen wg-ból sehogy sem browse-olható.

Most tudtam kicsit haladni a dologgal.

Egyik telephelyen (legyen "A" telephely, 192.168.6.0-s címmekkel) már üzemel egy Samba, PDC-ként, az itteni munkacsoportba szeretném látni "B" telephely gépeit is. Amit eddig sikerült elérnem (nem sok :( ):

"A" telephelyen a Samba:
Domain master = yes
Local master = yes
Preferred master = yes
wins support = yes
wins proxy = yes
remote announce = 192.168.5.22
remote browse sync = 192.168.5.22

A "B" telephelyre tettem egy teszt gépet, Sambával, itt
wins server = "A" telephely IP címe
wins proxy = no
Local master = no
Preferred master = no
remote announce = 192.168.6.2
remote browse sync = 192.168.6.2

Ha Domain master = no, akkor ezt kapom a logban:
[2010/06/15 10:44:47, 0] nmbd/nmbd_incomingdgrams.c:382(process_master_browser_announce)
process_master_browser_announce: Not configured as domain master - ignoring master announce.

Ha Domain master = yes, akkor ezt kapom a logban:
Attempting to become domain master browser on workgroup WORKGROUP, subnet UNICAST_SUBNET.
[2010/06/15 10:46:08, 0] nmbd/nmbd_become_dmb.c:351(become_domain_master_browser_wins)
become_domain_master_browser_wins: querying WINS server from IP 0.0.0.0 for domain master browser name WORKGROUP<1b> on workgroup WORKGROUP
[2010/06/15 10:46:08, 0] nmbd/nmbd_become_dmb.c:235(become_domain_master_query_success)
become_domain_master_query_success:
There is already a domain master browser at IP 192.168.6.2 for workgroup WORKGROUP registered on subnet UNICAST_SUBNET.

Magyarán valami olyasmi van - szerintem - ha nem domain master a "B" oldali Samba, akkor ez a baja: "Not configured as domain master - ignoring master announce"
Ha pedig domain master-rá teszem a "B" Sambát, akkor meg azt mondja, már van egy ilyen: "There is already a domain master browser at IP 192.168.6.2 for workgroup WORKGROUP registered on subnet UNICAST_SUBNET."

Mit csinálok rosszul? :(

Kicsit változott - szerintem javult - a dolog.
Az "A" telephelyen most ezt látom a logban:

Jun 15 12:32:02 fileserver nmbd[24049]: [2010/06/15 12:32:02, 0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(335)
Jun 15 12:32:02 fileserver nmbd[24049]: become_domain_master_browser_wins:
Jun 15 12:32:02 fileserver nmbd[24049]: Attempting to become domain master browser on workgroup WORKGROUP, subnet UNICAST_SUBNET.
Jun 15 12:32:02 fileserver nmbd[24049]: [2010/06/15 12:32:02, 0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(349)
Jun 15 12:32:02 fileserver nmbd[24049]: become_domain_master_browser_wins: querying WINS server from IP 127.0.0.1 for domain master browser name WORKGROUP<1b> on workgroup WORKGROUP
Jun 15 12:32:02 fileserver nmbd[24049]: [2010/06/15 12:32:02, 0] nmbd/nmbd_become_dmb.c:become_domain_master_query_success(233)

A "B" telephelyi samba pedig ezt logolja:

[2010/06/15 12:31:39, 0] nmbd/nmbd_incomingrequests.c:79(process_name_release_request) process_name_release_request: unicast name release request received for name WORKGROUP<1d> from IP 192.168.5.122 on subnet UNICAST_SUBNET. Error - be sent to WINS server
[2010/06/15 12:31:39, 0] nmbd/nmbd_incomingrequests.c:79(process_name_release_request) process_name_release_request: unicast name release request received for name __MSBROWSE__<01> from IP 192.168.5.122 on subnet UNICAST_SUBNET. Error - should be sent to WINS server
[2010/06/15 12:31:57, 0] nmbd/nmbd_become_lmb.c:395(become_local_master_stage2)
*****

Samba name server TESZT-ZS is now a local master browser for workgroup WORKGROUP on subnet 192.168.5.22

*****
[2010/06/15 12:32:18, 0] nmbd/nmbd_browsesync.c:247(domain_master_node_status_fail)
domain_master_node_status_fail:
Doing a node status request to the domain master browser
for workgroup WORKGROUP at IP 192.168.6.2 failed.
Cannot sync browser lists.

[2010/06/15 12:33:03, 0] nmbd/nmbd_incomingdgrams.c:382(process_master_browser_announce)
process_master_browser_announce: Not configured as domain master - ignoring master announce.
[2010/06/15 12:36:02, 0] nmbd/nmbd_incomingdgrams.c:382(process_master_browser_announce)
process_master_browser_announce: Not configured as domain master - ignoring master announce.

Egy ötlet:
http://us3.samba.org/samba/docs/man/Samba-Guide/2000users.html
Egy idézet, ami miatt ajánlom:
When Samba-3 is configured to use an LDAP backend, it stores the domain account information in a directory entry. This account entry contains the domain SID. An unintended but exploitable side effect is that this makes it possible to operate with more than one PDC on a distributed network.

How might this peculiar feature be exploited? The answer is simple. It is imperative that each network segment have its own WINS server. Major servers on remote network segments can be given a static WINS entry in the wins.dat file on each WINS server. This allows all essential data to be visible from all locations. Each location would, however, function as if it is an independent domain, while all sharing the same domain SID. Since all domain account information can be stored in a single LDAP backend, users have unfettered ability to roam.

This concept has not been exhaustively validated, though we can see no reason why this should not work. The important facets are the following: The name of the domain must be identical in all locations. Each network segment must have its own WINS server. The name of the PDC must be the same in all locations; this necessitates the use of NetBIOS name aliases for each PDC so that they can be accessed globally using the alias and not the PDC's primary name. A single master LDAP server can be based in New York, with multiple LDAP slave servers located on every network segment. Finally, the BDCs should each use failover LDAP servers that are in fact slave LDAP servers on the local segments.

Meredeknek tűnik, de a nyáron lehet, hogy Én is megpróbálkozom vele.