Differences

This shows you the differences between two versions of the page.

Link to this comparison view

configuracao_firewall_borda_debian_jessie_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Configuração de FW de Borda  ======
  
 +
 +Aqui vamos configurar o Firewall de borda, este é o Firewall que vai ficar virado para a internet.
 +
 +O que precisamos:
 +
 +  * **Nome:** fw
 +    * **Interface LAN:** eth0
 +    * **Interface WAN:** eth1
 +    * **IP LAN:** 192.168.254.34
 +    * **Rede LAN:** 192.168.254.0/​24
 +    * **IP WAN1:** 200.200.200.1
 +    * **IP WAN2:** 200.200.200.2
 +    * **IP GW Provedor:** 200.200.200.254
 +    * **Rede WAN:** 200.200.200.0/​24
 +  * **IP DNS1:** 192.168.254.30
 +  * **IP DNS2:** 192.168.254.31
 +  * **IP Email:** 192.168.254.33
 +  * **IP FW-LAN:** 192.168.254.35
 +
 +Agora vamos configurar as interfaces de rede
 +<sxh bash;>
 +vim /​etc/​network/​interface
 +auto lo
 +iface lo inet loopback
 +
 +auto eth0
 +iface eth0 inet static
 +    address 192.168.254.34
 +    netmask 255.255.255.0
 +    network 192.168.254.0
 +    broadcast 192.168.254.255
 +    ​
 +auto eth1
 +iface eth1 inet static
 +    address 200.200.200.1
 +    netmask 255.255.255.0
 +    network 200.200.200.0
 +    broadcast 200.200.200.255
 +    gateway 200.200.200.254
 +    ​
 +auto eth1:0
 +iface eth1:0 inet static
 +    address 200.200.200.2
 +    netmask 255.255.255.0
 +    network 200.200.200.0
 +    broadcast 200.200.200.255
 +</​sxh>​
 +
 +Agora vamos habilitar o roteamento neste servidor
 +<sxh bash;>
 +sed -i '​s/#​net.ipv4.ip_forward=1/​net.ipv4.ip_forward=1/​g'​ /​etc/​sysctl.conf
 +</​sxh>​
 +
 +Agora vamos carregar esta configuração
 +<sxh bash;>
 +sysctl -p
 +</​sxh>​
 +
 +Agora vamos criar o diretório que vai armazenar os arquivo de controle do FW
 +<sxh bash;>
 +mkdir -p /​etc/​firewall
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que vai controlar os módulos do kernel que vão ser carregados
 +<sxh bash;>
 +vim /​etc/​firewall/​kernel_modulos
 +### OPCOES DO KERNEL ###
 +### HABILITA REPASSE DE PACOTES ###
 +echo 1 > $PSNI/​ip_forward
 +# HABILITAR PROTECAO CONTRA SYNFLOOD
 +echo 1 > $PSNI/​tcp_syncookies
 +# HABILITAR VERIFICACAO DE ROTA DE ORIGEM (PROTECAO P/ IP SPOOFING)
 +for RP in $PSNI/​conf/​*/​rp_filter ; do echo 1 > $RP ; done
 +# CONTROLE DE ICMPP
 +echo 0 > $PSNI/​icmp_echo_ignore_all
 +echo 1 > $PSNI/​icmp_echo_ignore_broadcasts
 +
 +### CARREGANDO MÓDULOS ##
 +${MODPROBE} ip_conntrack
 +${MODPROBE} ip_conntrack_ftp
 +${MODPROBE} ip_nat_ftp
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que faz o controle dos repositórios do Debian
 +<sxh bash;>
 +vim /​etc/​firewall/​libera_repositorios
 +### LIBERA ATUALIZAR OS REPOSITORIOS ###
 +for END in $(cat ${REPOSITORIOS} | grep -v "​^#"​ | sort)
 +do
 +${IPTABLES} -A OUTPUT -d ${END} -j ACCEPT ${COM} "​REPOSITORIOS"​
 +${IPTABLES} -A FORWARD -d ${END} -s ${REDE_LAN} -j ACCEPT ${COM} "​REPOSITORIOS"​
 +${IPTABLES} -A POSTROUTING -t nat -s ${REDE_LAN} -d ${END} ${TCP} -m multiport --dports 21,80,443 -j MASQUERADE ${COM} "​MASQUERADE REPOSITORIOS"​
 +done
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que vai conter os repositórios do Debian
 +<sxh bash;>
 +vim /​etc/​firewall/​repositorios
 +#ARQUIVOS DE CONTROLE DOS REPOSTORIOS
 +#INSIRA UM REPOSITORIO POR LINHA
 +#​REPOSITORIO OFICIAL
 +ftp.br.debian.org
 +ftp.us.debian.org
 +#​REPOSITORIO DA PUC
 +ftp.pucpr.br
 +# REPOSITORIO DE ATUALIZACOES FREQUENTES
 +Volatile.debian.org
 +# REPOSITORIO DE ATUALIZACOES DE SEGURANCA
 +security.debian.org
 +# REPOSITORIO BACKPORT
 +www.backports.org
 +www.debian-multimedia.org
 +# PHP5 BACKPORT
 +packages.dotdeb.org
 +# GPG
 +pgp.uni-mainz.de
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que contém as variáveis que vão ser utilizadas no script
 +<sxh bash;>
 +vim /​etc/​firewall/​variaveis
 +### CORES UTILIZADAS NO SCRIPT ###
 +GREY="​\033[01;​30m"​
 +RED="​\033[01;​31m"​
 +GREEN="​\033[01;​32m"​
 +YELLOW="​\033[01;​33m"​
 +BLUE="​\033[01;​34m"​
 +PURPLE="​\033[01;​35m"​
 +CYAN="​\033[01;​36m"​
 +WHITE="​\033[01;​37m"​
 +CLOSE="​\033[m"​
 + 
 + 
 +###  CAMINHO DAS VARIAVEIS DO IPV4 NO KERNEL ###
 +PSNI=/​proc/​sys/​net/​ipv4
 + 
 +### REDES ###
 +REDE_LAN='​192.168.254.0/​24'​
 + 
 +### INTERFACES DE REDE ###
 +IF_LAN='​eth0'​
 +IF_WAN='​eth1'​
 + 
 +### LAN ###
 +LAN_DNS1="​192.168.254.30"​
 +LAN_DNS2="​192.168.254.31"​
 +LAN_MAIL="​192.168.254.33"​
 +FWLAN="​192.168.254.35"​
 + 
 +### EXTERNOS ###
 +EXT_COPELF1="​200.200.200.1"​
 +EXT_COPELF2="​200.200.200.2"​
 + 
 +### PORTAS ###
 +SSH_PORT="​22"​
 +DNS_PORT="​53" ​
 +HTTP_PORT="​80"​
 +HTTPS_PORT="​443"​
 +AUTH_PORT="​113"​
 +NTP_PORT="​123"​
 +PGP_PORT="​11371"​
 +MAIL_PORT="​25,​80,​110,​143,​443,​465,​587,​993,​995"​
 + 
 +### Comandos ###
 +IPTABLES=$(which iptables)
 +MODPROBE=$(which modprobe)
 +COM="​-m comment --comment"​
 +TCP="​-p tcp -m tcp" ​
 +UDP="​-p udp -m udp"
 +ICMP="​-p icmp --icmp-type"​
 +LIMIT="​-m limit --limit" ​
 +MULTIPORT="​-m multiport --dports"​
 +LOG="​LOG --log-prefix"​
 +LOG_LEV="​--log-level info"
 +PRE_EXT="​${IPTABLES} -A PREROUTING -t nat -i ${IF_WAN} "
 +POS_EXT="​${IPTABLES} -A POSTROUTING -t nat -o ${IF_WAN} "
 +IN_OU_FO="​INPUT OUTPUT FORWARD"​
 +IN_OU="​INPUT OUTPUT"​
 +IN_FO="​INPUT FORWARD"​
 +OU_FO="​OUTPUT FORWARD"​
 + 
 +### DIRETORIOS E ARQUIVOS ###
 +REGRAS=/​etc/​firewall/​
 +REPOSITORIOS=${REGRAS}repositorios
 +</​sxh>​
 +
 +Agora vamos criar o script de FW
 +<sxh bash;>
 +vim /​etc/​systemd/​system/​firewall.service
 +[Unit]
 +Description=Firewall Control
 +After=network.target auditd.service
 +
 +[Service]
 +Type=oneshot
 +RemainAfterExit=yes
 +ExecStart=/​etc/​firewall/​firewall-start
 +ExecStop=/​etc/​firewall/​firewall-stop
 +
 +[Install]
 +WantedBy=multi-user.target
 +</​sxh>​
 +
 +Vamos criar o script que inicia o firewall.
 +<sxh bash;>
 +vim /​etc/​firewall/​firewall-start
 +#!/bin/sh
 + 
 +#CARREGA AS VARIAVEIS PARA O SCRIPT
 +. /​etc/​firewall/​variaveis
 +. /​etc/​firewall/​kernel_modulos
 + 
 +    ### LIMPANDO REGRAS E CADEIAS ANTERIORES ###
 +    ${IPTABLES} -t filter -F
 +    ${IPTABLES} -t nat -F
 +    ${IPTABLES} -t mangle -F
 +    ${IPTABLES} -t filter -X
 +    ${IPTABLES} -t nat -X
 +    ${IPTABLES} -t mangle -X
 + 
 +    ### LIMPANDO AS POLITICAS DEFAULT ###
 +    for END in ${IN_OU_FO} ​
 +    do
 +    ${IPTABLES} -P ${END} ACCEPT
 +    done
 + 
 +    ### DEFININDO POLITICA PADRAO DROP ###
 +    for END in ${IN_OU_FO} ​
 +    do
 +    ${IPTABLES} -P ${END} DROP
 +    done
 + 
 +    ### LIBERAR LOOPBACK ###
 +    ${IPTABLES} -A INPUT -s 127.0.0.1/​32 -j ACCEPT ${COM} "​Libera a loopback"​
 +    ${IPTABLES} -A OUTPUT -d 127.0.0.1/​32 -j ACCEPT ${COM} "​Libera a loopback"​
 + 
 + 
 +    ### CONTRA ATAQUES ​
 +    for END in ${CHAINS2}
 +    do 
 +    ${IPTABLES} -A ${END} -m state --state INVALID -j DROP ${COM} "​PACOTES COM ESTADO INVALIDO OU MAL FORMADOS"​
 +    done
 + 
 +    ### PACOTES FRAGMENTADOS ###
 +    for END in ${IN_OU_FO}
 +    do
 +    ${IPTABLES} -A ${END} -f -j DROP ${COM} "​Pacotes fragmentados"​
 +    done
 + 
 +    ### LIBERAR RETORNO DE CONEXOES ###
 +    for END in ${IN_OU_FO} ​
 +    do
 +    ${IPTABLES} -A ${END} -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +    done
 +    ​
 +    ###  LIBERAR SSH ###
 +    ${IPTABLES} -A INPUT -s ${REDE_LAN} ${TCP} --dport ${SSH_PORT} -j ACCEPT ${COM} "​LIBERA ${REDE_LAN} ACESSAR O SSH"
 +    ${IPTABLES} -A OUTPUT -d ${REDE_LAN} ${TCP} --dport ${SSH_PORT} -j ACCEPT ${COM} "SAIDA DE SSH PARA LAN"
 + 
 + 
 +    ### LIBERAR NTP ###
 +    ${IPTABLES} -A INPUT ${UDP} --dport ${NTP_PORT} -j ACCEPT ${COM} "​SERVICO NTP"
 +    ${IPTABLES} -A OUTPUT ${UDP} --dport ${NTP_PORT} -j ACCEPT ${COM} "​SERVICO NTP"
 + 
 + 
 +    ### LIBERAR EMAIL ###
 +    ### FORWARDS PARA SERVICOS DE EMAIL PORTAS 25,​80,​110,​143,​443,​465,​587,​993,​995 ###
 +    ${IPTABLES} -A FORWARD ${TCP} ${MULTIPORT} ${MAIL_PORT} -d ${LAN_MAIL} -j ACCEPT ${COM} "​SERVICOES DE EMAIL"
 +    ${IPTABLES} -A FORWARD ${TCP} ${MULTIPORT} ${MAIL_PORT} -s ${LAN_MAIL} -j ACCEPT ${COM} "SAIDA DO EMAIL"
 + 
 +    ### REDIRECIONAMENTOS PARA SERVICOS DE EMAIL PORTAS 25,​80,​110,​143,​443,​465,​993,​995 ###
 +    #AQUI ESTAMOS DIRECIONANDO AS REQUISIÇÕES DA INTERNET VINDAS PARA O IP 200.200.200.1 PARA O SERVIDOR DE EMAIL
 +    ${PRE_EXT} -d ${EXT_COPELF1} -p tcp ${MULTIPORT} ${MAIL_PORT} -j DNAT --to ${LAN_MAIL} ${COM} "​SERVICO DE EMAIL"
 +    ${POS_EXT} -s ${LAN_MAIL} -p tcp ${MULTIPORT} ${MAIL_PORT} -j SNAT --to ${EXT_COPELF1} ${COM} "SAIDA DO EMAIL"
 +
 + 
 +    ### LIBERAR DNS ###
 +    ### FORWARDS PARA SERVICOS DE DNS PORTA 53 ###
 +    ### AQUI FOI LIBERADO OS DNS CONSULTAREM OS ROOT MASTER PARA FAZER CONSULTAS RECURSIVAS PARA DMZ ###
 +    for END in ${IN_OU_FO}
 +    do
 +    ${IPTABLES} -A ${END} ${TCP} --dport ${DNS_PORT} -d ${LAN_DNS1} -j ACCEPT ${COM} "​SERVICO DNS TCP"
 +    ${IPTABLES} -A ${END} ${UDP} --dport ${DNS_PORT} -d ${LAN_DNS1} -j ACCEPT ${COM} "​SERVICO DNS UDP"
 +    ${IPTABLES} -A ${END} ${TCP} --dport ${DNS_PORT} -d ${LAN_DNS2} -j ACCEPT ${COM} "​SERVICO DNS TCP"
 +    ${IPTABLES} -A ${END} ${UDP} --dport ${DNS_PORT} -d ${LAN_DNS2} -j ACCEPT ${COM} "​SERVICO DNS UDP"
 +    done
 + 
 +    ### LIBERA SAIDA DOS SERVIDORES DNS TCP/UDP E SERVIDOR LOCAL -> DNSSERVERS ###
 +    ${IPTABLES} -A FORWARD ${TCP} --dport ${DNS_PORT} -s ${LAN_DNS1} -j ACCEPT ${COM} "​SERVICO DNS1"
 +    ${IPTABLES} -A FORWARD ${TCP} --dport ${DNS_PORT} -s ${LAN_DNS2} -j ACCEPT ${COM} "​SERVICO DNS2"
 +    ${IPTABLES} -A FORWARD ${UDP} --dport ${DNS_PORT} -s ${LAN_DNS1} -j ACCEPT ${COM} "​SERVICO DNS1"
 +    ${IPTABLES} -A FORWARD ${UDP} --dport ${DNS_PORT} -s ${LAN_DNS2} -j ACCEPT ${COM} "​SERVICO DNS2"
 +    ${IPTABLES} -A OUTPUT ${TCP} --dport ${DNS_PORT} -d ${LAN_DNS1} -j ACCEPT ${COM} "​ACESSO SERVICO DNS1"
 +    ${IPTABLES} -A OUTPUT ${TCP} --dport ${DNS_PORT} -d ${LAN_DNS2} -j ACCEPT ${COM} "​ACESSO SERVICO DNS2"
 +    ${IPTABLES} -A OUTPUT ${UDP} --dport ${DNS_PORT} -d ${LAN_DNS1} -j ACCEPT ${COM} "​ACESSO SERVICO DNS1"
 +    ${IPTABLES} -A OUTPUT ${UDP} --dport ${DNS_PORT} -d ${LAN_DNS2} -j ACCEPT ${COM} "​ACESSO SERVICO DNS2"
 +
 +    ### REDIRECIONAMENTOS PARA SERVICO DE DNS PORTA 53 TCP/UDP ###
 +    #AQUI ESTAMOS DIRECIONANDO AS REQUISIÇÕES VINDAS PARA O IP 200.200.200.1 PARA O NS1 E VINDAS PARA O IP 200.200.200.2 PARA O NS2
 +    ${PRE_EXT} -d ${EXT_COPELF1} ${TCP} --dport ${DNS_PORT} -j DNAT --to ${LAN_DNS1} ${COM} "​SERVICO DNS1"
 +    ${POS_EXT} -s ${LAN_DNS1} ${TCP} --dport ${DNS_PORT} -j SNAT --to ${EXT_COPELF1} ${COM} "SAIDA DNS1"
 +    ${PRE_EXT} -d ${EXT_COPELF2} ${TCP} --dport ${DNS_PORT} -j DNAT --to ${LAN_DNS2} ${COM} "​SERVICO DNS2"
 +    ${POS_EXT} -s ${LAN_DNS2} ${TCP} --dport ${DNS_PORT} -j SNAT --to ${EXT_COPELF2} ${COM} "SAIDA DNS2"
 +    ${PRE_EXT} -d ${EXT_COPELF1} ${UDP} --dport ${DNS_PORT} -j DNAT --to ${LAN_DNS1} ${COM} "​SERVICO DNS1" ​
 +    ${POS_EXT} -s ${LAN_DNS1} ${UDP} --dport ${DNS_PORT} -j SNAT --to ${EXT_COPELF1} ${COM} "SAIDA DNS1"
 +    ${PRE_EXT} -d ${EXT_COPELF2} ${UDP} --dport ${DNS_PORT} -j DNAT --to ${LAN_DNS2} ${COM} "​SERVICO DNS2"
 +    ${POS_EXT} -s ${LAN_DNS2} ${UDP} --dport ${DNS_PORT} -j SNAT --to ${EXT_COPELF2} ${COM} "SAIDA DNS2"
 +    ​
 +    ### REDIRECIONAMENTO PARA PORTA 80 DESCOMENTAR AS LINHAS ABAIXO E MUDAR O SERVIDOR ###
 +    #${PRE_EXT} -d ${EXT_COPELF3} ${TCP} --dport ${HTTP_PORT} -j DNAT --to ${LAN_WEB} ${COM} "WEB GLPI"
 +    #​${IPTABLES} -A FORWARD -s ${LAN_WEB} ​ ${TCP} --dport ${HTTP_PORT} -j ACCEPT ${COM} "LAN WEB"
 +    #​${IPTABLES} -A FORWARD -d ${LAN_WEB} ​ ${TCP} --dport ${HTTP_PORT} -j ACCEPT ${COM} "LAN WEB"
 +    #​${IPTABLES} -t nat -A POSTROUTING -s ${LAN_WEB} ${TCP} --dport ${HTTP_PORT} -j SNAT --to ${EXT_COPELF3} ${COM} "LAN WEB"
 + 
 + 
 +    ### PGP PRECISAMOS DESSAS REGRAS PARA IMPORTAÇÃO DE CHAVES PARA REPOSITÓRIOS ###
 +    ${IPTABLES} -A INPUT ${TCP} --dport ${PGP_PORT} -j ACCEPT ${COM} "​SERVICO PGP"
 +    ${IPTABLES} -A OUTPUT ${TCP} --dport ${PGP_PORT} -j ACCEPT ${COM} "​SERVICO PGP"
 +    ${IPTABLES} -A FORWARD ${TCP} --dport ${PGP_PORT} -d ${REDE_LAN} -j ACCEPT ${COM} "​SERVICO PGP"
 +
 +    ### CONTROLE DE ICMP ###
 +    for END in ${IN_OU_FO}
 +    do
 +    ${IPTABLES} -A ${END} ${ICMP} 0 ${LIMIT} 1/s -j ACCEPT ${COM} "​Controle de ping"
 +    ${IPTABLES} -A ${END} ${ICMP} 8 ${LIMIT} 1/s -j ACCEPT ${COM} "​Controle de ping"
 +    done
 +    ${IPTABLES} -t nat -A POSTROUTING ${ICMP} 0 ${LIMIT} 1/s -j MASQUERADE ${COM} "​Controle de ping"
 +    ${IPTABLES} -t nat -A POSTROUTING ${ICMP} 8 ${LIMIT} 1/s -j MASQUERADE ${COM} "​Controle de ping"
 +
 +    ### Port SCANNER e PS E SF
 +    for END in ${IN_OU_FO} ​
 +    do
 +    ${IPTABLES} -A ${END} ${TCP} --tcp-flags ALL FIN,URG,PSH -j DROP ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --tcp-flags SYN,RST SYN,RST -j DROP ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --tcp-flags SYN,FIN SYN,FIN -j DROP ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --tcp-flags ALL NONE        -j DROP ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --sport 0 --tcp-flags FIN,​SYN,​RST,​ACK SYN -j DROP ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --syn ${LIMIT} 2/s -j ACCEPT ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --tcp-flags SYN,​ACK,​FIN,​RST RST ${LIMIT} 1/s -j ACCEPT ${COM} "PS e SF"
 +    ${IPTABLES} -A ${END} ${TCP} --tcp-flags SYN,​ACK,​FIN,​RST RST ${LIMIT} 1/s -j ACCEPT ${COM} "PS E SF"
 +    ${IPTABLES} -A ${END} ${TCP} --dport ${AUTH_PORT} -j REJECT --reject-with tcp-reset ${COM} "Nega identificacao"​
 +    ${IPTABLES} -A ${END} ${TCP} -j REJECT --reject-with tcp-reset ${COM} "​Reseta conexoes em portas desconhecidas"​
 +    done
 + 
 +    ## VAMOS MASCARAR A SAIDA DO FW-LAN
 +    ${IPTABLES} -A POSTROUTING -t nat -s ${FWLAN} -j MASQUERADE ${COM} "​MASQUERADE FW-LAN"​
 +    ​
 +    ### REGRAS DE MASQUERADE REPOSITORIOS ###
 +    ${IPTABLES} -A POSTROUTING -t nat -s ${REDE_LAN} ${TCP} ${MULTIPORT} 21,80,443 -j MASQUERADE ${COM} "​Masquerade da DMZ"
 +    ​
 +    ### LIBERA REPOSITORIOS ###
 +    #. /​etc/​firewall/​libera_repositorios ​
 +</​sxh>​
 +
 +Vamos criar o script que para o firewall.
 +<sxh bash;>
 +vim /​etc/​firewall/​firewall-stop
 +#!/bin/bash
 +#CARREGA AS VARIAVEIS PARA O SCRIPT
 +. /​etc/​firewall/​variaveis
 +. /​etc/​firewall/​kernel_modulos
 +
 +    ### LIMPANDO REGRAS E CADEIAS ANTERIORES ###
 +    ${IPTABLES} -t filter -F
 +    ${IPTABLES} -t nat -F
 +    ${IPTABLES} -t mangle -F
 +    ${IPTABLES} -t filter -X
 +    ${IPTABLES} -t nat -X
 +    ${IPTABLES} -t mangle -X
 + 
 +    ### LIMPANDO AS POLITICAS DEFAULT ###
 +    ${IPTABLES} -P INPUT ACCEPT
 +    ${IPTABLES} -P FORWARD ACCEPT
 +    ${IPTABLES} -P OUTPUT ACCEPT
 + 
 +    ### REGRAS DE MASQUERADE PARA LAN ###
 +    ${IPTABLES} -A POSTROUTING -t nat -s ${REDE_LAN} -j MASQUERADE ${COM} "​Masquerade da LAN com o firewall em stop"
 +</​sxh>​
 +
 +Agora vamos dar permissão ao nosso script
 +<sxh bash;>
 +chmod +x /​etc/​firewall/​firewall-*
 +</​sxh>​
 +
 +Agora vamos colocar ele na inicialização do sistema
 +<sxh bash;>
 +systemctl enable firewall.service
 +</​sxh>​
 +
 +Agora precisamos ajustar o dns do nosso servidor FW para ser o ns1 e ns2
 +<sxh bash;>
 +vim /​etc/​resolv.conf
 +nameserver 192.168.254.30
 +nameserver 192.168.254.31
 +</​sxh>​
 +
 +Agora vamos testar o nosso script
 +<sxh bash;>
 +systemctl start firewall
 +</​sxh>​
 +
 +Podemos consultar se houve algum erro
 +<sxh bash;>
 +systemctl status firewall
 +● firewall.service - Firewall Control
 +   ​Loaded:​ loaded (/​etc/​systemd/​system/​firewall.service;​ enabled)
 +   ​Active:​ active (exited) since Mon 2016-02-01 11:28:55 BRST; 1min 21s ago
 +  Process: 31003 ExecStop=/​etc/​firewall/​firewall-stop (code=exited,​ status=0/​SUCCESS)
 +  Process: 31025 ExecStart=/​etc/​firewall/​firewall-start (code=exited,​ status=0/​SUCCESS)
 + Main PID: 31025 (code=exited,​ status=0/​SUCCESS)
 +</​sxh>​
 +
 +Agora precisamos ajustar o Gateway dos servidores ns1, ns2, email e fw-lan para utilizarem o 192.168.1.34,​ pois ele que vai mandar todo mundo para a internet e vai direcionar as requisições para os ips públicos para os seus devidos servidores :D
 +
 +Para ajustar o gw deles precisamos mudar o gateway deles em /​etc/​network/​interfaces como ex no servidor ns1
 +<sxh bash;>
 +vim /​etc/​network/​interfaces
 +auto lo
 +iface lo inet loopback
 +
 +auto eth0
 +iface eth0 inet static
 +        address 192.168.254.30
 +        netmask 255.255.255.0
 +        network 192.168.254.0
 +        broadcast 192.168.254.255
 +        gateway 192.168.254.34
 +</​sxh>​
 +
 +Agora é só reiniciar o servidor para ele pegar as novas configurações
 +
 +Agora no ns1 vamos testar a conexão com a internet
 +<sxh bash;>
 +ping www.terra.com.br -c 2
 +PING www.terra.com.br (200.154.56.80) 56(84) bytes of data.
 +64 bytes from www.terra.com.br (200.154.56.80):​ icmp_req=1 ttl=54 time=17.4 ms
 +64 bytes from www.terra.com.br (200.154.56.80):​ icmp_req=2 ttl=54 time=17.1 ms
 +
 +--- www.terra.com.br ping statistics ---
 +2 packets transmitted,​ 2 received, 0% packet loss, time 1000ms
 +rtt min/​avg/​max/​mdev = 17.188/​17.298/​17.408/​0.110 ms
 +</​sxh>​
 +
 +Vamos ver a tabela de rotas do servidor ns1
 +<sxh bash;>
 +route -n
 +Tabela de Roteamento IP do Kernel
 +Destino ​        ​Roteador ​       MáscaraGen. ​   Opções Métrica Ref   Uso Iface
 +192.168.254.0 ​  ​0.0.0.0 ​        ​255.255.255.0 ​  ​U ​    ​0 ​     0        0 eth0
 +0.0.0.0 ​        ​192.168.254.34 ​ 0.0.0.0 ​        ​UG ​   0      0        0 eth0
 +</​sxh>​