[FUG-BR] Dois links de internet, um inacessível de fora
Giancarlo Rubio
gianrubio em gmail.com
Quinta Agosto 21 08:40:54 BRT 2008
2008/8/20 Aline de Freitas <aline em bsd.com.br>:
> Citando Gule # <gule.cps em gmail.com>:
>
>> 2008/8/20 Aline de Freitas <aline em bsd.com.br>
>>
>>> Boa tarde!
>>>
>>> Estou com dois links de internet:
>>>
>>> (bge1) Virtua = 12 megas, IP Dinâmico
>>> (bge2) Ajato = 2 megas, IP fixo
>>>
>>> (bge0) Rede interna
>>>
>>> A prioridade para uso interno é a bge2, por conta da banda alta.
>>> Apenas para alguns
>>> acessos que exigem autenticação por IP criei rotas via bge1. Pela rede
>>> interna tenho os
>>> dois gateways das duas interfaces acessíveis, mas o gateway default é
>>> o via bge2. O
>>> problema é que externamente, apenas o IP da bge2 (dinâmico) é
>>> acessível. O IP da bge1
>>> (fixo) nem pinga. Quando eu seto a bge2 como default, então ela passa
>>> a ser acessível
>>> externamente. Alguém conhece alguma forma de fazer com que ambas as
>>> interfaces sejam
>>> acessíveis externamente?
>>>
>>> Aline
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>
>>
>> Firewall ? PF ?
>> Caso seja, basta liberar a porta que quer que seja acessivel na interface
>> desejada.
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
>
> Não me parece ser uma questão de portas, uma vez que de fora o IP nem pinga.
>
> Minhas regras no pf.conf:
>
> # Interfaces
> EXT_IF1 = "bge1"
> EXT_IF2 = "bge2"
> INT_IF = "bge0"
> VPN_IF = "tun0"
>
> # Redes
> LAN_NETWORK = "192.168.0.0/24"
> VPN_NETWORK = "10.8.0.0/24"
>
> # Portas publicas (abertas para Internet)
> # 4222 = SSH
> # 4280 = Apache (HTTP)
> # 42443 = Apache (HTTPS)
> # 8180 = Tomcat (HTTP)
> # 8443 = Tomcat (HTTPS)
> # 41194 = OpenVPN
> PUB_PORTS = "{ 4222, 4280, 42443, 8180, 8443, 41194 }"
>
> # Logar eventos em interface externa
> set loginterface $EXT_IF1
> set loginterface $EXT_IF2
>
> # Politica padrao de envio de rst em block
> set block-policy return
>
> # Ignorando loopback
> set skip on lo
>
> # Normalizacao
> scrub in all
>
> # NAT de VPN
> nat on $EXT_IF1 from $VPN_NETWORK to any -> ($EXT_IF1)
>
> # NAT de LAN
> nat on $EXT_IF1 from $LAN_NETWORK to any -> ($EXT_IF1)
> nat on $EXT_IF2 from $LAN_NETWORK to any -> ($EXT_IF2)
>
> # Bloqueando toda entrada por padrao
> block in
>
> # Saida livre
> pass out keep state
>
> # Comunicacao livre com VPN
> pass quick on $VPN_IF keep state
>
> # Comunicacao livre com LAN
> pass quick on $INT_IF keep state
>
> # Permitiondo acesso a portas publicas
> pass in on $EXT_IF1 proto tcp
> from any to
> ($EXT_IF1)
> port $PUB_PORTS flags S/SA keep state
> pass in on $EXT_IF2 proto tcp from any to ($EXT_IF2)
> port $PUB_PORTS flags S/SA keep state
>
> # Permitindo Ping
> pass in inet proto icmp all icmp-type echoreq keep state
>
> # Faz balanceamento de carga no trafego da rede interna
> pass in on $INT_IF route-to { $EXT_IF1, $EXT_IF2 } round-robin proto tcp from
> $LAN_NETWORK to any flags S/SA modulate state
> pass in on $INT_IF route-to { $EXT_IF1, $EXT_IF2 } round-robin proto {
> udp, icmp } from
> $LAN_NETWORK to any keep state
>
> # Regras gerais "pass out" para as interfaces externas
> 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 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
>
> # Roteia pacotes de qualquer IP na $EXT_IF1 para $EXT_Gw1 e o mesmo para
> # $EXT_IF2 e $EXT_GW2
> pass out on $EXT_IF1 route-to ( $EXT_IF2 ) from $EXT_IF2 to any
> pass out on $EXT_IF2 route-to ( $EXT_IF1 ) from $EXT_IF1 to any
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
O que seu pflog diz quando é bloqueado o ping por exemplo?
--
Giancarlo Rubio
Mais detalhes sobre a lista de discussão freebsd