Я пытаюсь перенаправить DNS-трафик по мосту на локальный DNS-сервер, но он не работает. В качестве мысленного упражнения я решил заблокировать весь трафик, и это тоже не работает. Вот моя установка:
#/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
результаты для sudo iptables -L
(MAC-адреса для eth0 и 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
результаты для 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)
Это только часть, в которой я не был уверен eth0
и eth1
получил случайные IP-адреса.
Настройка подключения:
Router -> (eth0)Server(eth1) -> Switch -> devices
На сервере я пытаюсь сбросить все пакеты. Но устройства, подключенные к eth1, могут отправлять и получать весь трафик. Моя настоящая цель - перенаправить весь DNS-трафик на локальный DNS-сервер.
Трафик, идущий по мосту, не обязательно (обязательно) проходит через сетевой фильтр. Проверить значение net.bridge.bridge-nf-call-iptables
sysctl; если это 0
, тогда в этом проблема - установите его на 1
и все снова будет хорошо.
В ядре 3.18 или новее вам может потребоваться загрузить br_netfilter
модуль, чтобы сделать указанный выше sysctl доступным.