metrathon
(usa Debian)
Enviado em 11/12/2012 - 15:17h
Olá galera,
Estou tendo um problema na empresa e não consegui resolver, já procurei no VOL e não achei algo para resolver, claro que posso ter procurado do jeito errado, mas vamos lá.
Na empresa utilizamos ASTERISK e temos contas VOIP nele, implantamos também um Debian 6.0 com IPTABLES, fiz as regras tudo certinho, exceto a que direciona a parte de som para o Asterisk.
As portas que passam o som no ASTERISK é de 10000 a 20000.
Desde já muito obrigado a todos.
Veja as regras que criei:
## INICIO/REINICIO DO FIREWALL
case $1 in
start|restart)
echo "Iniciando Firewall"
## VARIAVEIS DAS PLACAS DE REDE
NET="eth1"
RLOCAL="eth0"
## VARIAVEIS DE REDE
IPASTERISK="172.168.11.202"
IPFIREWALL="172.168.11.204"
IPREDE="172.168.11.0/16"
IPVALIDO="200.229.XXX.XXX"
INET="0/0"
## HABILITANDO MODULOS
echo "Carregando Modulos Principais"
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ip_tables
modprobe ipt_LOG
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ipt_limit
modprobe ipt_mac
modprobe ipt_mark
modprobe ipt_multiport
modprobe ipt_owner
modprobe ipt_state
modprobe ipt_tcpmss
modprobe ipt_tos
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
echo "Modulos Carregados ..... [ok]"
## LIMPAR REGRAS ANTERIORES
iptables -F
iptables -t nat -F
## DEFINIR POLITICA PADRAO (NEGAR TUDO)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
## COMPARTILHAR INTERNET
## IP FIXO
iptables -t nat -A POSTROUTING -o $NET -j SNAT --to 200.229.XXX.XXX
## ATIVAR ROTEAMENTO
echo "1" > /proc/sys/net/ipv4/ip_forward
## LIBERAR A PROPRIA MAQUINA LOOPBACK PARA ACESSO A INTERNET
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
##
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
## LIBERAR/BLOQUEAR A REDE LOCAL
iptables -A INPUT -s $IPREDE -j ACCEPT
iptables -A FORWARD -s $IPREDE -j ACCEPT
iptables -A FORWARD -d $IPREDE -j ACCEPT
## LIBERAR/BLOQUEAR PING
iptables -A INPUT -s 0/0 -i $NET -p icmp -j ACCEPT
## LIMITE CONTRA PING DA MORTE E DoS
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP
## DESCARTE DE PACOTES NÃO IDENTIFICADOS ICMP
iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP
iptables -A INPUT -m state -p icmp --state INVALID -j DROP
iptables -A FORWARD -m state -p icmp --state INVALID -j DROP
## LIBERADO ACESSO ASTERISK
iptables -A INPUT -p udp -s $INET -d $IPVALIDO --dport 5060 -j ACCEPT
iptables -A FORWARD -p udp -d $IPASTERISK --dport 5060 -j ACCEPT
iptables -t nat -A PREROUTING -d $IPVALIDO -p udp --dport 5060 -j DNAT --to-destination $IPASTERISK:5060
iptables -A INPUT -p udp -s $INET -d $IPVALIDO --dport 10000:20000 -j ACCEPT
iptables -A FORWARD -p udp -d $IPASTERISK --dport 10000:20000 -j ACCEPT
iptables -t nat -A PREROUTING -d $IPVALIDO -p udp --dport 10000:20000 -j DNAT --to-destination $IPASTERISK:10000-20000
## LIBERAR/BLOQUEAR ACESSO SQUID
iptables -A FORWARD -o eth0 -s $IPREDE -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp -s $IPREDE -d $IPFIREWALL --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s $IPREDE -d $IPFIREWALL --dport 443 -j ACCEPT
## JOGANDO TRAFEGO DA PORTA 80 PARA O SQUID TRANSPARENT
iptables -t nat -A PREROUTING -s $IPREDE -p tcp --dport 80 -j REDIRECT --to-port 3128