wguedes
(usa Ubuntu)
Enviado em 20/10/2011 - 01:36h
Brother Silva
Acho que você não vai querer ler isto, mas mesmo assim, resolvi arriscar.
Tentei juntar os retalhos da nossa discussão. Não ficou muito pequena, mas acho que vale a pena conferir. Fiz isto pra tornar mais claras as coisas por aqui. Podia haver, como realmente havia, alguma coisa que tivesse passado despercebida por mim.
Como a cada vez que era preciso reiniciar os Ips se descompunham, para: micro 1 192,168,1,100 e micro 2 192,168,1,101, resolvi alterar as informações de cada um nos arquivos exports e fstab.
Nossa discussão começou aqui:
Em um micro com duas placas (on e off board), pretende-se configurar uma rede NFS. Como saber qual a interface (eth) é a que dá acesso externo? Desliga-se a placa de rede, uma por vez. Assim sabe-se qual é eth0 e qual é eth1, e com qual delas se está recebendo o acesso, mas pro NFS não faz diferença quantas placas estão conectadas. Afinal, cada uma pertence a uma faixa de endereço diferente, exemplo:
eth0 -> 192.168.1.0
eth1 -> 192.168.2.0
eth2 -> 192.168.3.0...etc...etc...
Montar o NFS no IP 192.168.2.1, com o IP 192.168.1.103, do outro computador, é impossível. Os dois computadores devem estar na mesma faixa de endereços IP: ou *.*.2.* ou *.*.1.*
O endereço IP de classe "C" divide-se em: AAA.BBB.CCC.DDD onde AAA.BBB.CCC identifica a rede e DDD -> identifica o PC na rede. É necessário consertar os endereços IP's, conectar os dois computadores e depois montar o compartilhamento.
Num modem da Net está ligado um roteador da cisco no qual estão conectados eth0 e eth1 do micro 1 e eth0 do micro 2 e, sob o comando ifconfig em cada uma das máquinas, temos:
Micro 1
eth0 Link encap:Ethernet Endereço de HW 70:71:bc:db:f4:3b
inet end.: 192.168.1.102 (Passou a ser 192.168.1.100) Bcast:192.168.1.255 Masc:255.255.255.0
endereço inet6: fe80::7271:bcff:fedb:f43b/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:66521 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:52640 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:78831905 (78.8 MB) TX bytes:5570558 (5.5 MB)
IRQ:20 Memória:fe500000-fe520000
eth1 Link encap:Ethernet Endereço de HW 14:d6:4d:50:97:7e
inet end.: 192.168.1.103 Bcast:192.168.1.255 Masc:255.255.255.0 (Foi extirpada)
endereço inet6: fe80::16d6:4dff:fe50:977e/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:368 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:851 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:64145 (64.1 KB) TX bytes:246674 (246.6 KB)
IRQ:18 Endereço de E/S:0xc000
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:532 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:532 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:189734 (189.7 KB) TX bytes:189734 (189.7 KB)
Micro 2
eth0 Link encap:Ethernet Endereço de HW 00:13:74:00:5c:38
inet end.: 192.168.1.100 (Passou a ser 192.168.1.101) Bcast:192.168.1.255 Masc:255.255.255.0
endereço inet6: fe80::213:74ff:fe00:5c38/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:2640 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:1963 erros:0 descartados:0 excesso:0 portadora:1
colisões:0 txqueuelen:1000
RX bytes:1583756 (1.5 MB) TX bytes:328078 (328.0 KB)
Memória:dffc0000-e0000000
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet Endereço de HW 00:11:6b:44:34:40
UP BROADCAST MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Esse roteador distribui endereços IP por dhcp, pois suas interfaces eth0 e eth1 têm endereços de mesma rede, sequenciais, ou seja:
micro1 -> (eth0)192.168.1.102 e (eth1)192.168.1.103
micro2 -> (eth0)192.168.1.100
Basta apenas uma interface. Se desconectarmos a rede eth1 do roteador e deixarmos somente a eth0, vamos poder montar o NFS assim:
(micro1)-eth0-192.168.1.100<------> 192.168.1.101-eth0-(micro2)
EXEMPLO DE CONFIGURAÇÃO
Imagine que o micro 1 esteja com o servidor NFS compartilhando /dados.
O exports ficaria assim: /dados 192.168.1.101(rw,sync,no_root_squash). Este IP é do micro 2. (feito)
Já o cliente, o micro2, põe-se no /etc/fstab:
#192.168.1.100:/dados /media/dados nfs rw,bg,tcp,rsize=32768,wsize=32768,soft,nointr,nolock,noac,timeo=600,user,noauto 0 0 (feito)
Estas duas linhas em negrito estão, no /fstab, em uma única linha. O (feito) é só pra informar que esse procedimento foi executado como determinado. Não foi digitado no /fstab.
Com esta configuração montamos o NFS como usuário comum. Certifique-se de que o servidor NFS não aceita mais a configuração no_root_squash.
No cliente instalamos o pacote nfs-common, que vai puxar uma série de dependências para que o compartilhamento funcione (feito). Certifique-se de que o instalou e de que está ativo.(Está instalado. Como saber se está ativo?) Não esqueça de criar as pastas /media/dados e /dados
Agora temos: micro1 -> (eth0)192.168.1.103 e micro2 -> (eth0)192.168.1.100 (feito)
Uma interface de rede está "ativa" quando está pronta pra uso, faltando apenas conectar e pode ser vista com o comando ifconfig. Quando uma interface está "inativa" ela não aparece com o ifconfig.
Então concluímos que uma placa pode estar:
desconectada e ativa;
desconectada e inativa;
conectada e inativa.
Como a placa recebe seu IP por dhcp do roteador cisco, não adianta mudar o IP no PC. A mudança tem de ser feita diretamente no roteador!
Executados os comandos ~$ sudo mkdir -p /root/.local/share e ~$ sudo gedit /etc/exports.
Lá no exports não havia nada. Agora, só há /dados 192.168.1.101(rw,sync,no_root_squash).
~$ ifconfig
eth0 Link encap:Ethernet Endereço de HW 14:d6:4d:50:97:7e
inet end.: 192.168.1.100 Bcast:192.168.1.255 Masc:255.255.255.0
eth1 Link encap:Ethernet Endereço de HW 70:71:bc:db:f4:3b
UP BROADCAST MULTICAST MTU:1500 Métrica:1
A eth1 está ativa, mas desconectada. É assim mesmo... Isso é o esperado.
Abra o /etc/exports (micro1) com o nano: $ sudo nano /etc/exports e deixe o conteúdo assim:
/dados 192.168.1.101(rw,sync,no_root_squash)
onde: /dados - diretório compartilhado no micro1 (Ao tentar compartilhar /dados, que é uma pasta no Sistema de Arquivos, o sistema informou que o pacote de compartilhamento não estava instalado e perguntou se era pra instalar. Autorizada a instalação, o sistema informou que instalaria o Samba, o que foi autorizado. Ao final, avisou que era necessário reiniciar a seção.)
192.168.1.101 - IP do pc que vai montar o NFS, o micro2
(rw,sync,no_root_squash) - regras de compartilhamento
No micro2, com IP 192.168.1.101, deixa assim, no /etc/fstab:
# NFS 192.168.1.100
192.168.1.100:/dados /media/dados nfs rw,bg,tcp,rsize=32768,wsize=32768,soft,nointr,nolock,noac,timeo=600,user,noauto 0 0
Coloque o IP do computador onde está a pasta /dados (no micro 1), com IP 192.168.1.100.
Colocar o IP do computador (de qual o computador, o cliente?)
Colocar na pasta /dados do micro 1 ou onde está a pasta /dados do micro 1. A pasta /dados do micro 1, aliás a de cada micro, está em Sistema de Arquivos (uma) e em /media (a outra). É pra colocar em SA ou em /media?
Não esqueça de que o micro2 vai montar o NFS. Instale o nfs-common:
$ sudo apt-get install nfs-common, senão, não monta.
Não esqueça de criar os diretórios /dados e /media/dados. (já foi)
O fstab ficou assim:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=5e8d11ff-c9cb-4f9c-bd0e-105ab3a39cab / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=46d7ebc5-b2b7-44f8-90d2-3194dd02ebae none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
# NFS 192.168.1.100
192.168.1.100:/dados /media/dados nfs rw,bg,tcp,rsize=32768,wsize=32768,soft,nointr,nolock,noac,timeo=600,user,noauto 0 0
Comandado ~$ sudo apt-get install nfs-common, a instalção foi concluída com sucesso.
Criados o /media/dados e o /dados.
Abra o /etc/exports (micro1) com o nano: $ sudo nano /etc/exports e deixe o conteúdo assim: /dados 192.168.1.101(rw,sync,no_root_squash), onde: /dados - diretório compartilhado no micro1
192.168.1.101 - IP do pc que vai montar o NFS, o micro2: (rw,sync,no_root_squash) - regras de compartilhamento.
No micro2, com IP 192.168.1.100, vc deixa assim no /etc/fstab:
# NFS 192.168.1.100
192.168.1.100:/dados /media/dados nfs
rw,bg,tcp,rsize=32768,wsize=32768,soft,nointr,nolock,noac,timeo=600,user,noauto 0 0
Veja que você vai colocar o IP do computador onde está a pasta /dados, no micro 1, com IP 192.168.1.100.
Faça: $ sudo mkdir -p /root/.local/share. (feito)
Use o editor de texto "nano" no terminal que ele salva o exports como exports mesmo, arquivo-texto comum. Deixe-o como mostrado acima. Depois é só abrir o nautilus no cliente que o NFS vai estar no lado esquerdo.
Checando:
Micro 1 = Eth0 192.168.1.100
$ sudo mkdir -p /root/.local/share = o share está lá e o /recently-used.xbel está dentro do share;
$ sudo nano /etc/exports = /dados 192.168.1.101(rw,sync,no_root_squash)
Micro 2 = Eth0 192.168.1.101
fstab = 192.168.1.100
nfs-common = instalado
O NFS não está no Nautilus, o gerenciador de arquivos. Só tem um “Navegar na rede”, no qual um clic faz surgir, do lado direito, a “Redes Windows”.
Um clic em “Rede Windows” e, no canto inferior direito da janela, aparece [“Rede windows” selecionado (0byte)]; dois cliques e aparece uma caixa dizendo “Não foi possível montar a localização” “Falha ao recuperar a lista de compartilhamento do servidor”.
Aparentemente não está faltando nada, mas antes de conferirmos quero que me satisfaça uma última dúvida:
micro1 -> IP 192.168.1.103 -> servidor NFS compartilhando /dados???
micro2 -> IP 192.168.1.100 -> cliente que vai montar /media/dados???
onde:
micro1 - servidor - exports com "/dados 192.168.1.100(rw,sync,no_root_squash)"
micro2 - cliente - fstab com aquela linha grandona montando 192.168.2.103 (IP servidor)
A tentativa de compartilhar a pasta dados do Sistema de Arquivos (ou a outra) dá essa mensagem de erro:
"compartilhamento de rede de usuário" retornou erro 255: net usershare add: cannot share path /dados (ou /media/dados) as we are restricted to only sharing directories we own.
Ask the administrator to add the line "usershare owner only = false"
to the [global] section of the smb.conf to allow this.
Inseri a linha "usershare owner only = false" na seção Global do arquivo smb.conf, mas continua acontecendo a tal mensagem de erro.
Aparentemente tudo bem, tudo certo. Basta conectar os dois computadores na rede, esperar uns 3 minutos, que o servidor NFS vai ser enxergado.
No Nautilus, o gerenciador de arquivos, no lado esquerdo, aparece uma pasta com o nome NFS maiúsculo. Veja a imagem:
http://va.mu/Iox0
No canto esquerdo do nautilus vai aparecer uma pasta chamada NFS. Na foto acima não tem mas fica no lado esquerdo, perto do "Browse network".
Se escrito no /etc/fstab como indicado, vai vê-lo.
Não se esqueça de que no servidor NFS (micro1) deve ser instalado o servidor NFS assim(e vão ser instalados também todas as dependências): $ sudo apt-get install nfs-kernel-server
É só clicar no NFS, no nautilus, que ele monta automaticamente sem precisar de terminal.
Veja o IP externo com o comando ifconfig, ou tire o cabo de rede, refrente à conexao externa e digite mii-tool. Isto mostra qual a placa que esta desconectada.
Os endereços ip's são distribuídos pelo servidor dhcp do roteador. Não adianta reconfigurá-los manualmente que o próprio servidor dhcp faz voltar ao que era antes.
Pode-se configurar o servidor dhcp do roteador para distribuir endereços IP's fixos de acordo com o endereço MAC de cada computador. Assim, distribui sempre o mesmo IP para um pc e assim os compartilhamentos não se quebram.
Em micro-redes de até 5 pcs, pode-se desligar o servidor dhcp do roteador e configurar os computadores manualmente, mas não é muito prático, principalmente quando se pode contar com o recurso de ip fixo por dhcp.
Sob o comando sudo apt-get install nfs-kernel-server, a instalação foi executada e, ao final, o sistema indaga se deve substituir o sistema instalado anteriormente por este que é mais atual e informa que o anterior foi alterado ontem (17/10/2011).
Uma das opções da lista era comparar os dois e mostrou o que segue abaixo:
Diferenças entre as versões linha por linha
│
│ --- /etc/exports 2011-10-17 23:19:13.486752298 -0200
│ +++ /usr/share/nfs-kernel-server/conffiles/etc.exports 2011-07-14
│ 18:05:52.000000000 -0300
│ @@ -1,2 +1,10 @@
-/dados 192.168.1.100(rw,sync,no_root_squash)
│ -
│ +# /etc/exports: the access control list for filesystems which may be
│ exported
│ +# to NFS clients. See exports(5).
│ +#
│ +# Example for NFSv2 and NFSv3:
│ +# /srv/homes hostname1(rw,sync,no_subtree_check)
│ hostname2(ro,sync,no_subtree_check)
│ +#
│ +# Example for NFSv4:
│ +# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
│ +# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
│ +#
Na tentativa de fechar o diálogo, foi pressionado o botão “esc” e não se sabe o que o sistema fez: se substituiu ou não.
Deve ter alguma coisa aqui que ficou pra depois. É que já tarde preciso trabalhar daqui há pouco, valeu?
Abraço,
WGuedes