То, что вы хотите достичь, может быть сделано, но это требует определенной работы.
Позвольте мне сначала уточнить, что это не имеет ничего общего с 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-адрес.
Это все. Если вы никогда не делали этого, вам определенно потребуется время для его реализации. Если бы я был на вашем месте, я бы сохранил свою текущую конфигурацию.