O que controla se outros computadores têm acesso a um servidor em execução no seu computador não é o nome: isso é apenas uma questão de conveniência. Se você deseja tornar seu computador, ou pelo menos seu servidor da Web, inacessível fora da LAN, é necessário tomar medidas para bloqueá-lo no nível IP ou HTTP.
É possível que seu administrador de rede local já esteja bloqueando conexões de entrada para servidores da web dentro da rede local, caso em que você não tem nada para fazer. Mas você pode querer configurar um filtro em sua máquina de qualquer maneira, apenas no caso.
Se você não quiser veicular nenhum tráfego da web fora da LAN, bloqueie o tráfego da Web de entrada no nível de IP. Use iptables para isso, ou alguma ferramenta de nível superior que configura Regras do iptables, como ufw . Para bloquear todo o tráfego HTTP e HTTPS de entrada, bloqueie as portas TCP 80 e 443, supondo que sua LAN corresponda ao intervalo de endereços 203.0.113.0/24 (isto é, 203.0.113. *):
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 80,443 -s \!203.0.113.0/24 -j REJECT
Você também pode bloquear todas as portas de entrada, exceto aquelas que você sabe que precisa. Por exemplo, para permitir somente solicitações SSH de entrada, bem como tráfego de entrada da LAN e excluir todo o tráfego de entrada:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport http,https -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -j REJECT
Veja também Existe uma maneira padrão de configurar qual política o iptables carrega na inicialização sob o Debian? , iptables: permite determinados ips e bloqueia todas as outras conexões e Defina algumas portas de firewall para aceitar apenas conexões de rede local? .
Se você quiser permitir conexões da web com a sua máquina de qualquer lugar, mas permitir que um determinado host virtual seja alcançado somente a partir da LAN, você precisará fazer a filtragem no nível do servidor Apache (suponho que você ' usando o Apache). Isso é feito no arquivo de configuração virtualhost ou em um arquivo .htaccess
, com o Permitir e Negar diretivas.
Order deny,allow
Deny from all
Allow from 203.0.113.0/24
Mudando para o nome, se você quiser dar um nome sem ponto ao seu servidor, isso precisa da cooperação das máquinas clientes. Mas você pode dar um nome globalmente válido ao seu servidor. Isso é totalmente independente de se o seu servidor pode ser acessado de qualquer lugar. O que você precisa é de uma entrada de DNS para sua máquina. Você pode comprar um nome de domínio e um serviço DNS básico por cerca de US $ 10 / ano, para que o endereço IP da sua máquina seja registrado em um nome como www.spartanblogger.net
. Não importa se o seu endereço IP está em um intervalo privado, como 10.x.y.z ou 192.168.x.y. Se o endereço IP da sua máquina variar, você precisará de um provedor que ofereça suporte a DNS dinâmico . Para um único endereço para uso pessoal, se você não se importa em não ter seu próprio nome de domínio, você pode usar um serviço gratuito como DynDNS (se seu endereço IP é de fato dinâmico ou não); você pode escolher um nome como spartanblogger.dyndns.org
.