Squid 3.4.8 + SSL + Firewall + DNS + DHCP no Debian Jessie (v.8)
Este artigo é resultado de semanas em testes e o servidor está em perfeito funcionamento, gerenciando uma estrutura de Ti bastante exigente, que precisa de flexibilidade nas regras de acesso à internet e alta segurança. Ficou longo, porém, tentamos explicar detalhadamente todos os passos para que não haja erro. Foi usado Debian 8 (Jessie), mas funciona em qualquer distribuição derivada do Debian, testamos em máquinas reais com Ubuntu e Mint. Simples: LEIA!
[ Hits: 66.500 ]
Por: Riccelli Reis de Oliveira em 07/03/2016
127.0.0.1 localhost.servidor.com localhost
192.168.0.1 servidor.servidor.com servidor
192.168.0.1 ns1.servidor.com ns1
127.0.1.1 servidor.servidor.com servidor
127.0.1.1 ns1.servidor.com ns1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
#!/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin ### BEGIN INIT INFO # Provides: firewall # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Firewall at boot time # Description: Enable service provided by Firewall Daemon. ### END INIT INFO export TX="echo -e" default(){ $TX "" $TX ">>>>>>>>>>>>>>>>>> Iniciando Script de Firewall <<<<<<<<<<<<<<<<<< \n" $TX "Exportar Variaveis................................................" export IFNET=eth0 export IFLOC=eth1 export MP=/sbin/modprobe export RMM="$(which rmmod)" export IPT=/sbin/iptables export SVC=/etc/init.d export IP4=/proc/sys/net/ipv4 export IP4C=/proc/sys/net/ipv4/conf export NETW=192.168.0.0/24 $TX ".................................................................. OK \n" } start() { echo "Definir politicas padrao........................................." $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP $TX ".................................................................. OK \n" $TX "Desbloquear RP_Filter............................................." if [ -e $IP4C/all/rp_filter ]; then for f in $IP4C/*/rp_filter; do $TX "0" > $f done fi $TX ".................................................................. OK \n" $TX "Bloquear tudo que for desnecessário............................" $IPT -p tcp --dport 3128 -j DROP $IPT -A INPUT -m iprange --src-range 192.168.1.1-192.168.255.254 -j DROP $TX ".................................................................. OK \n" $TX "Direcionar para Proxy-Cache......................................." $IPT -t nat -A PREROUTING -i $IFLOC -s $NETW -p tcp --dport 80 -j REDIRECT --to-port 3180 $IPT -t nat -A PREROUTING -i $IFLOC -s $NETW -p tcp --dport 443 -j REDIRECT --to-port 31443 $TX ".................................................................. OK \n" $TX "Compartilhar conexao.............................................." $IPT -t nat -A POSTROUTING -o $IFNET -j MASQUERADE if [ -e $IP4/ip_forward ]; then $TX "1" > $IP4/ip_forward else $TX "Erro ao habilitar Forward!! Falha Grave no sistema................" fi $IPT -A FORWARD -s $NETW -j ACCEPT $IPT -A FORWARD -d $NETW -j ACCEPT $TX ".................................................................. OK \n" $TX "Permitir Trafegos de entrada e Saida......................................" $IPT -A INPUT -i lo -j ACCEPT $IPT -A INPUT -s $NETW -j ACCEPT $IPT -P OUTPUT -j ACCEPT $TX ".................................................................. OK \n" $TX " " $TX ">>>>>>>>>>>>>>>>>>>>>> Firewall Iniciado!! <<<<<<<<<<<<<<<<<<<<<< \n" } stop(){ $TX "Limpar todas as regras de firewall..............................." export IPT=/sbin/iptables export SVC=/etc/init.d $IPT -X $IPT -F # Zerar contadores $IPT -Z # Definir politicas padrao $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP $TX ".................................................................. OK \n" $TX "Desfazer Compartilhamento........................................." # Desativar trafego entre as placas de rede $TX 0 > $IP4/ip_forward # Ativar rp_filter if [ -e $IP4C/all/rp_filter ]; then for f in $IP4C/*/rp_filter; do $TX "1" > $f done # Reiniciar servico de rede $SVC/networking restart fi $TX ".................................................................. OK \n" $TX ">>>>>>>>>>>>>>>>>>>>>> Firewall Parado!!! <<<<<<<<<<<<<<<<<<<<<< \n" } case "$1" in inicio) while true; do default break done ;; start) while true; do default start break done ;; stop) while true; do stop break done ;; restart) while true; do stop default start break done ;; esac exit 0
Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination # iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3180 REDIRECT tcp -- anywhere anywhere tcp dpt:https redir ports 31443 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination
Gerando e gerenciando relatórios mensais com o SARG
Mandriva 2006 - Configurando servidor proxy transparente completo
Otimização Servidores Linux para Cache usando Squid
Servidor proxy com Squid - Instalação e configuração
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin