Pessoal hoje iremos abordar o serviço de FTP, o FTP significa File
Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma
bastante rápida e versátil de transferir arquivos (também conhecidos como
ficheiros), sendo uma das mais usadas na Internet. A transferência de dados em
redes de computadores envolve normalmente transferência de arquivos e acesso a
sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais).
O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP,
sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para
transferir arquivos, é um protocolo genérico independente de hardware e do
sistema operacional e transfere arquivos por livre arbítrio, tendo em conta
restrições de acesso e propriedades dos mesmos. Iremos usar o ProFTP como
servidor, ele é uma das aplicações mais usadas do mundo, bem chega de papo e
vamos para o que interessa:
# aptitude install proftpd
Na hora da instalação você será questionado sobre qual modo de
instalação do Proftp, selecione o modo Standalone, é o mais adequado, depois de
instalar o Proftp iremos para seu arquivo de configuração onde fica a mágica da
coisa, hehehe.
# pico /etc/proftpd/proftpd.conf
Podem os observar que o arquivo de configuração é razoavelmente
grande, mas ele é bem fácil de entender.
A primeira coisa a se fazer é modificar a linha UseIPv6 deixando ela
como off, pois caso contrario você terá que utilizar o endereço IPv6.
UseIPv6
off
A próxima linha a ser modificada é a do ServerName, coloque o nome do
seu servidor entre as aspas.
ServerName "ODIN"
Agora iremos adicionar a opção AllowForeignAddress, esta linha é a responsável por
autorizar as conexões
externas. Se estamos usando um FTP, lógico que a intenção não é usa-lo interno, então essa linha deve estar presente no arquivo.
AllowForeignAddress
on
O DefaultRoot é o responsável por limitar o usuário ha sua pasta home
ou seja ele fica preso dentro do seu próprio home, ele não é capaz de navegar
nos diretórios no sistema.
DefaultRoot
~
Outra opção é a RequireValidShell, deixando ela como off o Proftp irá aceitar
conexões de usuários que não possuem Shell valida no sistema, consequentemente usuários
sem Shell não podem utilizar o SSH por exemplo.
RequireValidShell
off
A próxima opção importante é mudar a porta do Proftp, não escassas de
abrir a porta em seu Firewall.
Port 58791
# iptables -A INPUT –p tcp --dport 58791 -j ACCEPT
Outra linha que não pode ser esquecida é a PassivePorts que define um
intervalo de portas para a transferência dos dados, será necessário você
aceitar a conexão nessas portas em seu Firewall.
PassivePorts 27000
28000
# iptables --A INPUT -p tcp --dport 27000:28000
-j ACCEPT
A proxima opção é a MasqueradeAddress que define o ip que ele
responderá, adicione o ip do seu Server aqui.
MasqueradeAddress 201.xx.86.xx
Mais uma opção é a MaxInstances que define a quantidade de conexões simultâneas
que o Server aceitará.
MaxInstances
20
Basicamente a configuração é isso ai, reinicie o Proftp.
# /etc/init.d/proftpd restart
Agora pode tentar logar com algum usuário valido no sistema.
Para criar os usuários é interessante cria-lós de Shell:
# adduser --shell /bin/false
fulano
Bem é isso ai, até a próxima.
Onde devo alterar para em vez de digitar meu ip eu digitaria um nome, tipo:
ResponderExcluirFTP://matrix:58791
Posso deixar como proxy transparente? quero que os clientes ao tentar navegar peça nome de usuário e senha.
Edvan resolução de nomes se faz com DNS, vc vai precisar de um DNS que responda pelo seu nominio, seja ele publico ou não, não entendi sua segunda pergunta, o que tem haver proxy tranparente com ftp,pode explicar melhor por favor?
ExcluirNada haver, essa pergunta do proxy tranparente era para ser num outro tópico seu que li, me atrapalhei e postei sem me aperceber.
ExcluirO FTP está funcionando perfeitamente, agora sobre o DNS estou vendo como se faz!..
Este comentário foi removido pelo autor.
ResponderExcluirAmigo essa regra está errada, por isso que nao estava conseguindo:
ResponderExcluirerrada: iptables –A INPUT -p tcp –dport 58791 -j ACCEPT
certa: iptables -A INPUT -p tcp –-dport 58791 -j ACCEPT
Amigo a regra esta certa, o problema é que o editor de texto unil os dois ifens, se vc tivesse escrito a regra ao inves de copiar e colar isso não teria acontecido, existem outros posts aqui no blog falando sobre iptables.
Excluirobs: a sintaxe já foi corrigida.
Realmente eu copiei e cole.
ResponderExcluirO problema é nos hifens que unil, mais a segunda regra foi normal, copiei e colei e deu certo:
iptables -A INPUT -p tcp --dport 27000:28000 -j ACCEPT
OBS: Meu FTP está funcionando perfeitamente, mais o acesso externo não dar certo tentei de tudo.
P<S: Vem um cabo de rede do Modem do Apartamento do meu pai para meu roteador. Só que o modem do meu pai tem a função de roteador também, ele joga o sinal wirelles com a faixa de ip 192.168.0.1, só que meu roteador DI524 recebe o sinal do modem e joga outra faixa que é 192.168.1.1, Por isso acho que nao vai dar certo.
Acesso externo... o q fazer ?? não consigo achar solução, já tentei de tudo.
ResponderExcluirOla pessoal tenho uma maquina rodando o proftpd funcionando tudo certo. Porem estou com problema no usuario qe esta conseguindo navegar pelo servidor....Alguem de me ajudar
ResponderExcluirOla pessoal tenho uma maquina rodando o proftpd funcionando tudo certo. Porem estou com problema no usuario qe esta conseguindo navegar pelo servidor....Alguem de me ajudar
ResponderExcluirOi Fernando, qual o problema exatamente? Você está acessando pelo navegador ou por um cliente ftp? Está conseguindo autenticar?
ResponderExcluirOnde eu seto a pasta onde os arquivos vão ficar. Coloquei ~ mais nada até agora
ResponderExcluir