[FUG-BR] Duvida para implementar LOAD BALANCE com PF

Thiago Gomes thiagomespb em gmail.com
Quarta Julho 8 16:36:04 BRT 2009


fiquei curioso.. como seria então o uso do route-to usando
os paramentros do cleyton ?

2009/7/8 Rogério Moura <rogerpop em gmail.com>:
> Olá Cleyton,
> o seu balanceamento não esta funcionando, é porque você não colocou a rota
> padrão.
> o ROUTE-TO apenas roteia o pacote para uma interface específica, mas o SO
> tem que ter a rota padrão dele, aqui eu tenho o balanceamento funcionando
> redondo, mas o free tem rota padrão, o resto é só especificar com route-to
> mesmo para o tráfego que sai da sua rede e o reply-to para o tráfego que
> entra nela.
>
> falou!
>
>
> 2009/7/8 Cleyton Bertolim <cbertolim em gmail.com>
>
>> Boa tarde pessoal!
>>
>> Estou tentando colocar para funcionar um balanceamento de link (EM
>> FREEBSD-7.2-RELEASE) aqui em meu laboratorio de testes, mas estou
>> derrapando em alguma coisa.
>> Segui os exemplos que peguei na NET, em especial o tutorial do PF no
>> site do OpenBSD, e outros exemplos que encontrei garimpando, mas nao
>> esta dando certo.
>> Abaixo tem os arquivos de configuracao deste sistema em questao:
>> /etc/sysctl.conf, /etc/rc.conf e /etc/pf.conf, e tambem a saida do
>> comando: netstat -rn, para que vejam minha tabela de roteamento.
>> Para ser bem sincero, acho que meu erro esta no roteamento. Se olharem
>> ali no arquivo rc.conf, poderao notar que nao coloquei nenhuma rota
>> padrao, porque em meu entendimento, as duas rotas deveriam ficar
>> ativas pela opcao "route-to" do pf.conf. Mas nao sei o porque nao esta
>> funcionando.
>> Por favor, se alguem soubre o que estou fazendo de errado e puder me
>> indicar o caminho eu agradeco.
>>
>>
>> ##############################
>> ######### SYSCTL.CONF #######
>> lb# more /etc/sysctl.conf
>> net.inet.ip.forwarding=1
>>
>> #############################
>> ######### RC.CONF ###########
>> lb# more /etc/rc.conf
>> hostname="lb.localhost.br"
>> ifconfig_re0="inet 192.168.230.254  netmask 255.255.255.0"   # REDE LOCAL
>> ifconfig_re1="inet 10.0.0.2  netmask 255.0.0.0"   # LINK INTERNET 1
>> ifconfig_re2="inet 172.16.0.2  netmask 255.255.0.0"   # LINK INTERNET 2
>>
>> pf_enable="YES"
>> pf_rules="/etc/pf.conf"
>> pf_flags=""
>>
>> pflog_enable="YES"
>> pflog_logfile="/var/log/pflog"
>> pflog_flags=""
>>
>> ############################
>> ######## PF.CONF ###########
>> int_if = "re0"
>> ext_if1 = "re1"
>> ext_if2 = "re2"
>> ext_gw1 = "10.0.0.1"
>> ext_gw2 = "172.16.0.1"
>> lan_net = "192.168.230.0/24"
>> ip_fw_internal = "192.168.230.254"
>>
>> set skip on lo
>>
>> nat pass on $ext_if1 from $lan_net to any -> ($ext_if1)
>> nat pass on $ext_if2 from $lan_net to any -> ($ext_if2)
>>
>> #--- LINK INTERNET 1 -----------------------------------####
>> pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
>>
>> pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
>> pass out on $ext_if1 proto { udp, icmp } from any to any keep state
>>
>> pass in log quick on $ext_if1 inet proto tcp from any to any port 22
>> flags S/SA synproxy state
>>
>> #--- LINK INTERNET 2 -----------------------------------####
>> pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
>>
>> pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
>> pass out on $ext_if2 proto { udp, icmp } from any to any keep state
>>
>> pass in log quick on $ext_if2 inet proto tcp from any to any port 22
>> flags S/SA synproxy state
>>
>> #--- Rede Local @ 192.168.230.254/24 -------------------####
>> pass out log quick on $int_if all modulate state
>> pass out quick on $int_if inet proto icmp all modulate state
>>
>> pass in log quick on $int_if all modulate state
>> pass in quick on $int_if inet proto icmp all modulate state
>>
>> pass in on $int_if route-to \
>>        { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
>>        proto tcp from $lan_net to any flags S/SA modulate state
>>
>> pass in on $int_if route-to \
>>        { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
>>        proto { udp, icmp } from $lan_net to any keep state
>>
>> #--- Loopback @ 127.0.0.1/8 ----------------------------####
>> pass out quick on lo0 all
>> pass in quick on lo0 all
>>
>> ###################################
>> ####### NETSTAT -RN ###############
>> lb# netstat -rn
>> Routing tables
>>
>> Internet:
>> Destination        Gateway            Flags    Refs      Use  Netif Expire
>> 10.0.0.0/8         link#2             UC          0        0    re1
>> 10.0.0.1           00:40:f4:fc:ed:2e  UHLW        2        0    re1    645
>> 127.0.0.1          127.0.0.1          UH          0        0    lo0
>> 172.16.0.0/16      link#3             UC          0        0    re2
>> 172.16.0.1         link#3             UHLW        1        0    re2
>> 192.168.230.0/24   link#1             UC          0        0    re0
>> 192.168.230.20     00:17:08:31:b8:93  UHLW        1     1809    re0    741
>> 192.168.230.254    00:08:54:45:c1:87  UHLW        1       37    lo0
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


Mais detalhes sobre a lista de discussão freebsd