
Enviado em 31/03/2016 - 19:17h
Tenho este script tentando do iptables tentando fazer funcionar#! /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"
# EX: Rede interna
iflan="192.168.0.0/24"
################
# FUNÇÃO START #
################
start_netset() {
# EX: LIMPANDO AS REGRAS CRIADAS ANTERIORMENTE
# EX: Limpando a tabela filter
iptables -F
# EX: Limpando a tabela NAT
iptables -t nat -F
# EX: Limpando a tabela mangle
iptables -t mangle -F
# Ativando o NAT do iptables
modprobe iptable_nat
#Bloquear tudo
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Ativando o roteamento da conexão entre as interfaces
echo 1 > /proc/sys/net/ipv4/ip_forward
# Ativando o roteamento do proxy (transparente)
# Para usar o proxy normal e bloqueio do UltraSurf comentar para desativar
#iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
# 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
# Autorizando pacotes da interface de loopback e rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $ifproxy -j ACCEPT
# Abrindo a porta 22 para conexão remota interna e externa via SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# EX: Abrindo a porta do Squid para a rede interna
iptables -A INPUT -p tcp -i $ifproxy --dport 3128 -j ACCEPT
iptables -A INPUT -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995
iptables -A INPUT -d $iflan -p tcp -m multiport --dport 25,110,465,587,993,995
# Bloqueando tentativas de conexão provenientes da Internet
iptables -A INPUT -p tcp --syn -j DROP
# EX: Liberandos as portas 80 e 443 apenas para o localhost
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
# EX: Liberando FTP para o localhost
iptables -A OUTPUT -p tcp -m multiport --dports 20,21 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports 20,21 -j ACCEPT
# EX: Descartando pacotes inválidos
iptables -A FORWARD -m state --state INVALID -j DROP
# EX: Aceitando a passagem de pacotes de conexões já estabelecidas
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# EX: Liberando portas de e-mail POP3 e SMTP
iptables -A FORWARD -p tcp -m multiport --dports 25,110,465,587,995 -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dports 25,110,587,995 -j ACCEPT
# Ativando o Proxy Transparente
# Para usar o proxy normal comentar para desativar
# iptables -t nat -A PREROUTING -i $ifproxy -p tcp --dport 80 -j REDIRECT --to-port 3128
}
###############
# FUNÇÃO STOP #
###############
stop_netset() {
# Limpando a tabela filter
iptables -F
# Limpando a tabela NAT
iptables -t nat -F
# EX: Limpando a tabela mangle
iptables -t mangle -F
modprobe iptable_nat
# 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
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Como impedir exclusão de arquivos por outros usuários no (Linux)
Formas seguras de instalar Debian Sid (10)
Alguém executou um rm e quase mata a Pixar! (6)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









