[AsteriskBrasil] RES: RES: RES: RES: Asterisk com 2 links de internet (RESOLVIDO)

Estefanio Brunhara estefanio em brunhara.com
Domingo Janeiro 5 10:26:51 BRST 2014


Ok, Mike!

 

Seguinte,  vou contar um pouco mais sobre a minha situação, primeiro sou
assinante do fórum a um ano e meio ou 2 não me lembro direito,  porém nunca
tinha feito perguntas, talvez por não ter me apresentado todos me ajudaram
no nível  1, ou se já, não sabiam se eu tinha o conhecimento básico. Sobre o
asterisk tenho ele  funcionando  a mais de 2 anos, sempre funcionou bem,
porém ele sempre esteve atrás do firewall,  este firewall foi escrito por
mim, tem todos os recurso controle de banda, 2 links, proxy, interface para
gerenciamento, etc... etc... Como é uma coisa que não faço todos os dias, as
vezes o conhecimento adormece.  Este final de ano, resolvi por questões
praticas, juntar os dois em uma só maquina, com isto obtendo economia de
energia, nobreak, espaço no rack, manutenção, investimento, etc.. etc..

 

Com relação a rede, minha rede é  192.168.0.0/22 isto mesmo 22.  Tenho uma
rede com mais de 380 computadores preciso de uma mascara de rede diferente.
O script que postei aqui no fórum era só para ter o mínimo mesmo, se fosse
postar o meu firewall completo, são muitas linhas e isto ia tirar o foco do
problema, ia gerar ene outras perguntas. Assim como o caso da mascara de
rede.

 

Bom, depois de muitos testes  conseguir funcionar da seguinte forma  “SEM IP
ROUTE/IP RULE”, ainda no ambiente mínimo para os teste . Talvez possa
aparecer outros problemas mais teste são teste, e preciso fazer todos para
ter uma conclusão mais firme.

 

Como falei no meus primeiros posts,  se o ip da eth1 esta na mesma maquina,
que abriga o asterisk,  não faria sentido enviar os pacotes do asterisk para
uma tabela diferente da main. Veja como como fiz para conseguir funcionar. 

 

# route –n

Tabela de Roteamento IP do Kernel

Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso
Iface

200.150.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

10.2.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth2

192.168.0.0     0.0.0.0         255.255.252.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth1

169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth2

169.254.0.0     0.0.0.0         255.255.0.0     U     1004   0        0 eth0

0.0.0.0         200.150.10.1    0.0.0.0         UG    0      0        0 eth1
ß Os processo locais vão pegar a 1 rota como saída 

0.0.0.0         10.2.0.253      0.0.0.0         UG    0      0        0 eth2

 

Isto é o básico do básico,  o que entra por um link sai por ele mesmo. Por
isto o ssh e o http estavam e estão funcionando bem.  

 

Preciso de 2 rotas na tabela main, para que o squid possa usar as tags:

 

tcp_outgoing_address 200.150.10.99 ip-link1

tcp_outgoing_address 10.2.0.254 ip-link2

 

No asterisk  configurei  o bindaddr=200.150.10.99 bindport=5060, estas
configurações fizeram meu asterisk parar de responder na eth2,   nos
telefones configurei para procurar o ip 200.150.10.99,  os telefones que
estão na rede 192.168.0.0 conseguiram se conectar no 200.150.10.99, com as
seguinte regras.

 

# iptables –nvL –t nat 

 

15860 5344K ACCEPT     udp  --  *      *       0.0.0.0/0
200.150.10.99       multiport dports 5060,5061

34428 3317K ACCEPT     udp  --  *      *       0.0.0.0/0
200.150.10.99       multiport dports 10000:20000

 

56 12853 MASQUERADE  udp  --  *      eth1    0.0.0.0/0            0.0.0.0/0
multiport dports 5060:5082

    7   634 MASQUERADE  udp  --  *      eth1    0.0.0.0/0
0.0.0.0/0           multiport dports 10000:20000

 

 

Vou dar o post como resolvido, caso haja outras considerações abro outro.

 

Mais uma vez obrigado a todos pela atenção!

 

Estefânio Brunhara

San Giovanne Informática  Ltda.

Soluções e integrações c/ Sistemas Inteligentes 

Windows/Linux a melhor opção Empresa/Internet

(31)3375-1202 3082-3181 8846-2330

 

Ao encaminhar esta mensagem, por favor:

1. Apague o meu e-mail e o meu nome.

2. Apague também os endereços dos amigos antes de reenviar.

3. Encaminhe como cópia oculta (Cco ou Bcc) aos SEUS destinatários.

Agindo sempre assim dificultaremos a disseminação de vírus, spams e banners.

 

