Я пытаюсь понять сетевые мосты (не аппаратную, а программную реализацию), но получаю некоторое недопонимание.

Сетевой мост соединяет две части сети вместе. Например, мой компьютер подключен к локальной сети через eht0 и к Интернету через wlan0 . Чтобы разделить интернет-соединение в локальной сети, мне нужно соединить wlan0 и eth0 по сетевому мосту. Но почему моя таблица маршрутизации не дает тот же результат без сетевого моста? У меня есть доступ в Интернет, следовательно, таблица маршрутизации содержит записи, что все исходящие пакеты должны проходить через wlan0 , следовательно, пакеты, которые приходят из локальной сети, а также генерируемые мной, должны проходить через wlan0 .

  • Где моя ошибка?
  • Как сетевой мост вписывается в идеологию таблицы маршрутизации?

4 ответа4

5

Мост соединяет две части одной локальной сети, каждая часть использует один и тот же IP-адрес сети (т.е. они являются одной и той же IP-подсетью). Если другие компьютеры в локальной сети eth0 и другие компьютеры в сети WLAN0 используют один и тот же сетевой адрес и маску подсети, вам необходимо объединить два сегмента. Некоторые настольные операционные системы могут делать это, но их необходимо настроить для пересылки пакетов через сегменты локальной сети. Мост является функцией уровня 2 (она работает на MAC-адресах)

Это не то же самое, что маршрутизация, при маршрутизации компьютеров в локальной сети ETH0 сетевой адрес (отличный от IP-подсети) будет отличаться от компьютеров в сегменте WLAN0. В этом случае компьютер должен будет выполнять маршрутизацию, а не шунтирование. Маршрутизация - это функция уровня 3 (она работает с адресацией уровня 3, такой как IP-адреса)

Таблицы маршрутизации применяются только к маршрутизации, а не к мостам.

Смотрите Википедию для подробных описаний.

2

Когда вы соединяете два интерфейса, они становятся связанными; все, что входит в один и предназначено для хоста на другом, автоматически передается без изменений. Это позволяет пакетам проходить свободно. Коммутаторы работают как мост между всеми портами коммутатора.

Вы все еще можете достичь того же эффекта путем маршрутизации и пересылки пакетов. Это обеспечивает гораздо больший контроль, поскольку пакеты проверяются и фильтруются, но это происходит за счет увеличения времени обработки. Чтобы фактически включить маршрутизацию входящих пакетов, вы должны включить пересылку в ядре и добавить соответствующие правила брандмауэра. Затем ядро попытается перенаправить любые входящие пакеты, которые не предназначены для самой системы. Это также позволяет системе выполнять трансляцию сетевых адресов (NAT) при необходимости.


Итак, ваша ошибка не в логике, просто в том, что вы не настроили свою систему для перенаправления / пересылки входящих пакетов.

Мосты действительно не вписываются в идеологию таблицы маршрутизации, потому что с ними не связана маршрутизация. Компьютер на wlan0 сможет видеть и общаться напрямую с любым компьютером на eth0 . Это отличается от маршрутизации, когда компьютеры на wlan0 могут общаться с компьютерами на eth0 и наоборот, они не делают этого напрямую. Вместо этого компьютеры общаются с маршрутизатором и доверяют, что маршрутизатор отправит его в соответствующий пункт назначения.

1

Часто в контексте программного обеспечения "сетевой мост" вы должны явно разрешить прохождение трафика.

Сетевой мост часто является дополнительным интерфейсом, который должен быть включен.

# ifconfig bridge0 addm fxp0 addm fxp1 up
# ifconfig fxp0 up
# ifconfig fxp1 up

Обратите внимание, что в приведенном выше примере fxp0 и fxp1 связаны с использованием интерфейса bridge0.

Смотрите больше: Сетевой мост в FreeBSD

1

Bridge соединит две сети, как вы сказали, например, если вы сконфигурируете bridge как ваш ПК, то он переведет wlan0 на eth0 как вам нужно, но ваш компьютер не сможет получить доступ к Интернету, так как он настроен как мост, и он не получит никакого IP, так как мост работает на уровне 2 (точно так же, как коммутатор). Если вы действительно хотите направить wlan0 к eth0 вместо мостового соединения, тогда вы можете выполнить следующие три шага, это как маршрутизатор и работа на уровне 3, шаги:

  1. включить переадресацию IP ядра
  2. Masqing с предварительной или пост-маршрутизацией (фактически передает запрос eth0 в wlan0)
  3. Добавьте правильную таблицу маршрутизации (правила доступа к шлюзу, а также точно так же, как брандмауэр, вы можете ограничить доступ пользователей к Интернету)

Вот и все. Теперь любой из клиентов eth0 может получить доступ в интернет. Также настроенный ПК также может подключаться к Интернету.

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