[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