Você deseja recursos de DNS, portanto, você deve usar o DNS.
- Configure um servidor DNS como Bind9 ou Unbound - você deve usar um que seja capaz de atuar como recursivo e autoritativo ao mesmo tempo;
- Configure seu computador para usar esse servidor para DNS, em vez do seu roteador;
- Para o desempenho, defina seu servidor DNS para usar seus endereços de servidor DNS habituais como "encaminhadores" (para fazer uso de seu cache).
Essa é a parte "preparação".
Agora crie uma nova zona chamada "myHostname". É basicamente o mesmo que hospedar seu próprio domínio, como example.com
, para que você possa seguir vários tutoriais existentes.
(Uma zona corresponde a uma área de autoridade - geralmente um TLD ou um domínio de primeiro nível "regular", mas em alguns casos um subdomínio também pode ser sua própria zona.)
Muitas pessoas usam o dnsmasq para esse propósito, mas eu não sei se ele suporta curingas. Além disso, sua configuração é realmente obscura, então vou ignorá-lo.
No Unbound (principalmente um recursor com recursos de hospedagem autoritativa muito limitados), é assim:
server:
(other settings...)
local-zone: "myHostname." static
local-data: "myHostname. A 192.168.1.234"
local-data: "*.myHostname. A 192.168.1.234"
(other settings...)
forward-zone:
name: "."
forward-addr: 8.8.8.8
forward-addr: 8.8.4.4
Isso aponta tanto myHostname
como <anything>.myHostname
para o endereço IP fornecido.
No Bind9 (que é um servidor de autoridade completo), é um pouco mais complexo - você precisa criar um "arquivo de zona" separado:
; /etc/named.conf
options {
(other settings...)
forwarders { 8.8.8.8; 8.8.4.4; };
};
zone "myHostname" {
type master;
file "/var/named/myHostname.zone";
};
; /var/named/myHostname.zone (example in short form, with $ORIGIN)
$ORIGIN myHostname.
$TTL 1h
@ SOA localhost. whatever. ( 1 4h 1h 7d 1h )
@ A 192.168.1.234
* A 192.168.1.234
; /var/named/myHostname.zone (same example but in full form)
$TTL 1h
myHostname. SOA localhost. whatever. ( 1 4h 1h 7d 1h )
myHostname. A 192.168.1.234
*.myHostname. A 192.168.1.234
( $ORIGIN
é automaticamente acrescentado a todos os nomes, se eles não terminarem com um ponto).