Я хочу, чтобы мой сервер Linux действовал как маршрутизатор. На сервере имеется четыре порта Ethernet (eth0, eth1, eth2, eth3) и одна беспроводная карта (wlan0). eth0 - это шлюз (WAN), eth1-3 - это порты LAN. Как настроить dhcpd для автоматического назначения IP-адреса после подключения любого устройства к eth1-3?
1 ответ
Вы делаете мост между портами локальной сети. Это виртуальный интерфейс, который соединяет интерфейсы на уровне Ethernet (MAC), как коммутатор. (Коммерческие домашние маршрутизаторы обычно имеют встроенный коммутатор для достижения моста.)
Обратите внимание, что в отличие от коммутаторов, которые имеют выделенный аппаратный чип, ваш мост будет полностью программным, а это означает, что трафик LAN-LAN также будет потреблять процессор.
Один ручной метод создания мостового интерфейса в Linux:
ip link add br0 type bridge
ip link set br0 up
Добавьте несколько портов:
ip link set eth1 master br0
ip link set eth2 master br0
(Вы также найдете учебники, описывающие brctl
; это немного более старый инструмент, но он все же достигает того же результата.)
Наконец настройте IP на br0. Обратите внимание, что мостовые порты (eth1, eth2) сами по себе не имеют IP-адресов, а только весь мост (br0). Таким образом, вам нужно только маршрутизировать между двумя интерфейсами, eth0 как WAN и br0 как LAN.
Хотя ручной метод везде одинаков, автоматическая настройка, к сожалению, различается в разных дистрибутивах. NetworkManager, netctl, ifupdown и т.д. Имеют поддержку моста.
Вы можете использовать инструменты bridge
и brctl
для просмотра подробной информации о внутренних элементах моста, например, вывести список изученных MAC-адресов для каждого порта.