iptables filtragem de endereço mac não funciona

2

Eu bloqueio todos os padrões de porta pelo ufw

e adicione regras de iptables como esta:

sudo iptables -A INPUT -p tcp --dport 1723 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT

então eu listo as regras INPUT do iptables:

sudo iptables -L INPUT --line-numbers

Chain INPUT (policy DROP)
num  target                    prot opt source               destination
1    ACCEPT                    udp  --  anywhere             anywhere            udp dpt:domain
2    ACCEPT                    tcp  --  anywhere             anywhere            tcp dpt:domain
3    ACCEPT                    udp  --  anywhere             anywhere            udp dpt:bootps
4    ACCEPT                    tcp  --  anywhere             anywhere            tcp dpt:bootps
5    ufw-before-logging-input  all  --  anywhere             anywhere
6    ufw-before-input          all  --  anywhere             anywhere
7    ufw-after-input           all  --  anywhere             anywhere
8    ufw-after-logging-input   all  --  anywhere             anywhere
9    ufw-reject-input          all  --  anywhere             anywhere
10   ufw-track-input           all  --  anywhere             anywhere
11   ACCEPT                    tcp  --  anywhere             anywhere            tcp dpt:1723 MAC 00:11:22:33:44:55

mas não consigo visitar meu servidor: 1723

Há alguma coisa errada?

Eu uso o Ubuntu 11.10

Editar01:

Eu adiciono coisas seguidas:

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines

-A ufw-before-input -p tcp --dport 1723 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT

e depois listo as regras

sudo iptables -L  ufw-before-input  --line-numbers
Chain ufw-before-input (1 references)
num  target           prot opt source               destination
1    ACCEPT           tcp  --  anywhere             anywhere            tcp dpt:1723 MAC 00:11:22:33:44:55
2    ACCEPT           all  --  anywhere             anywhere
3    ACCEPT           all  --  anywhere             anywhere            state RELATED,ESTABLISHED
4    ufw-logging-deny all  --  anywhere             anywhere            state INVALID
5    DROP             all  --  anywhere             anywhere            state INVALID
6    ACCEPT           icmp --  anywhere             anywhere            icmp destination-unreachable
7    ACCEPT           icmp --  anywhere             anywhere            icmp source-quench
8    ACCEPT           icmp --  anywhere             anywhere            icmp time-exceeded
9    ACCEPT           icmp --  anywhere             anywhere            icmp parameter-problem
10   ACCEPT           icmp --  anywhere             anywhere            icmp echo-request
11   ACCEPT           udp  --  anywhere             anywhere            udp spt:bootps dpt:bootpc
12   ufw-not-local    all  --  anywhere             anywhere
13   ACCEPT           udp  --  anywhere             224.0.0.251         udp dpt:mdns
14   ACCEPT           udp  --  anywhere             239.255.255.250     udp dpt:1900
15   ufw-user-input   all  --  anywhere             anywhere

e ainda não funciona ... claro, depois de sudo service ufw restart ainda conecto o servidor em 1723

    
por Tony Lee 26.03.2012 / 05:31

2 respostas

2

As duas máquinas estão na mesma sub-rede ethernet? endereços mac são apenas locais para uma sub-rede. Se houver um roteador no meio, o servidor verá o endereço MAC do último roteador que o pacote cruzar.

Além disso, iptables -v -L é útil para depuração, pois você pode ver quais regras estão sendo acionadas.

    
por tumbleweed 26.03.2012 / 12:24
3

A regra 9 na sua corrente INPUT pula para ufw-reject-input , que por sua vez rejeita o pacote.

Se você quiser que suas adições funcionem com ufw , sugiro ler a documentação mostrada por man ufw-framework .

Você provavelmente pode conseguir o que deseja criando um arquivo /etc/ufw/before.rules com conteúdo como:

*filter
-A ufw-before-input -p tcp --dport 1723 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT
    
por James Henstridge 26.03.2012 / 05:57