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
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Problema com audio apos upgrade (1)
Programa simples pra cortar vídeos [RESOLVIDO] (7)
Instalação automatizada do Debian 12 em UEFI (1)