(resolvido) Problema ao compartilhar pastas - rede wireless com desktop/notebook

Iniciado por ricarribe, 25 de Dezembro de 2009, 23:46

tópico anterior - próximo tópico

ricarribe

Estou tentando configurar o compartilhamento de pastas entre meu desktop e meu notebook, mas até agora não tive sucesso.

Desktop -> Ubuntu 9.10 (64bits) e Windows XP (dual boot), conectado ao roteador via cabo
Notebook -> Ubuntu 9.10 (32bits) e conectado ao roteador via "wireless"

Tentei compartilhar pastas tanto no Notebook como no Desktop com o SAMBA, mas ao acessar Locais -> Rede -> Rede Windows não consigo visualizar o outro computador e aparece a mensagem: "Não foi possível montar a localização. Falha ao recuperar a lista de compartilhamento do servidor". Já tentei acessar o outro computador pelo comando smb://[IP], mas também não consegui.

Também não consigo acessar o notebook pelo Windows XP do desktop.

Já verifiquei as configurações do roteador e a opção de comunicação entre cliente "wireless" e "wired" está habilitada.

Já testei a comunicação entre os dois computadores usando o PING e os pacotes são recebidos normalmente.

Já tentei algumas soluções apresentadas em outros tópicos deste e de outros fóruns (p. ex., https://bugs.launchpad.net/ubuntu/+source/samba/+bug/375593), mas a mensagem continua aparecendo.

A configuração do SAMBA é a seguinte:

Citar

[global]

workgroup = CASA
server string = Desktop ("Notebook" no notebook)
#   wins support = no
;   wins server = w.x.y.z
  dns proxy = no
;   name resolve order = lmhosts host wins bcast

#### Networking ####

;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

#### Debugging/Accounting ####

log file = /var/log/samba/log.%m
max log size = 1000
#   syslog only = no
syslog = 0
panic action = /usr/share/samba/panic-action %d

####### Authentication #######

#   security = user
  encrypt passwords = true
  passdb backend = tdbsam
  obey pam restrictions = yes
  unix password sync = yes
  passwd program = /usr/bin/passwd %u
  passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
  pam password change = yes
  map to guest = bad user

########## Domains ###########

;   domain logons = yes
;   logon path = \\%N\profiles\%U
#   logon path = \\%N\%U\profile
;   logon drive = H:
#   logon home = \\%N\%U
;   logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g

########## Printing ##########

#   load printers = yes
;   printing = bsd
;   printcap name = /etc/printcap
;   printing = cups
;   printcap name = cups

############ Misc ############

;   include = /home/samba/etc/smb.conf.%m
#         SO_RCVBUF=8192 SO_SNDBUF=8192
#   socket options = TCP_NODELAY
;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
#   domain master = auto
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash
;   winbind enum groups = yes
;   winbind enum users = yes
;   usershare max shares = 100
  usershare allow guests = yes
  usershare owner only = false

#======================= Share Definitions =======================

;[homes]
;   comment = Home Directories
;   browseable = no
;   read only = yes
;   create mask = 0700
;   directory mask = 0700
;   valid users = %S
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes
;   share modes = no
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700

[printers]
  comment = All Printers
  browseable = no
  path = /var/spool/samba
  printable = yes
  guest ok = no
  read only = yes
  create mask = 0700

[print$]
  comment = Printer Drivers
  path = /var/lib/samba/printers
  browseable = yes
  read only = yes
  guest ok = no

;   write list = root, @lpadmin

;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes

#       /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom


Para compartilhar uma pasta, eu estou selecionando a pasta desejada pelo Nautilus, clicando em Opções de compartilhamento -> Compartilhar esta pasta -> Criar compartilhamento.

O que estou fazendo de errado?

zekkerj

Citarworkgroup = CASA

Todas as máquinas estão configuradas pra trabalhar nesse workgroup?

Suas máquinas estão com endereços de rede privada (10.x.x.x, 172.16.x.x, 192.168.x.x)??? Ou estão com endereços públicos (200.x.x.x, 201.x.x.x, 189.x.x.x, etc)???
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ricarribe

zekkerj, obrigado pela atenção!

Desculpe minha ignorância, pois não entendo praticamente nada sobre redes. Tentando responder a sua pergunta: acho que as máquinas estão com "endereços de rede privada". Como disse, o desktop e o notebook estão conectados ao roteador wireless; e o roteador identifica essas máquinas como clientes "wired" e "wireless", respectivamente, atribuindo a cada um um IP 192.168.x.x. Consultando as informações das Ferramentas de Rede (Sistema > Administração > Ferramentas de Rede) na interface eth0 do desktop, o protocolo IPV4 apresenta o IP 192.168.0.100; no caso do notebook o protocolo IPV4 na interface wlan0 apresenta o IP 192.168.0.101.

Essa informação ajuda?


zekkerj

Ajuda e muito.

E quanto aos workgroups, estão todos iguais a esse? Inclusive no XP?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ricarribe

Tanto no notebook como desktop o workgroup é "CASA". Não fiz nenhuma configuração no XP, porque quase não uso o Windows. O Ubuntu é o SO padrão aqui. Mas vou tentar acrescentar o workgroup no XP pra ver se ele lê alguma coisa.

Valeu!

ricarribe

zekkerj, desculpe mais uma vez minha ignorância, mas não consigo identificar se o XP está no workgroup indicado no arquivo de configuração do SAMBA ("CASA").

Eu já vi pelo menos uns quatro tutoriais no YouTube sobre como configurar o compartilhamento de arquivos no Ubuntu usando o SAMBA. Tudo parece muito simples, e, em princípio, não seria necessária qualquer configuração no Windows para que ele exibisse as pastas compartilhadas no Ubuntu.

Quando acesso "Meus locais de rede" no Windows Explorer não visualizo qualquer ícone de rede. Seguindo uma dica encontrada no YouTube (http://www.youtube.com/watch?v=VuxSjiSVoBU&feature=response_watch), também tentei acessar o notebook pelo XP usando o comando \\laptop\downloads ("laptop" é o nome do computador no notebook e "downloads" é a pasta compartilhada no diretório "home"), mas me deparei com a mensagem "O caminho da rede não foi encontrado".

Testei a comunicação entre os computadores usando o PING, e os pacotes enviados do desktop (tanto no Ubuntu como no XP) foram recebidos normalmente pelo notebook. E vice-versa.

Será que é mesmo tão complicado assim configurar um compartilhamento de pastas no Linux? Penso que estou fazendo alguma bobagem tão grande que nem consigo perceber. Se tiver alguma ideia, manda aí por favor!!

Obrigado!


zekkerj

Não é complicado não, às vezes falta só um pequeno detalhe que nos passa despercebido.

Por exemplo, vc não deve saber que o compartilhamento de arquivos é um serviço, e que você não precisa de quase nada para acessar um compartilhamento: apenas ter o cliente Samba instalado, configurar o workgroup e ter um IP na mesma faixa do servidor.

Só que para oferecer o compartilhamento, você precisa ter esse serviço ativo, e para isso você tem que ter o Samba completo instalado.

Vc pode fazer isso instalando o pacote samba:

sudo apt-get install samba

Depois, vc tem que ativar o samba:

sudo service samba start

Isso tem que ser feito em todas as máquinas Linux. Não há problema se em alguma delas vc tiver a mensagem de que o pacote já está instalado, ou que o serviço já está ativo.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ricarribe

zekkerj, já fiz isso o que você sugeriu, tanto no notebook como no desktop, mas não deu certo.

Quando tentei instalar o SAMBA, o terminal retornou uma mensagem dizendo que a versão mais atual já está instalada.

Quando executo o comando para iniciar o serviço, o terminal informa: "Starting samba daemons [OK]"

E aí quando tento acessar Locais > Rede > Rede Windows, surge a mensagem de que "Não foi possível montar a localização"

Da mesma forma, quando tento acessar o notebook pelo comando smb//192.168.0.101, surge a mensagem: "Erro: Falha ao recuperar a lista de compartilhamento do servidor. Por favor selecione outro visualizador e tente novamente".

Será que o problema não estaria relacionado à interface, já que as mensagens de erro referem-se a uma falha de acesso?

Achei um manual sobre o SAMBA na página da RXN (http://www.rxn.com/services/faq/smb/using_samba/html/ch04_06.htm) e na parte referente à interface, há a seguinte informação:

Citar
The interfaces option outlines the network addresses to which you want the Samba server to recognize and respond. This option is handy if you have a computer that resides on more than one network subnet. If this option is not set, Samba searches for the primary network interface of the server (typically the first Ethernet card) upon startup and configures itself to operate on only that subnet. If the server is configured for more than one subnet and you do not specify this option, Samba will only work on the first subnet it encounters. You must use this option to force Samba to serve the other subnets on your network.

Pelo que entendi, quando não há nada especificado, o SAMBA procura a primeira interface disponível e só usa esta. O meu desktop usa a interface eth0 enquanto o notebook usa a wlan0. Então estou achando que no desktop o Samba só está disponível para a interface eth0 e no notebook o Samba só serve à interface wlan0. Isso faz algum sentido ou estou viajando? Se for o caso, como devo configurar a interface no desktop e no notebook?

zekkerj

CitarPelo que entendi, quando não há nada especificado, o SAMBA procura a primeira interface disponível e só usa esta
Não, pelo contrário, se vc não diz qual usar, ele usa todas as interfaces ativas. Se isso fosse verdade, ele iria encontrar sempre a interface loopback configurada e não iria conseguir falar com ninguém.


      interfaces (G)

          This option allows you to override the default network interfaces list that Samba will use for browsing, name registration and other NetBIOS over TCP/IP (NBT)
          traffic. [b]By default Samba will query the kernel for the list of all active interfaces and use any interfaces except 127.0.0.1 that are broadcast capable.[/b]

          The option takes a list of interface strings. Each string can be in any of the following forms:

          ·   a network interface name (such as eth0). This may include shell-like wildcards so eth* will match any interface starting with the substring "eth"

          ·   an IP address. In this case the netmask is determined from the list of interfaces obtained from the kernel

          ·   an IP/mask pair.

          ·   a broadcast/mask pair.

          The "mask" parameters can either be a bit length (such as 24 for a C class network) or a full netmask in dotted decimal form.

          The "IP" parameters above can either be a full dotted decimal IP address or a hostname which will be looked up via the OS´s normal hostname resolution mechanisms.

          By default Samba enables all active interfaces that are broadcast capable except the loopback adaptor (IP address 127.0.0.1).

          The example below configures three network interfaces corresponding to the eth0 device and IP addresses 192.168.2.10 and 192.168.3.10. The netmasks of the latter
          two interfaces would be set to 255.255.255.0.

          Default: interfaces =

          Example: interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0



E mesmo que usasse, não tem problema se de um lado a interface é chamada de eth0, e do outro de wlan0. O que importa é que os broadcasts enviados de cá possam ser recebidos do lado de lá, e isso o seu roteador deveria fazer --- supondo que vc está ligando seu PC a uma das portas LAN dele, e não à porta WAN.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ricarribe

Sim, o desktop está ligado numa das portas LAN do roteador. E como disse na primeira mensagem, a opção de comunicação entre os clientes "wired" e "wireless" está habilitada no roteador. Além disso, a comunicação entre desktop e notebook está funcionado via PING. Haveria alguma outra configuração que eu deveria verificar no roteador, ou, em princípio, está tudo certo?

zekkerj

escolhe uma das máquinas, tenta acessar ela própria:

smbclient -L //<ip da própria máquina>

Depois vc pode fazer o mesmo a partir da outra máquina.

PS: Vc lembra de ter configurado algum firewall nas máquinas? Firestarter, por exemplo?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ricarribe

zekkerj, executei o comando que você passou e o terminal exibiu a seguinte informação:

Citar
Domain=[CASA] OS=[Unix] Server=[Samba 3.4.0]

   Sharename       Type      Comment
   ---------       ----      -------
   print$          Disk      Printer Drivers
   IPC$            IPC       IPC Service (Desktop)
Domain=[CASA] OS=[Unix] Server=[Samba 3.4.0]

   Server               Comment
   ---------            -------
   RICARRIBE-DESKTOP      Desktop

   Workgroup            Master
   ---------            -------
   CASA                 RICARRIBE-DESKTOP


O comando executado no terminal do notebook retorna informação parecida, mudando apenas o "server" e o "Master" (para "Laptop") e o "Comment" (para "Acer").

Quanto ao firewall, eu uso o UFW com a interface gráfica (GUFW), tanto no desktop quanto no notebook. E o roteador também tem um firewall habilitado com as configurações originais (já veio habilitado por padrão).

Vou desabilitar o firewall tanto do roteador como do Ubuntu (em ambos) e fazer um teste. Obrigado pela dica!

ricarribe

zekkerj, parece que o problema está realmente relacionado ao firewall.

Como disse na mensagem anterior, desabilitei todos os firewalls (roteador, desktop e notebook) e reiniciei tudo, mas só consigo comunicação no outro computador quando executo o comando smb://[IP]. Isso vale tanto para o notebook como para o desktop.

Mas quando acesso a rede pelo Nautilus (Locais > Rede), acontece o seguinte:

No notebook: aparece o ícone "Laptop" ao lado de "Rede Windows". Quando clico em "Rede Windows" surge o ícone "CASA"; e quando acesso "CASA" só visualizo o ícone "Laptop".

No desktop: só aparece o ícone "Rede Windows", e quando acesso surge o ícone "CASA"; mas quando clico em "CASA" aparece a mensagem "Abrindo CASA" e depois de aproximadamente 30 segundos surge a velha mensagem "Não foi possível montar a localização (...)". Outra coisa estranha que acontece só no desktop: a pasta compartilhada perde o emblema de compartilhamento depois que reinicio a máquina, mas o compartilhamento ainda permanece.

Há alguma forma de resolver isso? Ou seja, como fazer para que ao clicar no ícone "Rede Windows" sejam exibidos os ícones respectivos do desktop e do notebook?

Outra coisa: desabilitar o firewall, especialmente o do roteador wireless, não comprometeria muito a segurança da rede? Seria o caso de abrir portas específicas?

De qualquer forma, o problema principal já foi detectado. Muito obrigado mesmo!

zekkerj

Não desative nem altere o firewall do roteador wireless, pq ele não tem nada a ver com isso.

Vc vai mexer só no firewall das estações.

Libere o recebimento de pacotes destinados às portas 135-139 e 445, tcp e udp, quando vindos da rede local.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ricarribe

jekkerj, muito obrigado pelas dicas!

Agora está quase tudo funcionando. Eu não soube exatamente como colocar nas configurações do UFW a regra que você sugeriu, então achei melhor permitir o acesso total de um computador a outro adicionando nos respectivos firewalls a permissão por IP ("Anywhere ALLOW 192.168.0.100" e "Anywhere ALLOW 192.168.0.101"). E eu também alterei as configurações do roteador para atribuir um IP DHCP estático para cada computador.

A comunicação agora está funcionando pelo Samba. E para minha surpresa, quando liguei o desktop hoje e acessei o ícone de "Rede", apareceu o ícone do "Laptop". Mas, desta vez, no notebook não apareceu o ícone do "Desktop". Acho que foi porque hoje liguei o notebook primeiro e o desktop depois. Isso faz algum sentido? Ontem tinha feito o contrário e só o notebook conseguia "enxergar" o desktop. Mas consigo acesso pelo comando smb://[IP].

Há alguma forma de resolver isso?