Описание тега livecd
Чтобы ответить на вопрос, как говорится, я получил совет от друга сетевых гуру, чтобы преодолеть LAN и WAN интерфейсы, а затем использовать ebtables
, чтобы отфильтровать то, что вам преодолеть:
lan0: [добавьте локальную сеть IP-адреса и использовать как интерфейс LAN]
интерфейс eth0 (локальная сеть)
на eth1 (wan-сети) [добавить Ван ИПС и использовать в качестве WAN-интерфейса]
# Перенаправления трафика к/от приставок
ebtables -вперед -я от eth0 -eth1 и о-с $STB_MAC -Джей принимает
ebtables -вперед -я на eth1 -eth0 в О-Д $STB_MAC -Джей принимает
# Разрешить ответы от DHCP
ebtables -вперед -я из eth0 -о интерфейсе eth0 -д ФФ:ФФ:ФФ:ФФ:ФФ:ФФ -п протокол IPv4 --IP-адрес-прото УДП --ИС --спорт 67 и IP-68 dport-J может принимать
# Разрешить запросы ARP
ebtables -вперед -я из eth0 -о интерфейсе eth0 -д ФФ:ФФ:ФФ:ФФ:ФФ:ФФ -п --Арп Арп-ИС-ДСТ ! $LAN_SUBNET -Джей принимает
# Глобальная сеть не является частью локальной сети
ebtables -a ввод -я на eth1 -J, его падение
ebtables -вперед -я на eth1 -J, его падение
ebtables -вперед -вывода на eth1 -J, его падение
ebtables -A выход -вывода на eth1 -J, его падение
# Разрешить eth1, который будет использоваться для доступа к глобальной сети
ebtables -Т broute -это BROUTING -я на eth1 -д $STB_MAC -Джей принимает
ebtables -Т broute -это BROUTING -я на eth1 -д $STB_MAC -Джей принимает
ebtables -Т broute -это BROUTING -я на eth1 -J, его падение
Однако в данном случае оказалось, что переключатель провайдер делает порт-основанное VLAN тегирования (один VLAN на порт ПК и другой влан на STB порты).
Поэтому, чтобы избавиться от маршрутизатора провайдера, мне нужно:
- Настроить две сети VLAN на сетевой карте шлюза глобальной сети
- Переместить настройках WAN IP от сетевого адаптера к глобальной сети влан (ВКЛ. нац)
- Черный список MAC-адресов БВУ от DHCP моего шлюза сервера
- Мост внутренняя провайдера VLAN с моей локальной сети
- (Необязательно) добавление правила брандмауэра, чтобы избежать LAN пакеты от утечки в ИСП влан.
Это работает, потому что сервер провайдера по DHCP уже только ответы на запросы DHCP приставок, поэтому исключение их по результатам шлюзом в все ответы DHCP ответ либо шлюз или провайдер DHCP-сервера. Если через сервер dnsmasq
, исключение может быть сделано, используя, например, DHCP-сервер-хост=01:23:45:*:*:*,игнорировать
В /и т. д./dnsmasq.конф
.
Все остальное может быть сделано с использованием systemd-networkd конфигурационные файлы:
- Создавать .netdev
файлы для виртуальных локальных сетей
- Добавьте их (как влан
записи) на .сетевой
файл сопоставления в глобальной сети сетевой карты
- Создавать .сети
файлы для виртуальных локальных сетей
- Создайте .netdev
файл для локальной сети/СТБ мост
- Добавить СТБ влан И лан сетевой адаптер к мосту
Вот полный пример набор команду systemd-networkd конфигурационные файлы:
в /etc/systemd в/сети/провайдера-ссылка.сеть
- настройка сети для WAN-сетевая карта:Здесь мы просто настроить виртуальные локальные сети. Убедитесь, что для изменения идентификаторов VLAN на один интернет-провайдер использует. Этот пример использует 1234 для WAN VLAN и 56 для внутреннего (IPTV) на один.
[Матч] Имя=eno1 [Сеть] Влан=eno1.1234 Влан=eno1.56
файл /etc/systemd в/сети/eno1.1234.netdev
- Ван влан:[NetDev] Имя=eno1.1234 Вид=влан [ЛС] ИД=1234
файл /etc/systemd в/сети/eno1.56.netdev
- провайдера внутренние VLAN для IPTV:[NetDev] Имя=eno1.56 Вид=влан [ЛС] ИД=56
в /etc/systemd в/сети/дома-моста.netdev
- провайдера-влан/дома-Лан мост устройство:[NetDev] Имя=br0 Вид=мост
в /etc/systemd в/сети/дома-моста.сеть
- сетью для упомянутого моста:Убедитесь, что не включить здесь DHCP-сервер. Как помощью systemd-networkd не позволяют настроить черный список Маков в игнор, вам потребуется использовать другой DHCP-сервер (например, сервер dnsmasq).
[Матч] Имя=br0 [Сеть] Адрес=192.168.0.1/24 IPForward=да IPMasquerade=да DHCP=нет Сервер DHCP=нет
в /etc/systemd в/сеть/домашняя сеть.сети
- сети файл для LAN сетевых карт:[Матч] Имя=enp9s0 [Сеть] Мост=br0
в /etc/systemd в/сети/провайдера-влан-Ван.сеть
- шлюза глобальной конфигурации:При этом используется DHCP - если у вас есть статический настройки, изменить
адрес
/шлюз
/ДНС
настройки.[Матч] Имя=eno1.1234 [Сеть] IPForward=да Протокол DHCP=да
в /etc/systemd в/сети/ИСП-влан-внутренние.сети
- сети файл для внутреннего влан:[Матч] Имя=eno1.56 [Сеть] Мост=br0
/и т. д./dnsmasq.в conf
- конфигурации DHCP-сервера:# Отключить DNS-сервера - будет осуществляться посредством systemd-networkd порт=0 # Включить и настроить DHCP-сервер протокол DHCP-диапазон=192.168.0.129,192.168.0.254,12 ч. # Укажите, какие интерфейсы слушать слушай-адрес=127.0.0.1 слушай-адрес=::1 слушай-адрес=192.168.0.1 # Игнорировать запросы DHCP от приставок DHCP-сервер-хост=01:23:45:*:*:*,игнорировать