Usando o iptables para permitir a LAN e soltar WAN de dispositivos desconhecidos

1

Eu postei isso no stackoverflow, mas foi off-topic.

Eu olhei em volta e não consegui encontrar a resposta para a minha pergunta. Eu estou usando um pi framboesa como um gateway de internet entre minha LAN e duas WANs. Aqui está um exemplo da minha cadeia FORWARD no iptables.

Chain FORWARD (policy ACCEPT 541 packets, 164K bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 wifi.usb   all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC 00:11:22:33:44:55
0     0 other.dev  all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC 66:77:88:99:aa:bb
0     0 Local      all  --  *      *       0.0.0.0/0            0.0.0.0/0

Estes dispositivos saltam para as suas próprias cadeias para contagem de bytes e ACCEPT. O salto para Local supõe pegar qualquer pacote que não seja dos dispositivos acima e REJECT WAN, mas permitir LAN.

Chain Local (0 references)
pkts bytes target     prot opt in     out     source               destination
0     0 ACCEPT     all  --  *      *       192.168.100.0/24       192.168.100.0/24
67  698 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Todas as cadeias de usuários para dispositivos saltam para ACCEPT.

Chain wifi.usb (1 references)
pkts bytes target     prot opt in     out     source               destination
0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

No entanto, com o salto para a regra Local no FORWARD, todo o tráfego da Internet entra na cadeia Local e é REJEITADO. Como posso ainda usar a cadeia local para capturar dispositivos desconhecidos sem capturar os conhecidos?

Edit: Uma coisa que eu fiz esquecer de mencionar é quando eu filtrar por endereço IP soure ele funciona como eu quero, mas eu perfer a filtrar pelo endereço MAC.

    
por Randell 03.02.2015 / 00:42

1 resposta

0

Eu descobri qual era o problema. E isso respondeu a 2 problemas que eu tive.

Estou usando isso para contar os bytes que um usuário usa e, em seguida, encaminhá-lo para o destino. O problema era que o uso não estava somando junto com a pergunta acima.

Esqueci de incluir uma regra para downloads para cada regra de uploads. Adicionando estas regras,

277K  330M wifi.usb   all  --  *   *   0.0.0.0/0       192.168.100.3
144K   20M wifi.usb   all  --  *   *   192.168.100.3   0.0.0.0/0       MAC 00:11:22:33:44:55
   0     0 Local      all  --  *   *   0.0.0.0/0       0.0.0.0/0

Então, ainda tive que usar o endereço IP, pois não posso usar o iptables para especificar um endereço MAC de destino. Mas com a correção ainda posso ter certeza de que o endereço IP corresponde ao endereço MAC.

Se alguém tiver dúvidas sobre isso, posso tentar explicar mais.

    
por 11.02.2015 / 07:25