Tahoe-LAFS
O que é Tahoe-LAFS?
===================
Bem-vindo ao Tahoe-LAFS_, o primeiro sistema de armazenamento descentralizado com
Tahoe-LAFS é um sistema que ajuda você a armazenar arquivos. Você executa um cliente
Programa no seu computador, que fala com um ou mais servidores de armazenamento em outros
computadores. Quando você diz ao seu cliente para armazenar um arquivo, ele irá criptografar isso
Arquivo, codifique-o em múltiplas peças, depois espalhe essas peças entre
Vários servidores. As peças são todas criptografadas e protegidas contra
Modificações. Mais tarde, quando você pede ao seu cliente para recuperar o arquivo, ele irá
Encontre as peças necessárias, verifique se elas não foram corrompidas e remontadas
Eles, e descriptografar o resultado.
O cliente cria mais peças (ou "compartilhamentos") do que acabará por precisar, então
Mesmo que alguns servidores falhem, você ainda pode recuperar seus dados. Corrompido
Os compartilhamentos são detectados e ignorados, de modo que o sistema pode tolerar o lado do servidor
Erros no disco rígido. Todos os arquivos são criptografados (com uma chave exclusiva) antes
Uploading, então mesmo um operador de servidor mal-intencionado não pode ler seus dados. o
A única coisa que você pede aos servidores é que eles podem (geralmente) fornecer o
Compartilha quando você os solicita: você não está confiando sobre eles para
Confidencialidade, integridade ou disponibilidade absoluta.
O que é "segurança independente do provedor"?
========================================
Todo vendedor de serviços de armazenamento na nuvem irá dizer-lhe que o seu serviço é
"seguro". Mas o que eles significam com isso é algo fundamentalmente diferente
Do que queremos dizer. O que eles significam por "seguro" é que depois de ter dado
Eles o poder de ler e modificar seus dados, eles tentam muito difícil de não deixar
Esse poder seja abusado. Isso acaba por ser difícil! Insetos,
Configurações incorretas ou erro do operador podem acidentalmente expor seus dados para
Outro cliente ou para o público, ou pode corromper seus dados. Criminosos
Ganho rotineiramente de acesso ilícito a servidores corporativos. Ainda mais insidioso é
O fato de que os próprios funcionários às vezes violam a privacidade do cliente
De negligência, avareza ou mera curiosidade. O mais consciencioso de
Esses prestadores de serviços gastam consideráveis esforços e despesas tentando
Mitigar esses riscos.
O que queremos dizer com "segurança" é algo diferente. * O provedor de serviços
Nunca tem a capacidade de ler ou modificar seus dados em primeiro lugar: nunca. *
Se você usa Tahoe-LAFS, então todas as ameaças descritas acima não são questões
para você. Não só é fácil e barato para o provedor de serviços
Manter a segurança de seus dados, mas na verdade eles não podem violar sua
Segurança se eles tentaram. Isto é o que chamamos de * independente do fornecedor
segurança*.
Esta garantia está integrada naturalmente no sistema de armazenamento Tahoe-LAFS e
Não exige que você execute um passo de pré-criptografia manual ou uma chave complicada
gestão. (Afinal, ter que fazer operações manuais pesadas quando
Armazenar ou acessar seus dados anularia um dos principais benefícios de
Usando armazenamento em nuvem em primeiro lugar: conveniência.)
Veja como funciona:

