iptables configuração para ponte, redirecionar o tráfego de DNS

1

Estou tentando encaminhar o tráfego de DNS em uma ponte para um servidor de DNS local e não estava funcionando. Como um exercício de pensamento, decidi bloquear todo o tráfego e isso também não está funcionando. Aqui está minha configuração:

#/etc/network/interfaces
auto lo
iface lo inet loopback

iface eth0 inet manual
iface eth1 inet manual

#allow-hotplug br0
auto br0
iface br0 inet static
bridge_ports eth0 eth1
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

resultados para sudo iptables -L (os endereços MAC são para eth0 e eth1):

Chain INPUT (policy DROP)
target     prot opt source               destination         
DROP       udp  --  anywhere             anywhere             udp dpt:domain
DROP       tcp  --  anywhere             anywhere             tcp dpt:domain
DROP       all  --  anywhere             anywhere             MAC 10:6A:FD:32:07:7F
DROP       all  --  anywhere             anywhere             MAC B7:23:EC:30:BE:B7

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere      

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere 

resultados para ifconfig :

br0       Link encap:Ethernet  HWaddr 10:6A:FD:32:07:7F 
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2602:30a:c038:f980::3ec/128 Scope:Global
          inet6 addr: fe80::129a:ddff:fe41:907d/64 Scope:Link
          inet6 addr: 2602:30a:c038:f980:6806:dd7b:14eb:a2b0/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:39900 (38.9 KiB)  TX bytes:11753 (11.4 KiB)

eth0      Link encap:Ethernet  HWaddr B7:23:EC:30:BE:B7
          inet addr:169.254.199.229  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:60265 errors:0 dropped:0 overruns:0 frame:0
          TX packets:53413 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:52083764 (49.6 MiB)  TX bytes:12746138 (12.1 MiB)

eth1      Link encap:Ethernet  HWaddr 10:6A:FD:32:07:7F 
          inet addr:169.254.166.137  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:52904 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11527039 (10.9 MiB)  TX bytes:53215987 (50.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:200 errors:0 dropped:0 overruns:0 frame:0
          TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:14428 (14.0 KiB)  TX bytes:14428 (14.0 KiB)  

Esta é apenas uma parte que eu não tinha certeza sobre eth0 e eth1 recebi endereços IP aleatórios.

Configuração da conexão:

Router -> (eth0)Server(eth1) -> Switch -> devices

O servidor é onde estou tentando descartar todos os pacotes. Mas dispositivos conectados a eth1 e são capazes de enviar e receber todo o tráfego. Meu objetivo real é encaminhar todo o tráfego DNS para um servidor DNS local.

    
por John 04.09.2015 / 05:22

1 resposta

0

O tráfego passando por uma ponte não passa necessariamente pelo netfilter. Verifique o valor do net.bridge.bridge-nf-call-iptables sysctl; se for 0 , então esse é o problema - configure para 1 e tudo ficará bem novamente.

No kernel 3.18 ou posterior, você pode precisar carregar o módulo br_netfilter para disponibilizar o sysctl acima.

    
por 04.09.2015 / 05:44