Оглавление:

Мостовой межсетевой экран с OrangePi R1: 4 шага
Мостовой межсетевой экран с OrangePi R1: 4 шага

Видео: Мостовой межсетевой экран с OrangePi R1: 4 шага

Видео: Мостовой межсетевой экран с OrangePi R1: 4 шага
Видео: Межсетевые экраны. Основные функции. Схемы применения. Примеры (Степанов Евгений) 2024, Ноябрь
Anonim
Мостовой межсетевой экран с OrangePi R1
Мостовой межсетевой экран с OrangePi R1

Мне пришлось купить еще один Orange Pi:) Это произошло потому, что мой SIP-телефон начал звонить посреди ночи со странных номеров, и мой провайдер VoIP предположил, что это произошло из-за сканирования портов. Другая причина - я слишком часто слышал о взломе маршрутизаторов, и у меня есть маршрутизатор, который мне не разрешено администрировать (Altibox / Норвегия). Мне также было любопытно, что происходит в моей домашней сети. Поэтому я решил установить брандмауэр-мост, прозрачный для домашней сети TCP / IP. Я протестировал его на ПК, затем решил купить OPi R1 - меньше шума и меньше энергопотребления. Если у вас есть своя причина иметь такой аппаратный брандмауэр - это проще, чем вы думаете! Не забудьте купить радиатор и приличную карту micro SD.

Шаг 1. ОС и кабели

ОС и кабели
ОС и кабели

Я установил Armbian:

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

Единственное замечание к конвертеру - во многих руководствах не предлагается подключение VCC. У меня он работал только при подключенном питании (3,3 В - единственный квадратный вывод на плате). И он должен был перегреться, если не был подключен к USB до включения питания. Я предполагаю, что R1 имеет распиновку, совместимую с OPi Zero, у меня проблемы с поиском схемы R1.

После загрузки Armbian, изменения пароля root и некоторых обновлений / обновлений я обнаружил два интерфейса ('ifconfig -a') - eth0 и enxc0742bfffc6e. Проверьте это, потому что они вам понадобятся сейчас - самое удивительное, что для превращения вашего R1 в мост Ethernet вам нужно только настроить файл / etc / network / interfaces. Я был поражен тем, что Armbian поставляется с некоторыми предварительно сконфигурированными версиями файла, включая interfaces.r1switch - похоже, что нам нужно, но это не работает.

Еще одним важным моментом была правильная идентификация портов Ethernet - enxc0742bfffc6e находился рядом с последовательными выводами.

Прежде чем вы заставите R1 потерять связь с Интернетом (ладно, это можно было бы лучше настроить), просто установите одну вещь:

sudo apt-get install iptables-persistent

Шаг 2: / etc / network / interfaces

Если вы переключите локальную сеть на eth0, вам понадобится следующий файл интерфейсов (вы всегда можете вернуться к исходной версии с помощью sudo cp interfaces.default interfaces; перезагрузитесь):

авто br0iface br0 inet руководство

bridge_ports eth0 enxc0742bfffc6e

bridge_stp выкл.

bridge_fd 0

bridge_maxwait 0

bridge_maxage 0

Шаг 3: Iptables

Iptables
Iptables

После перезагрузки ваш R1 должен быть прозрачным для сети и работать как соединитель кабеля. А теперь давайте усложним жизнь плохим парням - настройте правила брандмауэра (хешированные строки - это комментарии; скорректируйте сетевые адреса в соответствии с конфигурацией DHCP!):

# прошить все и закрыть двери

iptables -Fiptables -P ПАДЕНИЕ ВВОДА

iptables -P FORWARD DROP

iptables -P ВЫХОДНОЕ УДАЛЕНИЕ

# но разрешить внутренней сети выходить наружу

iptables -A INPUT -m Physdev --physdev-is-bridged --physdev-in eth0 -s 192.168.10.0/24 -j ПРИНЯТЬ

iptables -A FORWARD -m Physdev --physdev-is-bridged --physdev-in eth0 -s 192.168.10.0/24 -j ПРИНЯТЬ

# разрешить DHCP проходить через мост

iptables -A INPUT -i br0 -p udp --dport 67:68 --sport 67:68 -j ПРИНЯТЬ

iptables -A ВПЕРЕД -i br0 -p udp --dport 67:68 --sport 67:68 -j ПРИНЯТЬ

# весь установленный трафик должен быть перенаправлен

iptables -A ВПЕРЕД -m conntrack --ctstate УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ

# только для локального браузера - доступ к инструментам мониторинга, таким как darkstat

iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

# блокировка спуфинга

iptables -A FORWARD -m Physdev --physdev-is-bridged --physdev-in enxc0742bfffc6e -s 192.168.10.0/24 -m limit --limit 5 / min -j LOG --log-level 7 --log-prefix NETFILTER

iptables -A FORWARD -m Physdev --physdev-is-bridged --physdev-in enxc0742bfffc6e -s 192.168.10.0/24 -j REJECT

Шаг 4: Заключительные соображения

Через неделю - работает отлично. Единственное, что я придумаю (и представлю здесь), - это мониторинг сети и доступ по ssh. Я повторяю - изменение файла интерфейсов на контент, который я прикрепил, отключит устройство R1 от IP-сети - будет работать только последовательный порт.

6 июня 2018 г.: мост - это не так уж и сложно, но R1 излучает много тепла, слишком много. Простой радиатор очень сильно нагревается - странно и мне это не нравится. Может и нормально, может у кого нибудь есть решение кроме фаната.

18 августа 2018: armbianmonitor -m показывает 38 по Цельсию, что намного ниже моего личного восприятия. Я почувствовал значительное изменение (вниз), когда немного уменьшил частоту:

эхо 1000000> / sys / devices / system / cpu / cpu0 / cpufreq / scaling_max_freq

Кстати, мне удалось подключиться к моей домашней WLAN, но R1 не получил IP-адреса через DHCP, део статического назначения тоже не работает. Это была моя первая попытка иметь административный интерфейс, отличный от последовательного. Другая идея состоит в том, чтобы по-прежнему иметь IP-адрес, назначенный одному из портов Ethernet. Я вернусь к этому через несколько месяцев.

Рекомендуемые: