-
Dúvidas no Iptables
A todos um bom-dia!
Estou necessitando, mais uma vez, da ajuda de vocês.
Tenho um servidor proxy com firewall Iptables e um servidor de dados, onde armazeno os dados da empresa e alguns aplicativos usados pelos usuários. Os dois servidores rodam na empresa A e estão funcionando com Debian.
A algum tempo precisei liberar as portas do terminal service (3389) para que um outro servidor (Windows com terminal Service), rodando na empresa B, pudesse ser acessado e tudo funcionou tranquilamente.
Acontece que agora este servidor Windows que estava na empresa B veio também para a empresa A e os usuários da empresa B necessitam acessar este servidor, via Terminal Service. Criei as regras no iptables para redirecionar os acessos a este servidor e NADA FUNCIONA.
Coloco meu código do IPTABLES para que vcs possam analisar e ajudarem-me, se for possível.
Desde já agradeço a atenção de todos.
Código Iptables:
#!/bin/bash
iniciar(){
# Carregar os módulos
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_state
/sbin/modprobe ipt_MASQUERADE
# Flushing no firewall
/sbin/iptables -F
/sbin/iptables -Z
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
# Habilitando roteamento
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Liberando INPUT para interface de loopback
/sbin/iptables -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPT
/sbin/iptables -A INPUT -p ALL -s 10.3.104.100 -i lo -j ACCEPT
/sbin/iptables -A INPUT -p ALL -s 201.19.111.10 -i lo -j ACCEPT
# Melhorando a performance do firewall
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Liberar as respostas dos DNS para o firewall
/sbin/iptables -A INPUT -p udp -s 200.149.55.142 --sport 53 -d 201.19.111.10 -j ACCEPT
/sbin/iptables -A INPUT -p udp -s 200.165.132.148 --sport 53 -d 201.19.111.10 -j ACCEPT
# Logando e removendo pacotes fragmentados
/sbin/iptables -A INPUT -i eth1 -f -j LOG --log-prefix "Pacote INPUT fragmentado: "
/sbin/iptables -A INPUT -i eth1 -f -j DROP
# Evitando Spoofing
/sbin/iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 224.0.0.0/4 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 240.0.0.0/5 -j DROP
# Respostas de ping
/sbin/iptables -A INPUT -p icmp --icmp-type 8 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
# Liberando o acesso do squid para rede interna
/sbin/iptables -A INPUT -p TCP -i eth0 -s 10.3.104.0/24 --dport 3128 -j ACCEPT
# Liberando acesso ao ssh
/sbin/iptables -A FORWARD -p TCP --dport 22 -j ACCEPT
# Libera resposta de servidores www para o squid
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 80 -j ACCEPT
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 443 -j ACCEPT
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 20 -j ACCEPT
/sbin/iptables -A INPUT -p UDP -i eth1 --sport 21 -j ACCEPT
# Logando e mandando embora as porcarias
/sbin/iptables -A INPUT -p tcp --dport 3128 -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -j LOG --log-prefix "Pacote input descartado: "
/sbin/iptables -A INPUT -j DROP
# Descartando pacotes invalidos
/sbin/iptables -A FORWARD -m state --state INVALID -j DROP
# Aceitando conexões estabilizadas e relacionadas com outras feitas nos pcs da rede interna
/sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Outlook transformando nomes dos servidores smtp e pop em IP
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 53 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.165.132.148 --dport 53 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT
# Terminal Services
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 3389 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.165.132.148 --dport 3389 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT
# Terminal Services para fora
#/sbin/iptables -A FORWARD -j ACCEPT -p tcp --dport 3389
#/sbin/iptables -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 10.3.104.99
# Terminal Services para fora
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 3389 -j DNAT --to 10.3.104.99:3389
/sbin/iptables -t nat -A POSTROUTING -s 0/0 -p tcp --dport 3389 -d 10.3.104.99 -j ACCEPT
# Voip
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 5060 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.165.132.148 --dport 5060 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT
# Voip
/sbin/iptables -A FORWARD -p tcp -s 10.3.104.0/24 -d 200.149.55.142 --dport 5060 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 10.3.104.0/24 -d 200.165.132.148 --dport 5060 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT
# Outras portas para Voip
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 --dport 5004:5082 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 --dport 40000:60000 -m state --state ESTABLISHED -j ACCEPT
#/sbin/iptables -A OUTPUT -m multiport -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 5004:5082 -j ACCEPT
#/sbin/iptables -A FORWARD -m multiport -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 40000:60000 -j ACCEPT
#Liberando p/ rede interna as portas que o outlook utiliza para acessar servidores externos
/sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 25 -j ACCEPT
/sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 110 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 110 -j ACCEPT
# Terminal Services
/sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 3389 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 3389 -j ACCEPT
# Voip
/sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 3060 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 3060 -j ACCEPT
# Radmim
/sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 4899 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 4899 -j ACCEPT
# Logando e dropando todo restante
/sbin/iptables -A FORWARD -j LOG --log-prefix "Pacote forward descartado: "
/sbin/iptables -A FORWARD -j DROP
# Marcarando a conexão
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
}
parar(){
/sbin/iptables -F
/sbin/iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac
-
já tentou adicionar uma rota da rede b dentro da rede a?
route add -net redeB gw IPDAMAQUINAREDEA dev PLACADEREDEQUETEMLIGACAODAREDEACOMREDEB
route add -net 10.0.0.0/24 gw 10.0.1.0 dev eth0