Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
inicial [2024/03/07 14:46] marcosm [Criação do servidor telecentro] |
inicial [2024/03/07 15:04] marcosm [Criação do servidor telecentro] |
||
---|---|---|---|
Linha 35: | Linha 35: | ||
Para checar se ele foi instalado digite: | Para checar se ele foi instalado digite: | ||
- | # systemctl status isc-dhcp-server | + | # systemctl status isc-dhcp-server |
No início erros serão reportados pois os arquivos de configuração não estão definidos. Apesar de não estar funcionando ele está instalado. | No início erros serão reportados pois os arquivos de configuração não estão definidos. Apesar de não estar funcionando ele está instalado. | ||
Linha 87: | Linha 87: | ||
Esse script consiste de uma sequência de comandos que definem como o firewall irá funcionar. Ele é um arquivo texto comum e poderia ficar em qualquer lugar, mas por comodidade e obedecendo a hierarquia linux ele foi colocado em /etc/firewall/loadFirewall.sh. Tanto o diretório quanto o arquivo devem ser criados antecipadamente. O arquivo deve ter privilégios de execução para o usuário root e o seu grupo. Segue abaixo o conteúdo do arquivo: | Esse script consiste de uma sequência de comandos que definem como o firewall irá funcionar. Ele é um arquivo texto comum e poderia ficar em qualquer lugar, mas por comodidade e obedecendo a hierarquia linux ele foi colocado em /etc/firewall/loadFirewall.sh. Tanto o diretório quanto o arquivo devem ser criados antecipadamente. O arquivo deve ter privilégios de execução para o usuário root e o seu grupo. Segue abaixo o conteúdo do arquivo: | ||
- | #!/bin/bash | + | #!/bin/bash |
- | + | ||
- | IPT='/sbin/iptables' | + | IPT='/sbin/iptables' |
- | TC='192.168.80.0/24' | + | TC='192.168.80.0/24' |
- | TCS='10.172.0.0/16' | + | TCS='10.172.0.0/16' |
- | DNS='10.0.24.151' | + | DNS='10.0.24.151' |
- | RMI1='192.168.0.0/16' | + | RMI1='192.168.0.0/16' |
- | RMI2='10.0.0.0/8' | + | RMI2='10.0.0.0/8' |
- | RMI3='172.16.0.0/12' | + | RMI3='172.16.0.0/12' |
- | EAD1='10.0.29.70' | + | EAD1='10.0.29.70' |
- | EAD2='201.54.223.111' | + | EAD2='201.54.223.111' |
- | + | ||
- | # Placa de rede ligada a internet | + | # Placa de rede ligada a internet |
- | wan='eth1' | + | wan='eth1' |
- | + | ||
- | # Placa de rede que liga com a 'rede interna' (local) | + | # Placa de rede que liga com a 'rede interna' (local) |
- | lan='eth0' | + | lan='eth0' |
- | + | ||
- | # flush | + | # flush |
- | function flushFirewall() { | + | function flushFirewall() { |
iptables -t nat -F POSTROUTING | iptables -t nat -F POSTROUTING | ||
iptables -t nat -F PREROUTING | iptables -t nat -F PREROUTING | ||
iptables -t nat -F OUTPUT | iptables -t nat -F OUTPUT | ||
+ | | ||
iptables -F | iptables -F | ||
iptables -X | iptables -X | ||
iptables -Z | iptables -Z | ||
- | } | + | } |
- | + | ||
- | function stopFirewall() { | + | function stopFirewall() { |
echo "Desligando o firewall................................ [ >> ]" | echo "Desligando o firewall................................ [ >> ]" | ||
+ | | ||
# --------- POLITICAS ----------------------- | # --------- POLITICAS ----------------------- | ||
iptables -P INPUT ACCEPT | iptables -P INPUT ACCEPT | ||
iptables -P FORWARD ACCEPT | iptables -P FORWARD ACCEPT | ||
iptables -P OUTPUT ACCEPT | iptables -P OUTPUT ACCEPT | ||
+ | | ||
# Desabilita o roteamento entre as interfaces | # Desabilita o roteamento entre as interfaces | ||
#-------------------------------------------- | #-------------------------------------------- | ||
echo 0 > /proc/sys/net/ipv4/ip_forward | echo 0 > /proc/sys/net/ipv4/ip_forward | ||
- | + | | |
+ | |||
echo "Firewall DESATIVADO.................................. [ OK ]" | echo "Firewall DESATIVADO.................................. [ OK ]" | ||
- | } | + | } |
+ | |||
function startFirewall() { | function startFirewall() { | ||
echo "Iniciando o firewall................................. [ >> ]" | echo "Iniciando o firewall................................. [ >> ]" | ||
Linha 230: | Linha 230: | ||
;; | ;; | ||
esac | esac | ||
+ | |||
+ | == Implementação do serviço firewall == | ||
+ | |||
+ | A criação do serviço no systemd consiste na criação de um script na pasta /etc/systemd/system/ que será chamado quando se decidir iniciar, reiniciar ou parar o firewall. Esse arquivo deve ter a extensão .service, deve ser executavel somente pelo root e seu grupo. O nome dado a esse arquivo foi firewall.service (naturalmente). Seu conteúdo é: | ||
+ | |||
+ | ''/etc/systemd/system/firewall.service:'' | ||
+ | |||
+ | [Unit] | ||
+ | Description=firewall | ||
+ | After=network.target | ||
+ | | ||
+ | [Service] | ||
+ | RemainAfterExit=yes | ||
+ | Restart=always | ||
+ | RestartSec=10 | ||
+ | ExecStart=/etc/firewall/loadFirewall.sh start | ||
+ | ExecStop=/etc/firewall/loadFirewall.sh stop | ||
+ | # ExecRestart=/etc/firewall/loadFirewall.sh restart | ||
+ | User=root | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | Após todos esses passos serem concluídos deve-se reiniciar os daemons para que o systemd possa reconhecer os serviços: | ||
+ | |||
+ | # systemctl daemon-reload | ||
+ | |||
+ | Com a recarga dos serviços o firewall já estará operando. Para checar basta digitar: | ||
+ | |||
+ | # systemctl status firewall.service | ||
+ | |||
+ | para checar se o firewall está funcionando digite: | ||
+ | # iptables -nvL | ||
+ | |||
+ | Se estiver ativo as regras (tabela filter) de cada chain serão listadas. Caso contrário, nenhuma regra será listada apenas os nomes das chains. | ||
+ | |||
+ | Ativando e desativando o firewall | ||
+ | Para ativar o firewall digite: | ||
+ | # systemctl start firewall.service | ||
+ | |||
+ | desativar: | ||
+ | # systemctl stop firewall.service | ||
+ | |||
+ | reiniciar: | ||
+ | # systemctl restart firewall.service | ||
+ | |||
+ | checar funcionamento: | ||
+ | # systemctl status firewall.service | ||
+ | |||
+ | === Instalação do proxy === | ||
+ | |||
+ | O proxy (no caso o squid) tem a função de filtrar conteúdo no acesso à internet. Essa funcionalidade esta sendo descontinuada porque a prodabel já implementa um proxy transparente que já filtra as páginas não permitidas. | ||
+ | |||
+ | |||
+ | === Testes finais … === | ||
+ | |||
+ | Acesso à RMI = proibido | ||
+ | # ping 10.0.24.1 | ||
+ | sem resposta/ inalcançável. | ||
+ | |||
+ | Acesso internet = permitido | ||
+ | # ping google.com | ||
+ | respondendo o ip da google e o tempo de busca, com isso testa-se também o dns. | ||
+ | |||
+ | Acesso servidores RTP | ||
+ | # chronyc status | ||
+ | resposta : lista de servidores de RTP. | ||