Suposições
- O FW encaminha 80 / tcp e 443 / tcp para 192.168.1.5 (httpd verde)
- O FW emite a Opção 6 do DHCP, que atualmente aponta para um servidor de nomes externo na Internet (DNS público vermelho)
- O público DNS Um registro para
www.myhost.com
é 198.51.100.20
Solução
- Crie um DNS Resolver em 192.168.1.10 para sua rede privada (dark red bind / bonjour)
- Adicione um arquivo de zona privada em seu DNS privado por
myhost.com
(dark red bind / bonjour) - Configure a Opção DHCP 6 (Servidor de Nomes de Domínio) do servidor DHCP para apontar para 192.168.1.10
Por que seu servidor da Web está lento agora
Alguns firewalls não sabem como o NAT para 198.51.100.20 da interface interna, então eles enviam todo o tráfego para o ISP (que envia tráfego para www.myhost.com
de volta para 198.51.100.20). Esta ida e volta em direção ao roteador do ISP e de volta é o que te atrasa.
Referência do Diagrama:
Suaredepodeparecerdiferente,masasúnicascoisasquerealmenteimportamsãooservidordaWebeoservidordenomesinterno.
Exemplodeconfiguraçãodoresolvedorbind
paraestarede
ParecequevocêestáexecutandooOSX,entãoeudareiasconfiguraçõesdo*nix,masvocêpodeconfigurarumservidordenomesderesoluçãosemelhantecomoWindows.
Eutenhoquefazeralgoparecidoemcasa;estaéumaversãotranscritadomeubind
configs.Lembre-sedequebind
adoraasguias.Quandovocêobtiverbind
emexecução,será possível integrar bind com bonjour , mas isso não é realmente necessário.
Tecnicamente, é possível recolher seu servidor de nomes e httpd na mesma máquina, mas eu os manteria separados por questões de segurança. Outro FYI, é um pouco arriscado hospedar um servidor da Web sem uma DMZ real, mas estamos saindo do escopo de sua pergunta agora.
Arquivo/etc/bind/named.conf
:
include "/etc/bind/named.conf.options";
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
include "/etc/bind/named.conf.local";
Arquivo /etc/bind/named.conf.options
:
acl kill_clients {
192.168.1.32; // Black hole requests here (I have a cheap webcam)
};
acl valid_clients {
192.168.1.0/24;
127.0.0.0/8;
};
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on { any; };
blackhole { kill_clients; };
forwarders {4.2.2.2; 8.8.8.8; }; // Replace with your ISP DNS servers
};
// Configure the communication channel for Administrative BIND9 with rndc
// By default, they key is in the rndc.key file and is used by rndc and bind9
// on the localhost
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; };
};
Arquivo /etc/bind/named.conf.local
:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "myhost.com" {
type master;
file "/etc/bind/db.myhost";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.1.0";
};
Arquivo /etc/bind/db.myhost
:
;
; BIND data file for local loopback interface
;
$TTL 3600
myhost.com. IN SOA ns.myhost.com. hostmaster.myhost.com. (
201301091350 ; Serial
3600 ; Refresh
86400 ; Retry
2419200 ; Expire
3600 ) ; Negative Cache TTL
;
myhost.com. IN NS ns.myhost.com.
www IN A 192.168.1.5
www-public IN A 198.51.100.20
ns IN A 192.168.1.10
fw IN A 192.168.1.254
Arquivo /etc/bind/db.192.168.1.0
:
@ IN SOA ns.myhost.com. root.. (
2013010901 ;serial
14400 ;refresh
3600 ;retry
604800 ;expire
10800 ;minimum
)
1.168.192.in-addr.arpa. IN NS ns.myhost.com.
10 IN PTR ns.myhost.com.
5 IN PTR www.myhost.com.
254 IN PTR fw.myhost.com.