Proftpd - usando virtualhosts, seção global, contexto do servidor corretamente

1

Versão resumida:

Qual é a diferença entre o contexto do servidor e uma seção virtualhost no arquivo de configuração do proftpd? No sentido do que posso fazer com o primeiro, não posso fazer com o segundo.
Por exemplo, eu não posso colocar diretivas como UseIPv6 ou MaxInstances em um virtualhost ou na seção global, mas colocá-lo no contexto do servidor funciona muito bem. Qual seria então o uso correto dessas seções para a configuração mencionada abaixo?

Eu achei que o processo geral foi o seguinte: Sempre que um cliente se conecta ao servidor, o servidor verifica se há um host virtual correspondente ao endereço ao qual o cliente está conectado. Se a seção de contexto do servidor não for escolhido (exceto a diretiva DefaultServer é usada para evitar isso). Então eu pensei que a seção de contexto do servidor e uma seção virtualhost são igualmente "poderosas". Mas isso não pode ser o caso, pois existem diretivas que funcionam apenas em uma das seções.

Versão longa (informações adicionais):

Basicamente tudo que eu quero fazer é executar um servidor proftp em uma máquina local em casa e tornar este servidor acessível tanto da internet quanto da minha LAN. E está funcionando. Eu compilei o proftpd a partir do código fonte (razão abaixo), instalei e configurei e parece funcionar exatamente como deveria. Eu não preciso de ajuda para fazer o proftpd rodar corretamente.

Não consegui executar o servidor apenas lendo a documentação do proftpd e tive que continuar mexendo no arquivo de configuração até que tudo funcionasse bem. Portanto, ainda há algo sobre o uso de virtualhosts, a seção de contexto global e de servidor que não entendi corretamente e é por isso que eu criei as perguntas acima.

Eu li sobre como configurar o proftpd atrás de um roteador e o significado de virtualhosts, seção de contexto global e de servidor: link
link
Eu segui vários guias e procurei no fórum por perguntas semelhantes. O servidor está funcionando, eu realmente não entendo porque é agora e porque não aconteceu antes.

Esta é a estrutura do meu atual (trabalhando) proftpd.conf: <Global> User ... Group ... RequireValidShell ... DefaultRoot ... ... <IfModule mod_tls.c> TLSEngine ... TLSProtocol TLSv1.2 ... </IfModule> </Global>
#server context managing the config for access over the internet ServerName "external" Port 21 #can't be used inside a virtualhost section UseIPv6 off ... #need to masquerade ip for external address MasqueradeAddress myurl.com #needed for passive ftp mode PassivePorts 60000 65535
#virtualhost managing the config for lan access <VirtualHost 192.168.178.54> ServerName "internal" Port 21 PassivePorts 60000 65535 </VirtualHost>

Primeiro, pensei em fazer duas seções de virtualhost, uma para LAN e outra para acesso externo e desativar a seção de contexto do servidor, definindo a porta 0. Mas há diretivas que não posso usar dentro do virtualhost Seções. Então, eu não tenho certeza se estou usando as 3 seções possíveis como deveria. Preciso usar a seção de contexto do servidor para ter algum tipo de configuração padrão? Isso pode ser feito com a diretiva DefaultServer de acordo com a documentação.

uname -a: Linux HOSTNAME 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU / Linux

proftpd -v: Versão ProFTPD 1.3.5 O pacote binário proftpd incluído nos repositórios do Debian não suporta o TLS 1.2 e eu não quero usar FTP com a versão TLS abaixo disso ou mesmo SSL. Então eu mesmo compilei.

Este é um texto bastante longo. Tentei encurtar, ser preciso, evitar desnecessário, mas fornecer informações suficientes. Se houver alguma coisa que eu possa melhorar ou se a minha pergunta, em vez disso, pertence ao unix e linux stackexchange, é só me avisar. Eu escolhi superusuário sobre serverfault para fazer essa pergunta porque é sobre um ambiente de servidor em casa.

Obrigado pelo seu tempo e ajuda.

Jan

    
por user299793 17.07.2015 / 00:38

2 respostas

1

Existem algumas diretivas de configuração que afetam todo o daemon , como UseIPv6 ou MaxInstances . Essas diretivas não podem ser definidas em uma base por vhost por esse motivo.

No entanto, a sintaxe do arquivo de configuração do ProFTPD não possui um contexto / seção que diz "essas diretivas são apenas para o daemon inteiro". Assim, por padrão (e sim, não é o ideal), essas diretivas de todo o daemon são permitidas apenas na seção "configuração do servidor", fora de <Global> , <VirtualHost> ou qualquer outro contexto.

Espero que isso ajude!

    
por 30.01.2016 / 22:35
0

Como se constata, eu não estava certo sobre algumas informações que forneci. Vou marcar essa pergunta como respondida para evitar que as pessoas gastem tempo respondendo. Uma edição simples não ajudará, já que não sei quando terei tempo de verificar novamente minha configuração do proftpd. No entanto, vou esclarecer o que causou a descrição incorreta que forneci, revisar minha pergunta e postar novamente em algum momento.

    
por 17.07.2015 / 16:27