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: 68.847 ]
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
Squid - Autenticação e controle de acesso a base de dados Firebird
Wpad.dat com Proxy Específico por Rede
Direcionando log Squid para banco MySQL
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
copiar library para diretorio /usr/share/..... su com Falha na a... (1)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (3)
Instalação dualboot Windows 11 e Debian 13 (29)









