Compartilhamento de conexão
Publicado por Isaque Vieira de Sousa Alves (última atualização em 08/01/2010)
[ Hits: 6.102 ]
Homepage: www.isaquealves.com
Esse script é o principal script de minha rede wifi. Ele integra, entre outras coisas, um servidor Squid com natacl e diversas regras de firewall.
A maioria das regras foi construída graças a dicas e artigos de outros membros do VOL. Não é demais agradecer ao membro Elgio por todo o compartilhamento de conhecimento que realiza no portal.
#!/bin/bash IPTABLES="/sbin/iptables" # Interface da Internet: IFNET="eth1" # Interface da rede local IFLOCAL="eth0" iniciar(){ echo "Iniciando firewall de compartilhamento..." echo "Definindo politica padrao como DROP..." iptables -A INPUT -p icmp --icmp-type echo-request -j DROP #Drop all icmp echo requests iptables -A INPUT -m state --state INVALID -j DROP #Define DROP as default policy of netfilter iptables -A FORWARD -i eth0 -s ! 192.168.2.0/24 -j DROP #Drop all trafic intended to be interpreted link a syn flood atack Thanks to elgio www.vivaolinux.com.br/~elgio iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 111 -j DROP iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 2049 -j DROP #iptables -A FORWARD -i $IFLOCAL -j DROP #iptables -A FORWARD -o $IFLOCAL -j DROP sleep 1 echo "Habilitando trafego nas interfaces loopback e localnet(eth0)..." iptables -A INPUT -i $IFLOCAL -j ACCEPT iptables -A INPUT -i lo -j ACCEPT sleep 1 echo "Fixando definicoes de compartilhamento: Forward e filter" modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter sleep 1 echo "Ativando NatACL Daemon..." NatACL sleep 1 echo "Abrindo SSH apenas para os macs listados..." iptables -A INPUT -i eth1 -p tcp --destination-port 22 -m mac --mac-source 00:13:d4:7f:96:7d -j ACCEPT iptables -A INPUT -i eth+ -p tcp --destination-port 22 -m mac --mac-source 00:13:d4:8e:99:f6 -j ACCEPT sleep 1 echo "Liberando portas: 80, 53, 443 para todos os hosts..." iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT sleep 1 echo "Liberando portas: 111(NFS), 2049(NFS), 514(syslog), 67-68 (DHCP)..." iptables -A INPUT -s 192.168.254.0/24 -p tcp --dport 111 -j ACCEPT #Libera NFS para a rede 192.168.254.0/24 iptables -A INPUT -s 192.168.254.0/24 -p tcp --dport 2049 -j ACCEPT # //--------//-----------//--------- iptables -A INPUT -s 192.168.2.254 -p tcp --dport 514 -j ACCEPT #Open communication port with syslog of the AP iptables -A INPUT -i eth0 -p tcp --dport 67 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 68 -j ACCEPT sleep 1 echo "Ativando registro (logging) de acessos ao VNC e SSH..." iptables -A INPUT -p tcp --dport 5900 -j LOG --log-prefix="VNC(Alt Port):" #Register all the VNC traffic iptables -A INPUT -p tcp --dport 5800 -j LOG --log-prefix="VNC:" #===//============// iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix="ACESSO VIA SSH:" #Register all the SSH sleep 1 echo "Mascarando interface de internet..." iptables -t nat -A POSTROUTING -o $IFNET -j MASQUERADE # Postrouting in eth1 sleep 1 echo "Outras regras de Prerouting e forwarding..." iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT #Conectividade Social iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT #Conectividade Social iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 #Redirect trafic direct to squid proxy iptables -t nat -A PREROUTING -p tcp -d 209.85.141.85 -j ACCEPT iptables -A FORWARD -p tcp -s 209.85.193.99 -d 192.168.2.0/24 -jACCEPT iptables -A FORWARD -p tcp -d 209.85.141.85 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 1863 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/24 -d 65.54.179.192 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 1863 -j REJECT iptables -A INPUT -p tcp --dport 3128 -j DROP #iptables -A FORWARD -s 192.168.2.0/24 -d loginnet.passport.com -j REJECT echo "Vedando possibilidades de brute-force na porta do ssh..." iptables -A INPUT -i eth0 -p tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -m recent --set --name SSH # Aceita de um mesmo IP somente 4 requests por minuto iptables -A INPUT -i eth0 -p tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -m recent --update --seconds 60 --hitcount 4 --name SSH -j REJECT # mesmo tendo passado pela regra acima (4 por minuto), aceita somente 30 por dia iptables -A INPUT -i eth0 -p tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -m recent --set --name SSH2 iptables -A INPUT -i eth0 -p tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -m recent --update --seconds 86400 --hitcount 20 --name SSH2 -j REJECT iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT #libera acesso na rede local ao servidor mysql sleep 1 echo "Firewall Ativo." } parar(){ echo "Parando daemon NatACL..." for i in $(seq 9) do echo -n ". " sleep 1 done killall NatACL echo "\nNatACL finalizado." echo "limpando as regras de Firewall..." iptables -F iptables -F -t nat iptables -X -t nat iptables -X sleep 2 echo "Redefinindo o padrão como ACCEPT" iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT sleep 2 echo "Firewall finalizado." } case "$1" in "start") iniciar ;; "stop") parar ;; "restart") parar; iniciar ;; *) echo "Use os parâmetros restart, start ou stop" esac
Descompactar vários arquivos ao mesmo tempo de um diretório específico
Script para desligar o servidor
Configuração de rede no Virtualbox
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
O que esta havendo com o mercado de ti? (8)
Não consigo cadastrar nenhuma conta online (4)
Hotspot Mikrotik nao carrega pagina de login. (0)