# Serviços em Linux(DHCP/DNS) *Descrição do que são serviços em Linux.* ## Instalar Ubuntu Server em VM <iframe width="560" height="315" src="https://www.youtube.com/embed/gqLaT01yei0" frameborder="0" allowfullscreen></iframe> ## DHCP ### O que é o DHCP DHCP é um protocolo utilizado em redes TCP/IP que permite obterem um endereço IP de forma automaticamente e dinâmica a computadores que estejam ligados na rede. ![DHCP](http://s2.glbimg.com/iUlM102cU0BDvBJ3klFlPLr3lC0=/850x446/s.glbimg.com/po/tt2/f/original/2014/10/30/dhcp.png) ### Como funciona o DHCP; 1. O cliente entra na rede e faz um broadcast para saber quem lhe pode dar um ip. 2. O Servidor fala com ele e diz que têm um ip possivel para lhe dar. 3. O Cliente aceita o ip que o servidor têm para lhe dar. 4. O Servidor envia o ip para o cliente para que ele possa navegar na sua rede. ![DHCP](http://study-ccna.com/wp-content/images/dhcp_process_explained.jpg) 3. Exemplo de funcionamentro do DHCP; Temos um Servidor e dois Clientes numa rede, os dois clientes já estão configurados na rede, mais tarde entra outro cliente e queria entrar na rede para falar com os outros clientes, então o cliente novo pergunta quem é o servidor e o servidor reponde que é ele e diz que têm um ip disponível para ele, o cliente aceita o ip dado, então o servidor manda o ip e assim o cliente já consegue comunicar com os outros clientes. ![DHCP](https://www.remoteutilities.com/images/blog/dhcp.jpg) # Instalação DHCP em Debian ``` sudo apt-get install isc-dhcp-server ``` ### Para visualizar o ip da maquina utilizamos os comandos: * **ifconfig** ![ifconfig](https://i.imgur.com/wQawPtu.png) * **ip addr** ![ip addr](https://i.imgur.com/18LTqY9.pt) * **#Instalar isc-dhcp-server** ``` sudo apt-get install isc-dhcp-server ``` * **#Posiciona-se no diretório de network** ``` cd /etc/network ``` * **#Criamos uma cópia de segurança** ``` cp interfaces interfaces~ ``` * **#edita-se o ficheiro, com permissões de escrita sudo nano interfaces** ![](https://i.imgur.com/mIXQYWs.png) ``` Exemplo: allow-hotplug 'nome interface' iface 'nome interface' inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.1 ``` ***Nota***: ``` 'nome da iface'pode ser por exemplo, eth0; ou enp0s3, e no caso de se ter mais de duas placas a segunda é normalmente a usada para as pools ``` 2. Editar as configurações para a pool DHCP(esta informação fica sempre no final) **Localiza-se:** /etc/dhcp/dhcpd.conf ![](https://i.imgur.com/WDEPyAJ.png) Exemplo: subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.9 192.168.10.250; option routers 192.168.10.1; } ***Nota*** **Atenção com a pontuação do passo acima** 3. Editar o ficheiro e indicar qual é a interface. **Localiza-se:** - /etc/default/isc-dhcp-server ![](https://i.imgur.com/QbUmuqX.png) ``` Exemplo: INTERFACESV4="enp0s8" ``` **NOTA** ``` A interface inserida será sempre a que têm ip statico ``` 4. Serviço DHCP Server e comandos(Start/Status/Stop) ``` /etc/init.d/isc-dhcp-server start status stop ``` # *DNS* ## DNS * Existem duas formas de aceder a uma página na internet, pelo nome de domínio, ou pelo endereço IP dos servidores nos quais ela está hospedada. * A função do DNS é traduzir as palavras que compõem a URL para o endereço IP do servidor e vice-versa. * Ou seja para não ser necessário escrever a sequência de números no navegador sempre que se queira visitar um site o DNS tem a função de traduzir esses IPs para palavras sendo mais façil de serem decoradas e procuradas pelos utilizadores. <center> ![](https://i.imgur.com/hFJxNmG.png) </center> Cada servidor possui um endereço IP único, logo, cada domínio leva a um IP específico. Por isso, não é possível ter dois sites diferentes com URLs iguais. Ao contrário seria diferent, pois diversos endereços poderiam encaminhar-nos para o mesmo site. ### Hierarquia * Devido ao imenso tamanho da Internet, armazenar todos os pares domínio e todos os nomes num só servidor ce DNS seria impossivel e inviável ou seja este, está dividido: __Disponibilidade:__ se o único servidor de DNS falhasse, o serviço se tornaria indisponível para o mundo inteiro. __Volume de tráfego:__ o servidor deveria tratar os pedidos DNS do planeta inteiro. __Distância:__ grande parte dos usuários estaria muito distante do servidor, onde quer que ele fosse instalado, gerando grandes atrasos para resolver pedidos DNS. __Manutenção do banco de dados:__ o banco de dados deveria armazenar uma quantidade de dados enorme e teria que ser atualizado com uma frequência muito alta, toda vez que um domínio fosse associado a um endereço IP. ## BIND 9 * Nota: BIND (Berkeley Internet Name Domain ou, como chamado previamente, Berkeley Internet Name Daemon) é o servidor para o protocolo DNS mais utilizado na Internet, especialmente em sistemas do tipo __Unix__. <center> ![](https://i.imgur.com/MaHtSjJ.png) </center> * O Bind 9 foi criado por quatro estudantes de graduação, membros de um grupo de pesquisas em ciência da computação da Universidade de Berkeley e foi distribuído pela primeira vez com o sistema operativo 4.3BSD. O programador Paul Vixie, enquanto trabalhava para a empresa DEC, foi o primeiro mantenedor do BIND. Atualmente o BIND é suportado e mantido pelo Internet Systems Consortium. * Para a versão 9, o BIND foi praticamente reescrito. Ele passou a suportar, dentre outras funcionalidades, a extensão DNSSEC e os protocolos TSIG e IPv6. # Instalação Server DNS + DHCP Server service dnsmasq status ##### 1.apt-get update ##### 2.apt-get install dnsmasq ***NOTA:*** ``` Ao instalar o dnsmasq teremos de inserir um cd ``` ##### 3.nano /etc/dnsmasq.conf ![](https://i.imgur.com/ILs8Wug.png) Nesta imagens podemos ver duas linhas sublinhadas a linha de mostra **"interface_enp0s8"** significa que a interface que esta **disponivel para ser usada no dns ou dhcp** irá ser a **enp0s8**, na segunda linha sublinhada refere-se ao dhcp o **"no-dhcp-interfaces= "** o que isto faz é perguntar qual é a interface que nós não queremos que dê ip, no caso de não quereremos inserimos a interface,mas se quiseremos que o dnsmasq dê dhcp não inserimos nada. **NOTA** quando queremos validar a opção temos de retirar os cardinal que está atrás do comando. Se repararemos nos queremos validar a opção "interface=enp0s8" então nós tiramos o cardinal dque estava atrás dela. ![](https://i.imgur.com/OIdjBbN.png) Nesta imagem o que o "dhcp-range= x.x.x.x, x.x.x.x" diz é que o range de ip's será aquele durante aquele determinado tempo, o tempo pode ser mudado para mais ou para menos. ![](https://i.imgur.com/5R0GU4c.png) Para vizualizarmos se o dnsmasq está ativo e a funcionar podemos inserir os comandos a baixo, nesta imagem podemos ver que o dnsmasq está em funcionamento porque diz "active (runing)", e para vizualizar se o dhcp range está em funcionamento podemos ver mais embaixo. service dnsmasq start status restart stop ou /etc/init.d/dnsmasq start status restart stop # Instalar DNS Server(Apache Server) apt-get install apache2 ------------------------------------------- # Modificação da Página do Apache cd /var/www/html/ rm index.html nano index.html