Pense antes de imprimir, quanto menos papel mais árvores.

 

 

 

 

 

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Mike
Tesliuk
Enviada em: sábado, 4 de janeiro de 2014 23:15
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: RES: RES: Asterisk com 2 links de
internet

 



Bom, antes de mais nada, nós damos as dicas, você tem que pesquisar e
procurar entender oque você está tentando fazer.

voce configurou a primeira regra usando um /24 para o seu ip publico , é
isso mesmo ? é uma rede /24 que você tem ?

presumindo que voce tenha, tente tirar tudo que voce nao precise, pra depois
voce montar colocar o resto das suas regras.

a primeira coisa a fazer funcionar é as duas tabelas de roteamento.

seu script nao tem tratamento pra remover as rotas que voce cria e taus,
arrume isso pois cada regra que voce faz vai ficar acumulando e talvez as
coisas nao funcionem direito.

você criou uma tabela pra cada "conexao" , você nao deveria fazer isso.

você deixa uma normal, na tabela main, e cria apenas a segunda.

voce nao precisa adicionar todas as rotas que voce adicionou em cada tabela.

voce adiciona tudo na main e apenas cria a separação para a "segunda" rede
que possue gateway.

provavelmente vai ser bom voce especificar as redes locais no seu sip.conf
tb


isso estando funcionando é só voce adicionar a rule para o fwmark e as
regras do iptables

voce pode ver suas regras de iptables com o comando

iptables -t mangle -L -n -v -x

com isso você vai ver se passou algum pacote pela sua regra






Em 03/01/14 20:50, Estefanio Brunhara escreveu:

Pessoal, fiz alguns teste usando  os comando abaixo, porém ainda não
consegui acertar as rotas, para que eu posso usar o link1 somente com o
asterisk, alguém pode me judar criticando o que eu fiz ?

 

Obrigado!

 

 

script básico das rotas para testes 

#!/bin/bash

### Criando tabela link1 ###
ip route add table link1 200.150.10.0/24 dev eth1 proto kernel scope link
src 200.150.10.99
ip route add table link1 10.1.0.0/24 dev eth0 proto kernel scope link src
10.1.0.254
ip route add table link1 192.168.0.0/22 dev eth0 proto kernel scope link src
192.168.0.254
ip route add default via 200.150.10.99 table link1

### Criando tabela link2 ###
ip route add table link2 10.2.0.0/24 dev eth2 proto kernel scope link src
10.2.0.254
ip route add table link2 10.1.0.0/24 dev eth0 proto kernel scope link src
10.1.0.254
ip route add table link2 192.168.0.0/22 dev eth0 proto kernel scope link src
192.168.0.254
ip route add default via 10.2.0.253 table link2

ip rule add fwmark 1 lookup link1
ip rule add from 200.150.10.99 lookup link1
:x


#ip rule
0: from all lookup local
32764: from 200.150.10.99 lookup link1
32765: from all fwmark 0x1 lookup link1
32766: from all lookup main
32767: from all lookup default

ip route show table link1
200.150.10.0/24 dev eth1 proto kernel scope link src 200.150.10.99
10.1.0.0/24 dev eth0 proto kernel scope link src 10.1.0.254
192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.254
default via 200.150.10.99 dev eth1

ip route show table link2
10.2.0.0/24 dev eth2 proto kernel scope link src 10.2.0.254
10.1.0.0/24 dev eth0 proto kernel scope link src 10.1.0.254
192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.254
default via 10.2.0.253 dev eth2

Script firewall básico para testes 

#!/bin/bash

iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables

iptables -t mangle -A OUTPUT -p udp -m multiport --sport 5060,10000:20000 -j
MARK --set-mark 1
iptables -t mangle -A INPUT -p udp -m multiport --dport 5060,10000:20000 -j
MARK --set-mark 1

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


iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -o eth+ -j MASQUERADE
:x



#iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5060 to:200.150.10.99
DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:10000:20000 to:200.150.10.99

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE udp -- 0.0.0.0/0 200.150.10.99 udp dpt:5060
MASQUERADE udp -- 0.0.0.0/0 200.150.10.99 udp dpts:10000:20000
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


# iptables -nL -t mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination
MARK udp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 5060,10000:20000 MARK set
0x1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MARK udp -- 0.0.0.0/0 0.0.0.0/0 multiport sports 5060,10000:20000 MARK set
0x1

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

 

 






_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7
Intercomunicadores para acesso remoto via rede IP e telefones IP
Conheça todo o portfólio em  <http://www.Khomp.com> www.Khomp.com
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscribe em listas.asteriskbrasil.org

 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20140105/168b5dd4/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil