Hospedar sites em um ip público roteado por meio de uma sub-rede privada usando uma máquina Linux como roteador e servidor

1

Eu uso o servidor Ubuntu como roteador, roteador NATing e servidor web. O servidor está conectado ao ISP com uma sub-rede pública / 29. Também hospedo alguns sites importantes sobre ele. Eu pedi ao ISP para fornecer o bloco de endereços ipv6. Eles dizem que o roteador onde meu link termina no ISP não tem suporte a ipv6. Então eles disseram que, se eu estiver pronto, conecte-se ao roteador de borda por meio de uma sub-rede 172.16.x.x / 30 privada, eles podem me fornecer o bloco ipv6. No entanto, eles me fornecerão um ipv4 / 29 público roteado para mim via 172.16.x.x / 30, que eu posso usar para hospedar meus sites. Mas o problema que eu tenho é que eu não quero comprar outro roteador para que eu possa colocar 172.16.x.x / 30 na interface voltada para ISP e o public / 29 em outra interface voltada para o meu servidor e roteador NAT.

O que eu quero saber é se eu posso usar 172.16.x.x / 30 para conectar ao ISP e também usar o public / 29 no mesmo servidor Ubuntu para hospedar sites e fazer NATing. Meu roteador tem mais de 5 NICs e posso usar vlans também.

O roteador de borda do ISP suporta ipv6, mas o motivo pelo qual eles não podem me fornecer diretamente uma sub-rede pública é . No momento, meu link termina em um switch que está conectado à borda via 172.16.x.x.

    
por nixnotwin 30.06.2012 / 13:25

2 respostas

2

O uso de endereços RFC1918 para conexões de roteador a roteador é desaprovado se estiver na Internet pública, especialmente quando usado em uma interface entre o ISP e o cliente (em oposição a dois roteadores dentro da rede ISP). Isso ocorre porque eles reduzem a utilidade do traceroute devido a alguns sites bloquearem todos os pacotes desses endereços e porque não é possível anexar nomes significativos a esses endereços por meio dos registros DNS PTR, porque eles fazem com que os roteadores originem mensagens ICMP que não podem ser rastreado de volta à sua fonte e, possivelmente, outras razões. No entanto, parece que o seu ISP está configurado usando um RFC1918 / 30 para numerar a interface entre eles e você. Apesar da recomendação de não fazê-lo, ele realmente funcionará bem, e você pode acomodar essa situação com apenas uma dificuldade (veja abaixo).

A reclamação do ISP sobre problemas de ARP com uma sub-rede maior que / 30 parece falsa. É verdade que o desempenho de um roteador pode ser afetado por solicitações ARP inúteis para endereços inexistentes em uma interface com uma grande sub-rede esparsa, mas a sub-rede deve ser grande e esparsa (conter muitos endereços não usados) para que isso aconteça. Isso ocorre porque somente as solicitações de ARP para endereços que não são usados na sub-rede devem ser infinitamente expiradas e repetidas, o que é como o roteador seria atolado. Se eles atualizaram sua interface para um (public) / 29, não seria nem grande nem esparso (estou assumindo que você realmente usaria todos ou quase todos os endereços no / 29). As pessoas estão legitimamente preocupadas com problemas de ARP com / 64 sub-redes IPv6 (que são obviamente grandes e sempre serão escassas, pois o número de hosts na sub-rede nunca se aproximará do máximo), mas parece ridículo se preocupar com isso por um / 29. / p>

Há boas notícias com essa configuração: como o ISP não está configurando seu public / 29 em nenhuma interface, não há necessidade de reservar o primeiro e o último endereço IP do bloco como endereços de broadcast, nem é necessário para o ISP consumir um dos endereços em seu próprio roteador. Então você pode usar todos os 8 endereços para você, em vez de apenas 5.

Veja o que você faz:

  1. Configure a interface voltada para o ISP com o endereço 172.16.x.x / 30 fornecido pelo ISP.

  2. Adicione o bloco / 29 à interface do lo: /etc/network/interfaces :

    iface lo inet loopback
            up ip addr add a.b.c.d/29 dev lo
    
  3. Defina o seu gateway padrão para o lado do ISP desse link 172.16.x.otherside.

    Agora vem a dificuldade que mencionei anteriormente: por padrão, quando seu servidor inicia conexões de saída (solicitações de DNS, saída de e-mail, verificações de atualização de software, conexões de saída para bancos de dados ou qualquer outra coisa que seu servidor faça por si por um cliente contatando o servidor), o servidor usará 172.16.xx como o endereço de origem dos pacotes, porque esse é o endereço anexado à interface pela qual os pacotes serão enviados. Quando o servidor tenta entrar em contato com destinos na Internet em geral usando esse endereço de origem, obviamente não funcionará. Você precisa dar uma opção ao comando route para instalar uma rota padrão com um endereço de origem personalizado.

    Omita a entrada normal gateway 172.16.x.otherside e configure isso em /etc/network/interfaces :

    iface ethSOMETHING inet static
            [other configuration directives]
            up ip route add default via 172.16.x.otherside src a.b.c.d
    

    Para a.b.c.d , escolha um dos endereços do seu / 29, que você considera ser o endereço "principal" do seu servidor.

por 30.06.2012 / 18:40
0

I asked the ISP to provide ipv6 address block. They say that the router where my link terminates at ISP does not have ipv6 support.

Estamos todos ansiosos pelo dia em que isso acabar, mas infelizmente ainda é a maior parte do mundo que conheço.

So they said that if I'm ready connect to their edge router via a private 172.16.x.x/30 subnet, they can provide me ipv6 block. However, they'll give me a public ipv4 /29 routed to me via 172.16.x.x/30 which I can use to host my websites. But the problem that I have is that I do not want to buy another router so that I can put 172.16.x.x/30 on the ISP facing interface and the public /29 on another interface facing my server and NATing router.

Ai, mais ou menos. Aqui está o que eu li como acontecendo: seu roteador vai lhe dar um túnel 6 para 4 em um espaço de IP privado com um próximo salto de algum outro roteador em sua rede. Ele também usará um protocolo de roteamento interno que declara que seu sistema de espaço privado é o endereço do próximo salto para seu espaço de endereço público.

What I want to know is if I can use 172.16.x.x/30 to connect to ISP and also use the public /29 on the same Ubuntu server to host websites and to do NATing. My router has more than 5 NICs and I can use vlans also.

ISP's edge router supports ipv6 but the reason why they cannot directly give me a public subnet is this. At present my link terminates at a switch which is connected to the edge via 172.16.x.x.

Parece-me que o que você deve fazer é colocar os endereços externos de tudo o que você deseja que o servidor sirva através de uma interface externa conectada ao roteador. Atribua tudo a eth0 e várias subinterfaces (eth0: 0, eth0: 1, etc.) e defina seu gateway padrão como a interface de seu roteador.

    
por 03.07.2012 / 20:31