У меня есть следующие настройки (кроме части «пакеты с адресом сервера»): http://www.directupload.net/file/d/4062/jo9qswvv_png.htm В основном eth0, eth1 и wap. eth1 и wap соединяются с br0.

Таким образом, у моего сервера есть два IP-адреса, но только имя хоста ("Сервер") на eth0. Проблема в том, что пакеты, приходящие с моста (например, моего планшета), адресованные серверу (через имя хоста), выходят из порта eth1 и снова входят в порт eth0.

Я не знаю, как правильно маршрутизировать эти пакеты. И нужно ли использовать iptables или ebtables. Или проще решить входящий из wap dns-запрос "Сервер" с ip br0 (второй ip сервера)?

Надеюсь это понятно. Скажите, если вам нужно больше или другое объяснение. Заранее спасибо.

(Система: Ubuntu Server 14.04.1)

1 ответ1

0

То, что вы хотите достичь, может быть сделано, но это требует определенной работы.

Позвольте мне сначала уточнить, что это не имеет ничего общего с iptables или ebtables . Вы должны думать о сетевых картах (включая мосты) как о окнах: они открываются снаружи, а не внутри. Таким образом, и eth0 и br0 отправляют пакеты с внешней стороны, то есть по кабелю Ethernet, и принимают пакеты в одном направлении. Таким образом, вы не можете уговорить br0 на отправку пакетов внутрь вашего сервера или на eth0 для приема пакетов, поступающих изнутри сервера.

Что вы можете сделать, это следующее:

  1. создайте интерфейс tap0 и соедините свой интерфейс wifi с ним, а не с eth1 ; это означает, что вам также придется настроить DHCP-сервер, прослушивающий новый мост, назовем его br-new ;

  2. настройте eth1 точно так же, как вы использовали для настройки br0 ;

  3. перенаправить весь трафик с br-new на eth1; Вы делаете это посредством policy-routing , иногда также называемой source-routing . Для этого требуется вторая таблица маршрутизации, где находится конфигурация для eth1 , включая шлюз по умолчанию. Это на самом деле тривиально, просто прочитайте здесь .

  4. Когда вы настраиваете свой 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-адрес.

Это все. Если вы никогда не делали этого, вам определенно потребуется время для его реализации. Если бы я был на вашем месте, я бы сохранил свою текущую конфигурацию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .