Ir ao conteúdo
  • Cadastre-se

Iptables / Redirecionamento de Portas


hugo.alexandre

Posts recomendados

Boa tarde galera,

Sei que existem muitos topicos sobre redirecionamento de portas no iptables aqui e em outros foruns. Mas so estou postanto mais um porque após fazeer de tudo para conseguir redirecionar algumas portas nao consegui com neunhma soluçção encontada. Vou colocar aqui meu script completo do iptables pois tenho quase certeza que é alguma regra que nao fiz errado.

Desde ja agradeço a atenção de quem possa me ajudar.

#!/bin/sh

internet="eth1 "

redelocal="eth0"

echo "####################ATIVANDO IPTABLES#######################"

iptables -F INPUT

iptables -F OUTPUT

iptables -F FORWARD

iptables -F POSTROUTING -t nat

iptables -F PREROUTING -t nat

iptables -F -t nat

echo "Limpando as regras ..................................[ OK ]"

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

echo "Politica Default das Cadeias ........................[ OK ]"

echo "0" > /proc/sys/net/ipv4/ip_forward

echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

/sbin/modprobe iptable_nat

/sbin/modprobe ip_conntrack

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_nat_ftp

/sbin/modprobe ipt_LOG

/sbin/modprobe ipt_REJECT

/sbin/modprobe ipt_MASQUERADE

/sbin/modprobe ip_gre

/sbin/modprobe ip_conntrack_pptp

/sbin/modprobe ip_nat_pptp

echo "Carregando os modulos ...............................[ OK ]"

#iptables -N SCANNER

iptables -A SCANNER -m limit --limit 15/m -j LOG --log-prefix "FIREWALL: port scanner: "

iptables -A SCANNER -j DROP

iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i $internet -j SCANNER

iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $internet -j SCANNER

iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $internet -j SCANNER

iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $internet -j SCANNER

iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $internet -j SCANNER

iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $internet -j SCANNER

iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $internet -j SCANNER

echo "Scaner de Portas ....................................[ OK ]"

iptables -A INPUT -p tcp --dport 1433 -j DROP

iptables -A INPUT -p tcp --dport 6670 -j DROP

iptables -A INPUT -p tcp --dport 6711 -j DROP

iptables -A INPUT -p tcp --dport 6712 -j DROP

iptables -A INPUT -p tcp --dport 6713 -j DROP

iptables -A INPUT -p tcp --dport 12345 -j DROP

iptables -A INPUT -p tcp --dport 12346 -j DROP

iptables -A INPUT -p tcp --dport 20034 -j DROP

iptables -A INPUT -p tcp --dport 31337 -j DROP

iptables -A INPUT -p tcp --dport 6000 -j DROP

echo "Negando portas invalidas ............................[ OK ]"

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -A INPUT -p 47 -j ACCEPT

iptables -A INPUT -p tcp --dport 77 -j ACCEPT

iptables -A INPUT -p udp --dport 33434:33523 -j DROP

iptables -A INPUT -p tcp --dport 113 -j REJECT

iptables -A INPUT -p igmp -j REJECT

iptables -A INPUT -p tcp --dport 443 -j REJECT

echo "Rejeitando lixo :....................................[ OK ]"

iptables -A FORWARD -s 0/0 -d 64.13.161.61 -p tcp --dport 443 -j DROP

iptables -A FORWARD -s 0/0 -d 64.13.161.61 -p udp --dport 443 -j DROP

iptables -A FORWARD -d 0/0 -s 64.13.161.61 -p tcp --sport 443 -j DROP

iptables -A FORWARD -d 0/0 -s 64.13.161.61 -p udp --sport 443 -j DROP

# Conectividade Social

iptables -t nat -A PREROUTING -s 131.195.2.21 -d 0.0.0.0/0 -j ACCEPT #CONTABIL4

iptables -t nat -A PREROUTING -s 131.195.2.24 -d 0.0.0.0/0 -j ACCEPT #PESSOAL1

iptables -t nat -A PREROUTING -s 131.195.2.11 -d 0.0.0.0/0 -j ACCEPT #CPD-NOTEBOOK

iptables -t nat -A PREROUTING -i eth0 -p tcp -d ! 200.201.174.0/24 --dport 80 -j REDIRECT --to-port 3128

echo "Regras DP e Contabilidade ...........................[ OK ]"

#iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 131.195.2.201:3389

#iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT

iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i $internet --dport 3389 -j DNAT --to-destination 131.195.2.201

echo "Regras Terminal Server ..............................[ OK ]"

iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i $internet --dport 77 -j DNAT --to-destination 131.195.2.200

# PORTA 3128 - ACEITA PARA A REDE LOCAL

iptables -A FORWARD -i $redelocal -p tcp --dport 3128 -j ACCEPT

iptables -A FORWARD -i $redelocal -p tcp --dport 80 -j ACCEPT

# Portas Asterisk

iptables -A FORWARD -i $redelocal -p tcp --dport 5060 -j ACCEPT

iptables -A FORWARD -i $redelocal -p udp --dport 5060 -j ACCEPT

iptables -A FORWARD -i $redelocal -p udp --dport 10000:20000 -j ACCEPT

iptables -A FORWARD -i $redelocal -p tcp --dport 4559 -j ACCEPT

iptables -A FORWARD -i $redelocal -p udp --dport 4559 -j ACCEPT

echo "Regras Asterisk .....................................[ OK ]"

iptables -t nat -A PREROUTING -i $internet -p tcp --dport 1723 -j DNAT --to 131.195.2.250:1723

iptables -t nat -A PREROUTING -i $internet -p tcp --dport 1723 -j DNAT --to 131.195.2.250

iptables -t nat -D PREROUTING -i $internet -p tcp --dport 1723 -j DNAT --to 131.195.2.250

iptables -t nat -A PREROUTING -i $internet -p tcp --dport 1723 -j DNAT --to 131.195.2.250

iptables -t nat -A PREROUTING -i $internet -p gre -j DNAT --to 131.195.2.250

iptables -A INPUT -i eth1 -p tcp -d 131.195.2.202 --dport 1723 -j ACCEPT

iptables -A INPUT -i eth1 -p gre -j ACCEPT

iptables -A FORWARD -p TCP --dport 1723 -j ACCEPT

iptables -A FORWARD -p 47 -j ACCEPT

echo "Regras VPN ..........................................[ OK ]"

# Redireciona porta 80 para 3128 (squid)

iptables -t nat -A PREROUTING -i $redelocal -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A FORWARD -i $redelocal -p tcp --dport 53 -j ACCEPT

iptables -A FORWARD -i $redelocal -p udp --dport 53 -j ACCEPT

iptables -A FORWARD -i $redelocal -p tcp --dport 110 -j ACCEPT

iptables -A FORWARD -i $redelocal -p udp --dport 110 -j ACCEPT

iptables -A FORWARD -i $redelocal -p tcp --dport 25 -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

iptables -A INPUT -p udp --dport 443 -j ACCEPT

iptables -A FORWARD -i $redelocal -p tcp --dport 443 -j ACCEPT

iptables -A FORWARD -p tcp --dport 20 -j ACCEPT

iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --set

iptables -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: '

iptables -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset

iptables -A FORWARD -p tcp --syn --dport 22 -m recent --name sshattack --set

iptables -A FORWARD -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: '

iptables -A FORWARD -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset

iptables -A FORWARD -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A FORWARD -p tcp --dport 22 -j ACCEPT

iptables -A FORWARD -p tcp --dport 3456 -j ACCEPT #RECEITANET

iptables -A FORWARD -p tcp --dport 5006 -j ACCEPT #SICOOB

iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT #SICOOB

iptables -A FORWARD -p tcp --dport 6330 -j ACCEPT #CHECKLINE

iptables -A FORWARD -p tcp --dport 1723 -j ACCEPT #VPN

iptables -A FORWARD -p 47 -j ACCEPT #VPN

iptables -A FORWARD -p tcp --dport 8090 -j ACCEPT #VPN

iptables -A INPUT -i $internet -m state --state ! ESTABLISHED,RELATED -j DROP

iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

echo "Cadeia de Entrada ...................................[ OK ]"

iptables -t nat -F POSTROUTING

iptables -t nat -A POSTROUTING -o $internet -j MASQUERADE

echo "Ativando o mascaramento .............................[ OK ]"

iptables -A FORWARD -i $internet -j ACCEPT

iptables -A FORWARD -o $internet -m state --state ESTABLISHED,RELATED -j ACCEPT

echo "Ativando o acesso ftp.. .............................[ OK ]"

iptables -A INPUT -p all -j DROP

iptables -A FORWARD -p all -j DROP

echo "Rejeitando saida e entrada ..........................[ OK ]"

iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

echo "Quais sockets sao validos ...........................[ OK ]"

# Proteç contra tronjans

iptables -A INPUT -p TCP -i $internet --dport 666 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 4000 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 6000 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 6006 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 16660 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 27444 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 27665 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 31335 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 34555 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 35555 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 3128 -j DROP

iptables -A INPUT -p TCP -i $internet --dport 8080 -j DROP

iptables -A INPUT -p TCP -i $internet --dport telnet -j DROP

iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

#iptables -A INPUT -i $internet -m unclean -j DROP

iptables -A FORWARD -p tcp --dport 135 -i $internet -j REJECT

iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

iptables -A FORWARD -o $internet -i $redelocal -j ACCEPT

echo "Caregado tabela filter ............................. [ OK ]"

echo "1" > /proc/sys/net/ipv4/ip_forward

echo "##################FIM DE REGRAS IPTABLES####################"

exit 0

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois...

Bem, tava com um problema pareçido, mas fiz isso numa VMW para um trabalho:

Roteando duas redes:

Configuração das placas de redes, ambas com conexão Bridged:

eth0: 192.168.0.1/24

GW: 10.10.0.1

eth1: 10.0.0.1/24

GW: 192.168.0.1

Para que as máquinas da rede 192.168.0.0 possam "enxergar" as máquinas da rede 10.10.0.0 proceda:

- Primeiro adicione uma rota default de cada estação para a placa de rede do servidor, por exemplo, a máquina 192.168.0.2:

# route add default gw 192.168.0.1

No Windows na configuração da rede coloca no GW 192.168.0.1

E para a rede 10.0.0.0 aponte para a outra placa:

# route add default gw 10.10.0.1

No Windows na configuração da rede coloca no GW 10.10.0.1

- Agora no servidor, ative o repasse de pacotes:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Feito isso, precisa habilitar as rotas no servidor, proceda da seguinte forma:

# route add -net 192.168.0.1 netmask 255.255.255.0 gw 10.10.0.1

e

# route add -net 10.0.0.1 netmask 255.255.255.0 gw 192.168.0.1

Obs.: Num sei se vai poder ajudar, mas fiz isso no meu trabalho antes de criar qualquer regra no Iptables e as duas redes pingaram uma na outra.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!