То, что вы хотите достичь, может быть сделано, но это требует определенной работы.
Позвольте мне сначала уточнить, что это не имеет ничего общего с iptables или ebtables . Вы должны думать о сетевых картах (включая мосты) как о окнах: они открываются снаружи, а не внутри. Таким образом, и eth0 и br0 отправляют пакеты с внешней стороны, то есть по кабелю Ethernet, и принимают пакеты в одном направлении. Таким образом, вы не можете уговорить br0 на отправку пакетов внутрь вашего сервера или на eth0 для приема пакетов, поступающих изнутри сервера.
Что вы можете сделать, это следующее:
создайте интерфейс tap0 и соедините свой интерфейс wifi с ним, а не с eth1 ; это означает, что вам также придется настроить DHCP-сервер, прослушивающий новый мост, назовем его br-new ;
настройте eth1 точно так же, как вы использовали для настройки br0 ;
перенаправить весь трафик с br-new на eth1; Вы делаете это посредством policy-routing , иногда также называемой source-routing . Для этого требуется вторая таблица маршрутизации, где находится конфигурация для eth1 , включая шлюз по умолчанию. Это на самом деле тривиально, просто прочитайте здесь .
Когда вы настраиваете свой DHCP-сервер для беспроводной сети, убедитесь, что ваш новый интерфейс br-new связан с именем Server .
Например, если вы используете dnsmasq в качестве DHCP-сервера, подойдет следующая строка:
DHCP-хост = 4C: Е6: 76: С4: 54: 24, сервер, 192.168.73.1,12h
Это назначает интерфейсу с MAC-адресом 4C:E6:76:C4:54:24 имя Server и статический IP-адрес 192.168.73.1 для аренды сроком на 12 часов. Если вы используете Debian или один из его производных, это означает, что вы можете определить интерфейс br-new в файле /etc/networking/interfaces , но его тип не dhcp и не static, а manual , потому что это позволит dnsmasq дать ему IP-адрес.
Это все. Если вы никогда не делали этого, вам определенно потребуется время для его реализации. Если бы я был на вашем месте, я бы сохранил свою текущую конфигурацию.