Uma "grade de armazenamento" é constituída por uma série de servidores de armazenamento. Um servidor de armazenamento
Tem armazenamento direto em anexo (tipicamente um ou mais discos rígidos). Um "gateway"
Se comunica com os nós de armazenamento e os usa para fornecer acesso ao
Rede sobre protocolos como HTTP (S), SFTP ou FTP.
Observe que você pode encontrar "cliente" usado para se referir aos nós do gateway (que atuam como
Um cliente para servidores de armazenamento) e também para processos ou programas que se conectam a
Um nó de gateway e operações de execução na grade - por exemplo, uma CLI
Comando, navegador da Web, cliente SFTP ou cliente FTP.
Os usuários não contam com servidores de armazenamento para fornecer * confidencialidade * nem
Integridade verificada pelo gateway, para que os servidores não possam ler nem
Modifique o conteúdo dos arquivos.
Os usuários dependem de servidores de armazenamento para * disponibilidade *. O texto cifrado é
Codificado por apagamento em partes ` N distribuídas em pelo menos H` distintas
Servidores de armazenamento (o valor padrão para ` N é 10 e para H` é 7) então
Que pode ser recuperado de qualquer ` K` desses servidores (o padrão
O valor de ` K é 3). Portanto, apenas a falha do H-K + 1` (com o
Padrões, 5) servidores podem tornar os dados indisponíveis.
No modo de implantação típico, cada usuário executa seu próprio gateway sozinho
máquina. Desta forma, ela confia em sua própria máquina para a confidencialidade e
Integridade dos dados.
Um modo de implantação alternativo é que o gateway é executado em uma máquina remota e
O usuário se conecta ao HTTPS ou SFTP. Isso significa que o operador de
O gateway pode visualizar e modificar os dados do usuário (o usuário * depende de * o
Gateway para confidencialidade e integridade), mas a vantagem é que a
O usuário pode acessar a grade Tahoe-LAFS com um cliente que não possui o
Software de gateway instalado, como um quiosque de internet ou celular.
Controle de acesso
==============
Existem dois tipos de arquivos: imutáveis e mutáveis. Quando você carrega um arquivo
Para a grade de armazenamento, você pode escolher o tipo de arquivo que será no
grade. Os arquivos imutáveis não podem ser modificados quando foram carregados. UMA
O arquivo mutable pode ser modificado por alguém com acesso de leitura e gravação. Um usuário
Pode ter acesso de leitura e gravação a um arquivo mutable ou acesso somente leitura, ou não
Acesso a ele.
Um usuário que tenha acesso de leitura e gravação a um arquivo mutable ou diretório pode dar
Outro acesso de leitura e gravação do usuário a esse arquivo ou diretório, ou eles podem dar
Acesso somente leitura para esse arquivo ou diretório. Um usuário com acesso somente leitura
Para um arquivo ou diretório pode dar acesso a outro usuário somente leitura.
Ao vincular um arquivo ou diretório a um diretório pai, você pode usar um
Link de leitura-escrita ou um link somente de leitura. Se você usar um link de leitura e gravação, então
Qualquer pessoa que tenha acesso de leitura e gravação ao diretório pai pode obter leitura-escrita
Acesso à criança e qualquer pessoa que tenha acesso somente leitura ao pai
O diretório pode obter acesso somente leitura à criança. Se você usar uma leitura somente
Link, qualquer pessoa que tenha lido-escrito ou acesso somente leitura ao pai
O diretório pode obter acesso somente leitura à criança.
================================================== ====
Usando Tahoe-LAFS com uma rede anônima: Tor, I2P
================================================== ====
#. `Visão geral '
#. `Casos de uso '
#. Software Dependencies_
#. Tor_
#. I2P_
#. `Configuração de conexão '
#. `Configuração de Anonimato '
#. `Anonimato do cliente '
#. `Anonimato de servidor, configuração manual '
#. `Anonimato de servidor, configuração automática '
#. `Problemas de desempenho e segurança '
Visão geral
========
Tor é uma rede anonimização usada para ajudar a esconder a identidade da Internet
Clientes e servidores. Consulte o site do Tor Project para obter mais informações:
Https://www.torproject.org/
I2P é uma rede de anonimato descentralizada que se concentra no anonimato de ponta a ponta
Entre clientes e servidores. Consulte o site I2P para obter mais informações:
Https://geti2p.net/
Casos de uso
=========
Existem três casos de uso potenciais para Tahoe-LAFS do lado do cliente:
1. O usuário deseja sempre usar uma rede de anonimato (Tor, I2P) para proteger
Seu anonimato quando se conecta às redes de armazenamento Tahoe-LAFS (seja ou
Não os servidores de armazenamento são anônimos).
2. O usuário não se preocupa em proteger seu anonimato, mas eles desejam se conectar a
Servidores de armazenamento Tahoe-LAFS que são acessíveis apenas através de Tor Hidden Services ou I2P.
tor: `. Essas sugestões Geralmente tem um endereço ` .onion`.
i2p: `. Essas sugestões Geralmente têm um endereço ` .i2p`.
3. O usuário não se preocupa em proteger seu anonimato ou para se conectar a um anonimato
Servidores de armazenamento. Este documento não é útil para você ... então pare de ler.
Para servidores de armazenamento Tahoe-LAFS existem três casos de uso:
1. O operador deseja proteger o anonimato fazendo seu Tahoe
Servidor acessível apenas em I2P, através de Tor Hidden Services, ou ambos.
2. O operador não * requer * anonimato para o servidor de armazenamento, mas eles
Quer que ele esteja disponível tanto no TCP / IP roteado publicamente quanto através de um
Rede de anonimização (I2P, Tor Hidden Services). Uma possível razão para fazer
Isso é porque ser alcançável através de uma rede de anonimato é um
Maneira conveniente de ignorar NAT ou firewall que impede roteios públicos
Conexões TCP / IP ao seu servidor (para clientes capazes de se conectar a
Tais servidores). Outro é o que torna o seu servidor de armazenamento acessível
Através de uma rede de anonimato pode oferecer uma melhor proteção para sua
Clientes que usam essa rede de anonimato para proteger seus
anonimato.
3. O operador do servidor de armazenamento não se preocupa em proteger seu próprio anonimato nem
Para ajudar os clientes a proteger o deles. Pare de ler este documento e execute
Seu servidor de armazenamento Tahoe-LAFS usando TCP / IP com roteamento público.
Veja esta página do Tor Project para obter mais informações sobre Tor Hidden Services:
Https://www.torproject.org/docs/hidden-services.html.pt
Veja esta página do Projeto I2P para obter mais informações sobre o I2P:
Https://geti2p.net/en/about/intro
Dependências de software
=====================
Tor
Os clientes que desejam se conectar a servidores baseados em Tor devem instalar o seguinte.
Https://www.torproject.org/docs/installguide.html.en. No Debian / Ubuntu,
Use ` apt-get install tor`. Você também pode instalar e executar o navegador Tor
Agrupar.
[tor] ` "extra" habilitado. Isso vai Instale ` txtorcon` ::
Pip install tahoe-lafs [tor]
Os servidores Tor-configurados manualmente devem instalar Tor, mas não precisam
` Txtorcon ou o [tor] ` extra. Configuração automática, quando
Implementado, vai precisar destes, assim como os clientes.
I2P
Os clientes que desejam se conectar a servidores baseados em I2P devem instalar o seguinte.
Tal como acontece com Tor, os servidores baseados em I2P configurados manualmente precisam do daemon I2P, mas
Não há bibliotecas especiais de apoio Tahoe-side.
Https://geti2p.net/en/download
Ponte de aplicação ".
[i2p] ` extra habilitado, para obter ` Txi2p` ::
Pip install tahoe-lafs [i2p]
Tor e I2P
Os clientes que desejam se conectar a servidores baseados em Tor e I2P devem instalar
tudo acima. Em particular, Tahoe-LAFS deve ser instalado com ambos
Extras habilitados ::
Pip install tahoe-lafs [tor, i2p]
Configuração de conexão
========================
Consulte: ref: Connection Management para uma descrição do [tor] e
` [I2p] seções de tahoe.cfg`. Estes controlam como o cliente Tahoe
Conecte-se a um daemon Tor / I2P e, assim, faça conexões com Tor / I2P-baseadas
Servidores.
As seções ` [tor] e [i2p] ` só precisam ser modificadas para serem usadas de forma incomum
Configurações ou para habilitar a configuração automática do servidor.
A configuração padrão tentará entrar em contato com um daemon local Tor / I2P
Ouvindo as portas usuais (9050/9150 para Tor, 7656 para I2P). Enquanto
Há um daemon em execução no host local e o suporte necessário
Bibliotecas foram instaladas, os clientes poderão usar servidores baseados em Tor
Sem qualquer configuração especial.
No entanto, note que esta configuração padrão não melhora a
Anonimato: as conexões TCP normais ainda serão feitas em qualquer servidor que
Oferece um endereço regular (cumpre o segundo caso de uso do cliente acima, não
o terceiro). Para proteger o anonimato, os usuários devem configurar o
` [Connections] ` da seguinte maneira:
[Conexões]
Tcp = tor
Com isso, o cliente usará Tor (em vez de um
IP-address -reviração de conexão direta) para alcançar servidores baseados em TCP.
Configuração de anonimato
=======================
Tahoe-LAFS fornece uma configuração "flag de segurança" para indicar explicitamente
Seja necessário ou não a privacidade do endereço IP para um nó ::
[nó]
Revelar-IP-address = (booleano, opcional)
Quando ` revelar-IP-address = False`, Tahoe-LAFS se recusará a iniciar se algum dos
As opções de configuração em ` tahoe.cfg` revelariam a rede do nó
localização:
[Conexões] tcp = tor` é necessário: caso contrário, o cliente fariaConexões diretas para o Introdução, ou qualquer servidor baseado em TCP que aprende
Do Introdutor, revelando seu endereço IP para esses servidores e um
Rede de espionagem. Com isso, Tahoe-LAFS só fará
Conexões de saída através de uma rede de anonimato suportada.
Tub.location` deve ser desativado ou conter valores seguros. esteO valor é anunciado para outros nós através do Introdutor: é como um servidor
Anuncia sua localização para que os clientes possam se conectar a ela. No modo privado, ele
É um erro para incluir um ` tcp: dica no tub.location`. Modo privado
Rejeita o valor padrão de ` tub.location` (quando a chave está faltando
Inteiramente), que é ` AUTO, que usa ifconfig` para adivinhar o nó
Endereço IP externo, o que o revelaria ao servidor e a outros clientes.
Esta opção é crítica para preservar o anonimato do cliente (cliente
Caso de uso 3 de "Casos de uso", acima). Também é necessário preservar uma
Anonimato do servidor (caso de uso do servidor 3).
Esse sinalizador pode ser configurado (para falso), fornecendo o argumento ` --hide-ip` para
Os comandos ` create-node, create-client ou create-introducer`.
Observe que o valor padrão de ` revelar-endereço IP` é verdadeiro, porque
Infelizmente, esconder o endereço IP do nó requer software adicional para ser
Instalado (conforme descrito acima) e reduz o desempenho.
Anonimato do cliente
Para configurar um nó de cliente para anonimato, ` tahoe.cfg` deve conter o
Seguindo as bandeiras de configuração ::
[nó]
Revelar-IP-address = False
Tub.port = desativado
Tub.location = desativado
Uma vez que o nodo Tahoe-LAFS foi reiniciado, ele pode ser usado anonimamente (cliente
Caso de uso 3).
Anonimato do servidor, configuração manual
Para configurar um nó de servidor para ouvir em uma rede de anonimato, devemos primeiro
Configure Tor para executar um "Serviço de cebola" e encaminhe as conexões de entrada para o
Porto Tahoe local. Então, configuramos Tahoe para anunciar o endereço ` .onion`
Aos clientes. Também configuramos Tahoe para não fazer conexões TCP diretas.
Porta de cerca de 1024 até 65535 (dependendo do kernel / rede do host
Config). Nós diremos a Tahoe para escutar nesta porta, e nós diremos a Tor para
Encaminhe as conexões de entrada para ele.
Localização anunciada e revelada aos clientes. Pode ser qualquer número de 1
Para 65535. Pode ser o mesmo que PORT, se quiser.
/ var / lib / tor / NAME`.Pediremos a Tor para salvar o estado do serviço de cebola aqui, e Tor irá
Escreva o endereço ` .onion` aqui depois que ele for gerado.
Em seguida, faça o seguinte:
tahoe create-node`), mas não não Lança-o ainda.
/ etc / tor / torrc`). Precisamos adicionarUma seção para definir o serviço oculto. Se nossa PORT for 2000, VIRTPORT é
3000, e estamos usando ` / var / lib / tor / tahoe` como o serviço oculto
Diretório, a seção deve se parecer com ::
HiddenServiceDir / var / lib / tor / tahoe
HiddenServicePort 3000 127.0.0.1:2000
systemctl restart tor`. Aguarde alguns segundos. hostname` no diretório de serviço oculto (por exemplo, ` / Var / lib / tor / tahoe / hostname). Este será um endereço .onion`, como
` U33m4y7klhz3b.onion`. Ligue para esta CEBOLA.
tahoe.cfg para configurar tub.port` para usar ` Tcp: PORT: interface = 127.0.0.1 e tub.location` para usar
` Tor: ONION.onion: VIRTPORT`. Usando os exemplos acima, isso seria ::
[nó]
Revelar-endereço IP = falso
Tub.port = tcp: 2000: interface = 127.0.0.1
Tub.location = tor: u33m4y7klhz3b.onion: 3000
[Conexões]
Tcp = tor
tahoe start $ NODEDIR`A seção ` tub.port` fará com que o servidor Tahoe ouça no PORT, mas
Ligue o soquete de escuta à interface de loopback, que não é acessível
Do mundo exterior (mas * é * acessível pelo daemon Tor local). Então o
A seção ` tcp = tor` faz com que Tahoe use Tor quando se conecta ao
Introdução, escondendo o endereço IP. O nó se anunciará a todos
Clientes que usam tub.location`, então os clientes saberão que devem usar o Tor
Para alcançar este servidor (e não revelar seu endereço IP através do
anúncio). Quando os clientes se conectam ao endereço da cebola, seus pacotes serão
Atravessar a rede de anonimato e eventualmente aterrar no Tor local
Daemon, que então estabelecerá uma conexão com PORT no localhost, que é
Onde Tahoe está ouvindo conexões.
Siga um processo similar para construir um servidor Tahoe que escuta no I2P. o
O mesmo processo pode ser usado para ouvir tanto o Tor como o I2P (`` tub.location =
Tor: ONION.onion: VIRTPORT, i2p: ADDR.i2p``). Também pode ouvir tanto Tor como
TCP simples (caso de uso 2), com ` tub.port = tcp: PORT, ` tub.location =
Tcp: HOST: PORT, tor: ONION.onion: VIRTPORT` e anonymous = false` (e omite
A configuração ` tcp = tor`, já que o endereço já está sendo transmitido através de
O anúncio de localização).
Anonimato do servidor, configuração automática
Para configurar um nó do servidor para ouvir em uma rede de anonimato, crie o
Nó com a opção ` --listen = tor`. Isso requer uma configuração Tor que
Ou lança um novo daemon Tor, ou tem acesso à porta de controle Tor (e
Autoridade suficiente para criar um novo serviço de cebola). Nos sistemas Debian / Ubuntu, faça
` Apt install tor, adicione-se ao grupo de controle com ` adduser
YOURUSERNAME debian-tor` e, em seguida, inicie sessão e faça o login novamente: se os groups`
O comando inclui ` debian-tor` na saída, você deve ter permissão para
Use a porta de controle de domínio unix em ` / var / run / tor / control`.
Esta opção irá definir ` revelar-IP-address = False e ` [connections] tcp =
Tor``. Ele alocará as portas necessárias, instruirá Tor para criar a cebola
Serviço (salvando a chave privada em algum lugar dentro de NODEDIR / private /), obtenha
O endereço ` .onion e preencha tub.port e tub.location`
corretamente.
Problemas de desempenho e segurança
===============================
Se você estiver executando um servidor que não precisa ser
Anônimo, você deve torná-lo acessível através de uma rede de anonimato ou
não? Ou você pode torná-lo acessível * ambos * através de uma rede de anonimato
E como um servidor TCP / IP rastreável publicamente?
Existem várias compensações efetuadas por esta decisão.
Penetração NAT / Firewall
Fazer com que um servidor seja acessível via Tor ou I2P o torna acessível (por
Clientes compatíveis com Tor / I2P) mesmo que existam NAT ou firewalls que impeçam
Conexões TCP / IP diretas para o servidor.
Anonimato
Tornar um servidor Tahoe-LAFS acessível * somente * via Tor ou I2P pode ser usado para
Garanta que os clientes Tahoe-LAFS usem Tor ou I2P para se conectar
(Especificamente, o servidor só deve anunciar endereços Tor / I2P no
Chave de configuração ` tub.location`). Isso evita que os clientes mal configurados sejam
Desingonizando-se acidentalmente, conectando-se ao seu servidor através de
A Internet rastreável.
Claramente, um servidor que está disponível como um serviço Tor / I2P * e * a
O endereço TCP regular não é anônimo: o endereço do .on e o real
O endereço IP do servidor é facilmente vinculável.
Além disso, a interação, através do Tor, com um Tor Oculto pode ser mais
Protegido da análise do tráfego da rede do que a interação, através do Tor,
Com um servidor TCP / IP com rastreamento público
Se assim for, precisamos ligar a ele. Caso contrário, talvez devêssemos explicar mais aqui por que pensamos isso? **
Linkability
A partir de 1.12.0, o nó usa uma única chave de banheira persistente para saída
Conexões ao Introdutor e conexões de entrada para o Servidor de Armazenamento
(E Helper). Para os clientes, uma nova chave Tub é criada para cada servidor de armazenamento
Nós aprendemos sobre, e essas chaves são * não * persistiram (então elas mudarão cada uma delas
Tempo que o cliente reinicia).
Clientes que atravessam diretórios (de rootcap para subdiretório para filecap) são
É provável que solicitem os mesmos índices de armazenamento (SIs) na mesma ordem de cada vez.
Um cliente conectado a vários servidores irá pedir-lhes todos para o mesmo SI em
Quase ao mesmo tempo. E dois clientes que compartilham arquivos ou diretórios
Irá visitar os mesmos SI (em várias ocasiões).
Como resultado, as seguintes coisas são vinculáveis, mesmo com `` revelar-endereço IP
Falso``:
Cliente ainda não reiniciado. (Observe que o próximo recurso de Contabilidade pode
Faz com que os clientes apresentem uma chave pública persistente do lado do cliente quando
Conexão, que será uma ligação muito mais forte).
Olhando as SIs sendo solicitadas. Vários servidores podem conciliar
Determine que o mesmo cliente está falando com todos eles, mesmo que o
TubIDs são diferentes para cada conexão.
Cliente subscrito, para particionar clientes em conjuntos distintos de acordo com
Quais as conexões do servidor que eles eventualmente fazem. Para clientes + nós de servidor, ele
Também pode correlacionar o anúncio do servidor com o cliente deduzido
identidade.
atuação
Um cliente que se conecta a um servidor Tahoe-LAFS com rastreamento público através de Tor
Incorrem em latência substancialmente maior e, às vezes, pior
Mesmo cliente se conectando ao mesmo servidor através de um TCP / IP rastreável normal
conexão. Quando o servidor está em um Tor Hidden Service, ele incorre ainda mais
Latência e, possivelmente, ainda pior rendimento.
Conectando-se a servidores Tahoe-LAFS que são servidores I2P incorrem em maior latência
E pior rendimento também.
Efeitos positivos e negativos em outros usuários Tor
O envio de seu tráfego Tahoe-LAFS sobre o Tor adiciona tráfego de cobertura para outros
Tor usuários que também estão transmitindo dados em massa. Então isso é bom para
Eles - aumentando seu anonimato.
No entanto, torna o desempenho de outros usuários do Tor
Sessões - por exemplo, sessões ssh - muito pior. Isso é porque Tor
Atualmente não possui nenhuma prioridade ou qualidade de serviço
Recursos, para que as teclas de Ssh de outra pessoa possam ter que esperar na fila
Enquanto o conteúdo do arquivo em massa é transmitido. O atraso adicional pode
Tornar as sessões interativas de outras pessoas inutilizáveis.
Ambos os efeitos são duplicados se você carregar ou baixar arquivos para um
Tor Hidden Service, em comparação com se você carregar ou baixar arquivos
Over Tor para um servidor TCP / IP com rastreamento público
Efeitos positivos e negativos em outros usuários do I2P
Enviar seu tráfego Tahoe-LAFS ao I2P adiciona tráfego de cobertura para outros usuários do I2P
Que também estão transmitindo dados. Então, isso é bom para eles - aumentando sua
anonimato. Não prejudicará diretamente o desempenho de outros usuários do I2P
Sessões interativas, porque a rede I2P possui vários controles de congestionamento e
Recursos de qualidade de serviço, como priorizar pacotes menores.
No entanto, se muitos usuários estão enviando tráfego Tahoe-LAFS ao I2P e não tiverem
Seus roteadores I2P configurados para participar de muito tráfego, então o I2P
A rede como um todo sofrerá degradação. Cada roteador Tahoe-LAFS que usa o I2P tem
Seus próprios túneis de anonimato que seus dados são enviados. Em média, um
O nó Tahoe-LAFS requer 12 outros roteadores I2P para participar de seus túneis.
Portanto, é importante que o seu roteador I2P esteja compartilhando a largura de banda com outros
Roteadores, para que você possa retornar enquanto usa o I2P. Isso nunca prejudicará a
Desempenho de seu nó Tahoe-LAFS, porque seu roteador I2P sempre
Priorize seu próprio tráfego.
=========================
Como configurar um servidor
=========================
Muitos nós Tahoe-LAFS são executados como "servidores", o que significa que eles fornecem serviços para
Outras máquinas (isto é, "clientes"). Os dois tipos mais importantes são os
Introdução e Servidores de armazenamento.
Para ser útil, os servidores devem ser alcançados pelos clientes. Os servidores Tahoe podem ouvir
Em portas TCP e anunciar sua "localização" (nome do host e número da porta TCP)
Para que os clientes possam se conectar a eles. Eles também podem ouvir os serviços de cebola "Tor"
E portas I2P.
Os servidores de armazenamento anunciam sua localização ao anunciá-lo ao Introdutivo,
Que então transmite a localização para todos os clientes. Então, uma vez que a localização é
Determinado, você não precisa fazer nada de especial para entregá-lo.
O próprio apresentador possui uma localização, que deve ser entregue manualmente a todos
Servidores de armazenamento e clientes. Você pode enviá-lo para os novos membros do seu
grade. Esta localização (juntamente com outros identificadores criptográficos importantes) é
Escrito em um arquivo chamado ` private / introducer.furl` no Presenter's
Diretório básico, e deve ser fornecido como o argumento ` --introducer = ` para
` Tahoe create-node ou tahoe create-node`.
O primeiro passo ao configurar um servidor é descobrir como os clientes irão
alcançar. Então você precisa configurar o servidor para ouvir em algumas portas, e
Depois configure a localização corretamente.
Configuração manual
====================
Cada servidor tem duas configurações em seu arquivo ` tahoe.cfg: tub.port`, e
` Tub.location`. A "porta" controla o que o nó do servidor escuta: isto
Geralmente é uma porta TCP.
A "localização" controla o que é anunciado para o mundo exterior. Isto é um
"Sugestão de conexão foolscap", e inclui tanto o tipo de conexão
(Tcp, tor ou i2p) e os detalhes da conexão (nome do host / endereço, porta
número). Vários proxies, gateways e redes de privacidade podem ser
Envolvido, então não é incomum para ` tub.port e tub.location` para olhar
diferente.
Você pode controlar diretamente a configuração ` tub.port e tub.location`
Configurações, fornecendo ` --port = e --location = ao executar ` tahoe
Create-node``.
Configuração automática
=======================
Em vez de fornecer ` --port = / - location = , você pode usar --listen = `.
Os servidores podem ouvir em TCP, Tor, I2P, uma combinação desses ou nenhum.
O argumento ` --listen = ` controla quais tipos de ouvintes o novo servidor
usará.
` --listen = none` significa que o servidor não deve ouvir nada. Isso não
Faz sentido para um servidor, mas é apropriado para um nó somente cliente. o
O comando ` tahoe create-client inclui automaticamente --listen = none`.
` --listen = tcp` é o padrão e liga uma porta de escuta TCP padrão.
Usar ` --listen = tcp requer um argumento --hostname = ` também, que será
Incorporado no local anunciado do nó. Descobrimos que os computadores
Não pode determinar de forma confiável seu nome de host acessível externamente, então, em vez de
Ter o servidor adivinhar (ou escanear suas interfaces para endereços IP
Isso pode ou não ser apropriado), a criação de nó requer que o usuário
Forneça o nome do host.
` --listen = tor` conversará com um daemon Tor local e criará uma nova "cebola"
Servidor "(que se parece com alzrgrdvxct6c63z.onion``).
` --listen = i2p` conversará com um daemon I2P local e criará um novo servidor
endereço. Consulte: doc: anonymity-configuration para obter detalhes.
Você pode ouvir nos três usando ` --listen = tcp, tor, i2p`.
Cenários de implantação
====================
A seguir, alguns cenários sugeridos para configurar servidores usando
Vários transportes de rede. Estes exemplos não incluem a especificação de um
Apresentador FURL que normalmente você gostaria quando provisionamento de armazenamento
Nós. Para estes e outros detalhes de configuração, consulte
: Doc: configuration.
#. `Servidor possui um nome DNS público '
#. Servidor possui um endereço público IPv4 / IPv6_
#. O servidor está por trás de um firewall com encaminhamento de porta_
#. Usando o I2P / Tor para evitar o encaminhamento da porta_
O servidor possui um nome DNS público
O caso mais simples é o local onde o host do servidor está diretamente conectado ao
Internet, sem um firewall ou caixa NAT no caminho. A maioria dos VPS (Virtual Private
Servidor) e servidores colocados são assim, embora alguns fornecedores bloqueiem
Muitas portas de entrada por padrão.
Para esses servidores, tudo o que você precisa saber é o nome do host externo. O sistema
O administrador irá dizer-lhe isso. O principal requisito é que este nome de host
Pode ser pesquisado no DNS, e ele será mapeado para um endereço IPv4 ou IPv6 que
Alcançará a máquina.
Se o seu nome de host for ` example.net`, então você criará o introdutor como
esta::
Tahoe create-introducer --hostname example.com ~ / introducer
Ou um servidor de armazenamento como ::
Tahoe create-node --hostname = example.net
Estes irão alocar uma porta TCP (por exemplo, 12345), atribuir ` tub.port` para ser
` Tcp: 12345 e tub.location serão tcp: example.com: 12345`.
Idealmente, isso também deveria funcionar para hosts compatíveis com IPv6 (onde o nome DNS
Fornece um registro "AAAA", ou ambos "A" e "AAAA"). No entanto Tahoe-LAFS
O suporte para IPv6 é novo e ainda pode ter problemas. Por favor, veja o ingresso
# 867_ para detalhes.
O servidor possui um endereço público IPv4 / IPv6
Se o host tiver um endereço IPv4 (público) rotativo (por exemplo, ` 203.0.113.1``), mas
Nenhum nome DNS, você precisará escolher uma porta TCP (por exemplo, ` 3457`) e usar o
Segue::
Tahoe create-node --port = tcp: 3457 - localização = tcp: 203.0.113.1: 3457
` --port` é uma "string de especificação de ponto de extremidade" que controla quais locais
Porta em que o nó escuta. ` --location` é a "sugestão de conexão" que ele
Anuncia para outros, e descreve as conexões de saída que essas
Os clientes irão fazer, por isso precisa trabalhar a partir da sua localização na rede.
Os nós Tahoe-LAFS escutam em todas as interfaces por padrão. Quando o host é
Multi-homed, você pode querer fazer a ligação de escuta ligar apenas a uma
Interface específica, adicionando uma opção ` interface = ao --port = `
argumento::
Tahoe create-node --port = tcp: 3457: interface = 203.0.113.1 - localização = tcp: 203.0.113.1: 3457
Se o endereço público do host for IPv6 em vez de IPv4, use colchetes para
Envolva o endereço e altere o tipo de nó de extremidade para ` tcp6` ::
Tahoe create-node --port = tcp6: 3457 - localização = tcp: [2001: db8 :: 1]: 3457
Você pode usar ` interface = ` para vincular a uma interface IPv6 específica também, no entanto
Você deve fazer uma barra invertida - escapar dos dois pontos, porque, de outra forma, eles são interpretados
Como delimitadores pelo idioma de especificação do "ponto final" torcido. o
` --location = ` argumento não precisa de dois pontos para serem escapados, porque eles são
Envolto pelos colchetes ::
Tahoe create-node --port = tcp6: 3457: interface = 2001 \: db8 \: \: 1 --location = tcp: [2001: db8 :: 1]: 3457
Para hosts somente IPv6 com registros DNS AAAA, se o simples ` --hostname = `
A configuração não funciona, eles podem ser informados para ouvir especificamente
Porta compatível com IPv6 com este ::
Tahoe create-node --port = tcp6: 3457 - localização = tcp: example.net: 3457
O servidor está por trás de um firewall com encaminhamento de porta
Para configurar um nó de armazenamento por trás de um firewall com encaminhamento de porta, você irá
precisa saber:
Desconhece esse endereço e não é usado durante ` tahoe create-node`,
Mas o firewall deve ser configurado para enviar conexões para isso)
Os números de porta TCP internos e externos podem ser iguais ou diferentes
Dependendo de como o encaminhamento da porta está configurado. Se é mapear portas
1-para-1, eo endereço IPv4 público do firewall é 203.0.113.1 (e
Talvez o endereço IPv4 interno do nó de armazenamento seja 192.168.1.5), então
Use um comando CLI como este ::
Tahoe create-node --port = tcp: 3457 - localização = tcp: 203.0.113.1: 3457
Se no entanto, o firewall / NAT-box encaminha a porta externa * 6656 * para o interno
Porta 3457, então faça isso ::
Tahoe create-node --port = tcp: 3457 - localização = tcp: 203.0.113.1: 6656
Usando o I2P / Tor para evitar o encaminhamento da porta
Os serviços de cebola I2P e Tor, entre outras excelentes propriedades, também fornecem NAT
Penetração sem encaminhamento de porta, nomes de host ou endereços IP. Então, configurando
Um servidor que escuta apenas no Tor é simples ::
Tahoe create-node --listen = tor
Para mais informações sobre o uso de Tahoe-LAFS com I2p e Tor veja
: Doc: anonymity-configuration