Postado originalmente por
AndrioPJ
IMPORTANTE *************
Antes de tudo, atualize sua RB para versão 6 ou superior.
Verifique se o firmware dela está atualizado também...
Código :
/system routerboard print
/system routerboard upgrade
ps: nessas regras, eu estou supondo que os IPs dos seus clientes chegam até a RB Balance
Caso você tenha outra RB que faça a autenticação dos clientes, nesse caso, é preciso criar uma rota entre a RB Balance e a RB de autenticação.
********************************
Agora vamos definir alguns pontos do script (altere conforme sua rede)
Código :
IP InterfaceLINK1 = 192.168.2.2/24 - Ether1
LINK2 = 192.168.3.2/24 - Ether2
Clientes = 10.0.0.1/16 - Ether3
Gateway Verdadeiro
LINK1 = 192.168.2.1
LINK2 = 192.168.3.1
Gateway Falso (é usado na configuração do failover automatico)
LINK1 = 192.168.30.1
LINK2 = 192.168.31.1
Sites que iremos testar:
LINK1 = 208.67.222.220 (opendns)
LINK1 = 200.160.2.3 (registro.br)
LINK2 = 208.67.220.222 (opendns)
LINK2 = 200.160.2.4 (registro.br)
Agora vamos começar a criar nosso Balance.
#########################
1 - Verifique se o nome das Interfaces está conforme descrito acima, caso contrario, altere o nome no script.
Para verificar, vá em /ip interfaces
#########################
2 - Adicione os IPs nas suas respectivas interfaces
Código :
/ip address
ip address add address=192.168.2.2/24 interface=Ether1
ip address add address=192.168.3.2/24 interface=Ether2
ip address add address=10.0.0.1/8 interface=Ether3
#########################
3 - Configure o DNS
Vá em /ip dns
em "Servers" coloque os DNS do Google e do OpenDNS
8.8.8.8
208.67.222.222
8.8.4.4
208.67.220.220
#########################
4 - Ative o NAT Geral
Código :
/ip firewall nat
add action=masquerade chain=srcnat comment="### MASQUERADE ###"
#########################
5 - Site fora do Balance
Alguns criam regras para tirar determinado site das regras do Balance, fazendo-o passar pelo link default, sobrecarregando apenas um link.
Eu faço diferente, eu jogo eles em uma Regra de balance personalizada, com o per-connection-classifier=src-address
Dessa forma, termos uma divisão melhor do link.
Enquanto Cliente A acessa o UOL pelo Link 1
o Cliente B tem chance de acessar o UOL pelo Link 2
Código :
/ip firewall mangle
add action=jump chain=prerouting dst-port=443 in-interface=Ether3 jump-target=POLITICA_SrcAddress protocol=tcp
add action=jump chain=prerouting dst-address-list=loopback dst-address-type=!local in-interface=Ether3 jump-target=POLITICA_SrcAddress
add action=mark-routing chain=POLITICA_SrcAddress comment="POLITICA BALANCE - Fora Balance" dst-address-type=!local new-routing-mark=LINK1 passthrough=no per-connection-classifier=src-address:2/0
add action=mark-routing chain=POLITICA_SrcAddress dst-address-type=!local new-routing-mark=LINK2 passthrough=no per-connection-classifier=src-address:2/1
/ip firewall address-list
add address=200.155.80.0-200.155.255.255 comment=BRADESCO disabled=yes list=loopback
add address=200.220.186.0/24 comment=BRADESCO disabled=yes list=loopback
add address=200.220.178.0/24 comment=BRADESCO disabled=yes list=loopback
add address=200.155.86.0/24 comment="BRADESCO PJ" disabled=yes list=loopback
add address=200.155.82.0/23 comment="BRADESCO PJ" disabled=yes list=loopback
add address=187.6.86.0/24 comment="ISSNET ONLINE" list=loopback
add address=189.86.4.0/24 comment="ISSNET ONLINE" list=loopback
add address=161.148.231.0/24 comment="RECEITA FEDERAL" list=loopback
add address=72.46.128.0/19 comment="FILMES - VIDIG.BIZ" list=loopback
add address=77.247.176.0/21 comment="Vidig Videos" list=loopback
add address=200.201.166.0/24 comment="CONECTIVIDADE SOCIAL" list=loopback
add address=200.201.173.0/24 comment="CONECTIVIDADE SOCIAL" list=loopback
add address=200.201.174.0/24 comment="CONECTIVIDADE SOCIAL" list=loopback
add address=85.159.232.0/21 comment="Vidig Videos" list=loopback
add address=200.175.132.200/29 comment="ISSNET ONLINE" list=loopback
add address=187.45.224.0/19 comment="ISSNET ONLINE" list=loopback
add address=189.86.4.48/28 comment="NOTA CONTROL" list=loopback
add address=78.140.0.0/16 comment=VIDIG list=loopback
add address=94.75.192.0/18 comment=VIDIG list=loopback
add address=72.21.80.0/20 comment=VIDIG list=loopback
add address=93.174.88.0/21 comment=VIDIG list=loopback
add address=108.166.56.0/22 comment=VIDIG list=loopback
add address=201.73.169.55 list=loopback
add address=85.159.237.0/24 comment=CloudZilla list=loopback
add address=37.59.0.0/18 comment=CloudZilla list=loopback
add address=46.166.184.0/21 comment=CloudZilla list=loopback
#########################
6- Regras de Balance Geral
Código :
/ip firewall mangle
add action=mark-routing chain=prerouting comment="POLITICA BALANCE" dst-address-type=!local in-interface=Ether3 new-routing-mark=LINK1 passthrough=no per-connection-classifier=both-addresses:2/0
add action=mark-routing chain=prerouting dst-address-type=!local in-interface=Ether3 new-routing-mark=LINK2 passthrough=no per-connection-classifier=both-addresses:2/1
#########################
7- Regras de IP Route e Failover
Código :
/ip route
add distance=1 dst-address=0.0.0.0/0 gateway=192.168.30.1
add distance=2 dst-address=0.0.0.0/0 gateway=192.168.31.1
add comment="TESTE 1 LINK1" distance=1 dst-address=208.67.222.220/32 gateway=192.168.2.1 scope=10
add comment="TESTE 2 LINK1" distance=1 dst-address=200.160.2.3/32 gateway=192.168.2.1 scope=10
add comment="TESTE 1 LINK2" distance=1 dst-address=208.67.220.222/32 gateway=192.168.3.1 scope=10
add comment="TESTE 2 LINK2" distance=1 dst-address=200.160.2.4/32 gateway=192.168.3.1 scope=10
add check-gateway=ping disabled=no distance=1 dst-address=192.168.30.1/32 gateway=208.67.222.220 scope=10 target-scope=10
add check-gateway=ping disabled=no distance=2 dst-address=192.168.30.1/32 gateway=200.160.2.3 scope=10 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=192.168.31.1/32 gateway=208.67.220.222 scope=10 target-scope=10
add check-gateway=ping disabled=no distance=2 dst-address=192.168.31.1/32 gateway=200.160.2.4 scope=10 target-scope=10
add distance=3 gateway=192.168.30.1 routing-mark=LINK1
add distance=4 gateway=192.168.31.1 routing-mark=LINK1
add distance=3 gateway=192.168.31.1 routing-mark=LINK2
add distance=4 gateway=192.168.30.1 routing-mark=LINK2
#########################
8- (OPCIONAL) Caso queira poder acessar os modens que estão a frente do Balance (OPCIONAL)
Essas regras devem ficar acima das regras de balance (regras descritas nos itens 5 e 6)
Código :
/ip firewall mangle
add chain=prerouting comment="ACEITA REDE - PARA ACESSO AOS MODENS" disabled=yes dst-address=192.168.2.1/24 src-address=10.0.0.0/16
add chain=prerouting disabled=yes dst-address=192.168.3.1/24 src-address=10.0.0.0/16
#########################
8- (OPCIONAL) Caso queira ter o controle de direcionar um outro cliente/site para sair por determinado link (OPCIONAL)
Esas regras devem ficar acima das regras de balance (regras descritas nos itens 5, 6 e 8)
Para sair pelo LINK1
vá em /ip firewall address-list
e adicione o IP do cliente em uma lista com o nome CLIENTE1
ou adicione o IP do site em uma lista com nome SITE1
Regra para sair pelo Link1 (adicione-a acima de todas as outras):
Código :
/ip firewa mangle
add action=mark-routing chain=prerouting comment="REGRA 0 (Cliente) REGRA 1 (Site) POR LINK 1" in-interface=Ether3 new-routing-mark=LINK1 passthrough=no src-address=CLIENTE1
add action=mark-routing chain=prerouting dst-address-list=SITE1 in-interface=Ether3 new-routing-mark=LINK1 passthrough=no
Para sair pelo LINK2
vá em /ip firewall address-list
e adicione o IP do cliente em uma lista com o nome CLIENTE2
ou adicione o IP do site em uma lista com nome SITE2
Regra para sair pelo Link2 (adicione-a acima de todas as outras):
Código :
/ip firewa mangle
add action=mark-routing chain=prerouting comment="REGRA 2 (Cliente) REGRA 3 (Site) POR LINK 1" in-interface=Ether3 new-routing-mark=LINK2 passthrough=no src-address=CLIENTE2
add action=mark-routing chain=prerouting dst-address-list=SITE2 in-interface=Ether3 new-routing-mark=LINK2 passthrough=no