Enviado em 04/04/2016 - 18:45h
tenho a seguinte configuração de firewall rodando squid + sarg verdadeiramente não transparente ou seja SEM as duas linhas abaixoiptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
iptables -t nat -A PREROUTING -i $ifproxy -p tcp --dport 80 -j REDIRECT --to-port 3128
#! /bin/bash
### BEGIN INIT INFO
# Provides: netset
# Required-Start: squid network-manager
# Required-Stop: squid network-manager
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Inicia o proxy e o firewall
# Description: Inicia o proxy, firewall e compartilhamento de internet
### END INIT INFO
########################
# DECLARANDO VARIÁVEIS #
########################
# Interface do proxy
ifproxy="eth0"
# Interface da internet
ifinternet="eth1"
# Rede interna
iflan="192.168.0.0/24"
start_netset() {
# LIMPANDO AS REGRAS CRIADAS ANTERIORMENTE
# Limpando a tabela filter
iptables -F
iptables -X
# Limpando a tabela NAT
iptables -t nat -F
iptables -t nat -X
# EX: Limpando a tabela mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -L -n
modprobe iptable_nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Ativando o NAT do iptables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_ftp
# Bloqueando resposta do servidor ao PING
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# Ativando proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
# Autorizando pacotes da interface de loopback e rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $ifproxy -j ACCEPT
# Aceitando a passagem de pacotes de conexões já estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Abrindo a porta 22 para conexão remota interna e externa via SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Abrindo as portas 20 e 21 para conexão externa via FTP
iptables -A INPUT -i $ifinternet -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i $ifinternet -p tcp --dport 21 -j ACCEPT
# Abrindo a porta 10000 para conexão remota interna via Webmin
iptables -A INPUT -i $ifproxy -p tcp --dport 10000 -j ACCEPT
# Abrindo a conexão para cns Conectividade social caixa
iptables -A FORWARD -p tcp -d 200.201.173.68 -m multiport --dport 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 200.201.173.68 -m multiport --dport 80,443 -j ACCEPT
# Abrindo a porta do Squid para a rede interna
iptables -A INPUT -i $ifproxy -p tcp --dport 3128 -j ACCEPT
# Bloqueando tentativas de conexão provenientes da Internet
iptables -A INPUT -p tcp --syn -j DROP
#Liberando portas de e-mail POP e SMTP
iptables -A INPUT -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j ACCEPT
iptables -A INPUT -s $iflan -p udp -m multiport --dport 25,110,587,995 -j ACCEPT
iptables -t nat -A POSTROUTING -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p udp -m multiport --dport 25,110,587,995 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p udp --dport 53 -j MASQUERADE
# EX: Liberando portas de DNS
iptables -A INPUT -s $iflan -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s $iflan -p udp --source-port 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
# Liberando portas para o Skype e Teamviewer (rede local)
iptables -A FORWARD -p tcp -m multiport --dport 1616,5938 -j ACCEPT
}
###############
# FUNÇÃO STOP #
###############
stop_netset() {
# Limpando a tabela filter
iptables -F
iptables -X
# Limpando a tabela NAT
iptables -t nat -F
iptables -t nat -X
# EX: Limpando a tabela mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -L -n
modprobe iptable_nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# EX: Ativando o roteamento da conexão entre as interfaces
echo 1 > /proc/sys/net/ipv4/ip_forward
# EX: Para usar o proxy normal e bloqueio do UltraSurf comentar para desativar
#iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
}
#################
# FUNÇÃO STATUS #
#################
status_netset() {
clear
iptables -L -v -n --line-numbers
echo
}
case "$1" in
"start") start_netset ;;
"stop") stop_netset ;;
"restart") stop_netset; start_netset ;;
"status") status_netset ;;
*) echo "Usar os parametros start, stop ou restart"
esac
exit 0
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Bora fazer um teste? mbti (13)
Alerta Google Chrome 138.0.7204.10... [RESOLVIDO] (5)
criar alias do comando "ls -la" (6)
Webinar Zabbix "Arquite... Resiliente: HA + Proxy para Monitorame... (0)