Buckminster
(usa Debian)
Enviado em 30/12/2013 - 16:03h
Teste essas:
iptables -A FORWARD -p udp --sport 5060 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp --dport 5060 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp --sport 10000:20000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp --dport 10000:20000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -p udp --dport 5060 -d 200.150.10.99 -j MASQUERADE
iptables -t nat -A PREROUTING -p udp -i eth1 --dport 5060 -j DNAT --to 200.150.10.99
iptables -t nat -A POSTROUTING -p udp --dport 10000:20000 -d 200.150.10.99 -j MASQUERADE
iptables -t nat -A PREROUTING -p udp -i eth1 --dport 10000:20000 -j DNAT --to 200.150.10.99
E sete bindaddr=200.150.10.99 e bindport=5060, nat=yes.
Para pacotes gerados na própria máquina no Iptables é na chain OUTPUT, mas nesse caso acredito não ser necessário.
O pacote será gerado pelo Asterisk e as chains POSTROUTING e PREROUTING da tabela nat trabalharão eles antes de sair e/ou chegar de acordo com as regras.
nat :: Esta tabela é consultada quando for encontrado um pacote que criou uma nova conexão. É composta de três built-ins: PREROUTING (para alterar pacotes no momento que eles chegam, antes do roteamento ou compartilhamento.), OUTPUT (para alterar pacotes gerados localmente antes do roteamento ou compartilhamento), POSTROUTING (para alterar pacotes quando eles estão prestes a sair, depois do roteamento ou compartilhamento).
filter :: Esta é a tabela padrão (se a opção "-t" não definir outra tabela, será utilizada esta tabela). Ela contém a chain "built-in INPUT" (entrada - para pacotes destinados a sockets locais, pacotes destinados para a própria máquina), FORWARD (para pacotes sendo roteados através da máquina, pacotes que passam pela máquina) e OUTPUT (para pacotes gerados localmente, pacotes oriundos da própria máquina com destino para fora dela).
Mas lembre-se que você deverá colocar também uma regra de NAT para a internet na placa eth2 (acho), daí é com você decidir como vai fazer, se vai dedicar um link somente para VOIP.
Você pode criar uma regra MASQUERADE para a eth1 também, mas se o link não for bom ocorrerá aquela "cortada" de voz que te falei antes.
E essa(s) regra(s) de MASQUERADE para internet devem vir depois das regras acima.
Ou, como já falei, crie rotas distintas, talvez com iproute.