[FUG-BR] FreeBSD 10-RELEASE + IPFW + MAC Address

Márcio Elias marcioelias em gmail.com
Segunda Fevereiro 10 17:46:29 BRST 2014


2014-02-10 17:27 GMT-02:00 Márcio Elias <marcioelias em gmail.com>:

>
> 2014-02-10 17:22 GMT-02:00 Edinilson - ATINET <edinilson em atinet.com.br>:
>
> ----- Mensagem original -----
>> > De: "Márcio Elias" <marcioelias em gmail.com>
>> > Para: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
>> > <freebsd em fug.com.br>
>> > Enviadas: Segunda-feira, 10 de fevereiro de 2014 12:04:24
>> > Assunto: [FUG-BR]  FreeBSD 10-RELEASE + IPFW + MAC Address
>> >
>> > Bom dia pessoal da lista,
>> >
>> > eu tenho diversos servidores FreeBSD rodando (versões 8.x e 9.x) como
>> > routers para subredes de meus clientes (trabalho em um ISP).
>> >
>> > Pois bem, agora com o lançamento do FreeBSD 10 e seus aperfeiçoamentos
>> > para
>> > virtualização estou virtualizando meus servidores, mais estou tento um
>> > problema que não tinha nas versões anteriores do Free.
>> >
>> > Basicamente eu controlo o acesso de meus clientes por MAC, com IPs
>> fixados
>> > no DHCP e jogo cada cliente em um pipe para Upload e outro para
>> Download.
>> >
>> > Cada servidor tem 2 interfaces de rede e estou utilizando o Natd
>> (divert,
>> > ainda não tentei o IPFIREWALL_NAT).
>> >
>> > Abaixo seguem as regras (mínimo para facilitar o entendimento) para um
>> > cliente, que funcionavam em versoes anteriores e não estão funcionando
>> na
>> > versão 10.
>> >
>> > ipfw add 50 divert natd ip from any to me in recv ${natd_interface}
>> > ipfw add 50 divert natd ip from 192.168.0.0/16 to any out xmit
>> > ${natd_interface}
>> > ipfw add 1000 pipe 150 ip from any to 192.168.5.18 MAC XX:XX:XX:XX:XX:XX
>> > any
>> > ipfw add 1010 pipe 155 ip from 192.168.5.18 to any MAC any
>> > XX:XX:XX:XX:XX:XX
>> > ipfw add 65535 allow ip from any to any
>> >
>> > os pipes:
>> >
>> > 00155:   1.000 Mbit/s    0 ms burst 0
>> > q131227  50 sl. 0 flows (1 buckets) sched 65691 weight 0 lmax 0 pri 0
>> > droptail
>> >  sched 65691 type FIFO flags 0x0 0 buckets 0 active
>> >
>> > 00150:   4.000 Mbit/s    0 ms burst 0
>> > q131222  50 sl. 0 flows (1 buckets) sched 65686 weight 0 lmax 0 pri 0
>> > droptail
>> >  sched 65686 type FIFO flags 0x0 0 buckets 0 active
>> >
>> > dentro do dhcpd.conf tenho essa configuração para este cliente:
>> >
>> > host 1570 {  hardware ethernet XX:XX:XX:XX:XX:XX;   fixed-address
>> > 192.168.5.18;   }
>> >
>> > O cliente pega o IP esperado, vejo tráfego normal em todas as regras,
>> mais
>> > um tráfego muito baixo na regra 1010, consigo pingar pra qq lugar, (pq
>> não
>> > estou colocando ICMP nas regras de restrição) mais não consigo ter
>> > navegação no cliente.
>> >
>> > Se eu deixo tudo como está e retiro a regra 1010, a navegação ocorre
>> > normalmente, o único problema é que o upload não estará restrito ao mac
>> > address do cliente.
>> >
>> > Alguém pode me dar alguma ideia de o que pode estar acontecendo? Sabem
>> se
>> > teve alguma alteração no IPFW ou no Free na versão 10 que alterou esse
>> > comportamento?
>> >
>> > O estranho é que a mesma regra de firewall para tráfego de fora para o
>> > cliente funciona, mais do cliente pra fora não.
>> >
>> > Agradeço qualquer ideia.
>> >
>> > --
>> > Att.
>> > __________________________________
>> > Márcio Elias Hahn do Nascimento
>> >
>> > Araranguá - SC
>> > Cel:   (55) 48-9661-0233
>> > msn: marcioeliashahn em hotmail.com
>> > -------------------------
>> > Histórico: http://www.fug.com.br/historico/html/freebsd/
>> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>>
>> A regra
>> ipfw add 1010 pipe 155 ip from 192.168.5.18 to any MAC any
>> XX:XX:XX:XX:XX:XX
>>
>> está correta?
>>
>>
>> Nao seria:
>> ipfw add 1010 pipe 155 ip from 192.168.5.18 to any MAC XX:XX:XX:XX:XX:XX
>>
>> Edinilson
>> ------------------------------------------
>> ATINET
>> Tel Voz: (0xx11) 4412-0876
>> http://www.atinet.com.br
>>
>>
>>
>> Não, ao contrário do IP, a sintaxe do MAC é destino, origem...
>
> ai está a explicação do man page do IPFW
>
> { MAC | mac } dst-mac src-mac
>              Match packets with a given dst-mac and src-mac addresses,
> speci-
>              fied as the any keyword (matching any MAC address), or six
> groups
>              of hex digits separated by colons, and optionally followed by
> a
>              mask indicating the significant bits.
>
>
> Ou seja esta regra era supostamente para adicionar ao pipe 155 todo o
> tráfego vindo do IP 192.168.5.18 com MAC XX:XX:XX:XX:XX:XX e indo a
> qualquer lugar (any) com qualquer MAC (any).
>
> Funciona perfeitamente nas versões anteriores...
>
> --
> Att.
> __________________________________
> Márcio Elias Hahn do Nascimento
>
> Araranguá - SC
> Cel:   (55) 48-9661-0233
> msn: marcioeliashahn em hotmail.com
>


Pessoal, o que estava estranho, ficou mais estranho ainda.....

a dita regra 1010 que considerava o IP + MAC, fiz um teste considerando
somente o IP ficando assim

ipfw add 1010 pipe 155 ip from 192.168.5.18 to any

e pasmem, não funcionou....

Ou seja, o problema está em filtrar o Upload, agora porque será?


-- 
Att.
__________________________________
Márcio Elias Hahn do Nascimento

Araranguá - SC
Cel:   (55) 48-9661-0233
msn: marcioeliashahn em hotmail.com


Mais detalhes sobre a lista de discussão freebsd