В очередной раз просматривая объявления о продаже компьютерной техники и всяческой электроники наткнулся на интересного зверя - корпоративный файрвол CheckPoint T-120. Быстренько погуглив, нашел технические характеристики этого устройства. Вот они:
Intel Atom D525 1.80GHz Dual-Core;
оперативная память 4 GB (DDR2);
4 x 10/100/1000Base-T RJ45 ports;
250 гигабайт жесткий диск (SATA).
Очень даже неплохо, особенно учитывая то, что эта покупка обошлась мне в 4000 тенге, сейчас это чуть меньше $10. Заинтересовала эта железка тем, что внутри почти полноценный компьютер на базе процессора с пассивным охлаждением, крепкий блок питания, памяти достаточно. Единственное, там нет выхода на монитор/клавиатуру. Но есть консольный порт (RS232, разъем правда RJ45). Еще один аргумент к покупке - это то, что на него смогли установить pfSense. В этом случае теоретически можно и другой роутерный софт установить. Душа у меня лежит к OpenWRT. Его и будем ставить.
Консольный Кабель. Теперь вопрос с контролем процесса установки и вообще "Главный вопрос жизни, вселенной и всего такого". Фирменного кабеля - нет, Гугл подсказывает что можно использовать кабель Cisco, которого у меня тоже нет, купить - это совсем плохая идея, стоит как чугунный мост, с АлиЭкспресса - ждать долго. Выход один - паять! Достаем ЭПСН-25 и... Идем в гараж/кладовую/склад и берем оттуда кабель для подключения телефона Ericsson к компьютеру через RS232 и патч-корд RJ45. Фирменный кабель содержит 8 проводов, а в кабеле для телефона всего 5, отсутствуют провода CTS/DCD/DSR. Внизу распиновка фирменного кабеля.
Фирменный кабель Cisco.
За всю свою сознательную жизнь на практике я не встретил консольного кабеля, который использует больше, чем RXD/TXD/GND. Была не была, собираем простой кабель по следующей схеме.
Кабель спаяли.
И подключаем его через переходник USB to RS232 к компьютеру.
Проверка работы кабеля. Подключаем все это хозяйство к компьютеру, настраиваем параметры порта: Baud rate = 9600 bps, Data bits = 8, Parity = None, Stop bits = 1, Flow Control = None. Включаем роутер и видим в терминале процесс начальной инициализации (BIOS) и загрузки этого убер девайса.
Установка OpenWRT. Теперь мы будем ставить на этот роутер OpenWRT. Ну как ставить ? Его прошивают либо в флеш-память роутера, либо на жесткий диск или на карту памяти.
Для этого нужно скачать сборку OpenWRT под процессор x86, тип сборки Combined-Ext4. Такая сборка необходима для того, чтобы потом изменить размер разделов на карте памяти/жестком диске.
В кладовых у меня есть пару видов переходников SD Card to SATA, CF Card to SATA. Почему то, SD Card to SATA не всегда определяется BIOS-ом как диск. Используем CompactFlash.
Используем переходник для установки 2.5" жестких дисков вместо 3.5". Немного винтиков и болтиков М3 и получаем такую конструкцию.
Установка OpenWRT на карту памяти. Хорошее руководство можно найти здесь. У нас 64-х битный процессор, и как я упоминал выше, нужна сборка Combined-Ext4, вот ссылка на текущий стабильные билды.
Скачиваем образ, распаковываем архив и записываем на карту памяти файл *.img. В Линуксе - это можно сделать примерно так:
# Unpack image
gunzip openwrt-*.img.gz
# Identify disk (to replace sdX in the following command below)
lsblk
# Write image
dd if=openwrt-21.02.0-x86-64-generic-ext4-combined.img bs=1M of=/dev/sdX
Далее мы вставляем карту памяти CompactFlash в переходник, устанавливаем в роутер и собираем все.
Через сетевой порт Lan1 подключаем к компьютеру или сети, Console - через самодельный кабель к компьютеру. Если после включения питания через некоторое время в окне терминала побежит вывод загрузки системы, значит Вы все сделали верно и все работает как нужно. Да, кстати, нужно сменить скорость терминала на порту на 115200, все остальные параметры без изменений.
Первоначальная настройка OpenWRT. Подключаемся к веб-интерфейсу OpenWRT. IP/mask по умолчанию 192.168.1.1/24, пароль - по умолчанию пустой. Рекомендую сразу поменять пароль администратора. Затем необходимо донастроить сетевой интерфейс - гейт по умолчанию и DNS сервера. Иначе Вы не сможете установить нужные пакеты для изменения разделов.
Теперь мы можем изменить разделы установленного OpenWRT. По умолчанию размеры следующие:
/dev/sda1 is a 16MB ext4 /boot partition where GRUB and the kernel are stored.
/dev/sda2 is a 104MB partition containing the squashfs root filesystem and a read-write f2fs filesystem OR the ext4 root filesystem (depending on what image you have chosen).
Подключаемся через SSH. Процесс изменения разделов очень хорошо описан в руководстве. Сначала необходимо изменить размер Partition, затем размеры в файловой системе.
Изменение разделов/размеров.
Установить fdisk.
Запустить fdisk и посмотреть разделы.
Записать номер начального сектора /dev/sda2.
Удалить раздел /dev/sda2, но не записывать изменения на диск!!!
Создать раздел /dev/sda2, при этом нужно указать начальный сектор, который Вы записали на шаге 3. Последний сектор - по умолчанию (до конца раздела).
Записать изменения на диск.
Hidden text
Welcome to fdisk (util-linux 2.32).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 7.2 GiB, 7751073792 bytes, 15138816 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcbad8a62
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 512 33279 32768 16M 83 Linux
/dev/sda2 33792 246783 212992 104M 83 Linux
Command (m for help): d
Partition number (1,2, default 2):
Partition 2 has been deleted.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Partition number (2-4, default 2):
First sector (33280-15138815, default 34816): 33792
Last sector, +sectors or +size{K,M,G,T,P} (33792-15138815, default 15138815):
Created a new partition 2 of type 'Linux' and of size 7.2 GiB.
Partition #2 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: n
Command (m for help): w
The partition table has been altered.
Syncing disks.
Пример изменения размеров разделов.
Hidden text
opkg update
opkg install fdisk
BOOT="$(sed -n -e "/\s\/boot\s.*$/{s///p;q}" /etc/mtab)"
DISK="${BOOT%%[0-9]*}"
PART="$((${BOOT##*[^0-9]}+1))"
ROOT="${DISK}${PART}"
OFFS="$(fdisk ${DISK} -l -o device,start | sed -n -e "\|^${ROOT}\s*|s///p")"
echo -e "p\nd\n${PART}\nn\np\n${PART}\n${OFFS}\n\nn\np\nw" | fdisk ${DISK}
Скрипт для изменения размеров разделов автоматически.
Следующим шагом будет изменение размеров диска - в руководстве приведен хороший скрипт для выполнения всех действий автоматически.
opkg update
opkg install losetup resize2fs
BOOT="$(sed -n -e "/\s\/boot\s.*$/{s///p;q}" /etc/mtab)"
DISK="${BOOT%%[0-9]*}"
PART="$((${BOOT##*[^0-9]}+1))"
ROOT="${DISK}${PART}"
LOOP="$(losetup -f)"
losetup ${LOOP} ${ROOT}
fsck.ext4 -y ${LOOP}
resize2fs ${LOOP}
reboot
Заключительным шагом - будет перезагрузка роутера. Пусть все хорошо утрясется...
OpenWRT установлен ! Далее можно делать из этого роутера - МегаУберРоутер. У меня на другом роутере, но на базе Intel D410 и 4 гигабайтах ОЗУ - крутится AdGuard и очень даже неплохо убирает рекламу и прочее. При этом загрузка системы в среднем еле превышает 5%.
P.S. чуть в обморок не упал, когда увидел, сколько стоил CheckPoint T-120 в свое время...
Комментарии (20)
Soorin
17.08.2022 14:26+3Atom - не такой и плохой процессор: у меня на N455+2Gb вертится Xpenology с аналитикой (пишет на SSD с 4 камер, по одой из них аналитика включена). Греется сильно, конечно, без вентилятора.
BaurzhanD Автор
18.08.2022 10:56У меня сервер видеорегистратор крутится на 771 Xeone (модель не помню, но явно быстрее чем Q6600), который вставлен в плату 775. Поставил Xeoma. Пишет видео с трех камер. Аналитика — совсем слабая — детекция движения — самый главный приоритет: не записывать кошек и собак. Единственный плюс от такой процессорной дури — сильно не греется… Интересно вот, потянет ли D410 — роль медиабокса?
dragonnur
20.08.2022 01:04Не любите котиков? :-)
(У меня на работе на камерах видеонаблюдения проскакивали зайцы (двигаются нетипично быстро), охотящийся на них ястреб и дрофы).
EvgeniyNuAfanasievich
17.08.2022 15:33А есть варианты накрутить на OpenWrt умный FireWall или типа того? чтоб детектил всякое, как это подобает чекпоинту?
BaurzhanD Автор
17.08.2022 15:41С CheckPoint не работал. Я купил списанный девайс. А так OpenWRT может многое. Вот openwrt.org/packages/index/start. Если интересует файрволы за недорого, можно посмотреть в сторону pfSense.
ru6ak
17.08.2022 15:44+1У чекпоинта, как и у форти, есть виртуальные машины, вопрос только потянешь ли ты подписку на умные функции. Или я ошибаюсь ?
rionnagel
17.08.2022 17:35+1Как пользовать виртуальных чекпоинтов могу сказать, что подписка ОЧЕНЬ дорогая. Это походу самый дорогой товар на рынке. Очень обижает, что некоторые само-собой разумеющиеся вещи в чеке делаются комьюнити скриптами в консоле (ага, однострочник на пол страницы например).
BaurzhanD Автор
17.08.2022 19:37+2Да, кстати, посмотрел прайсы на подписку… Отличный пример, когда софт стоит на порядки дороже железа, на котором он запускается.
rionnagel
18.08.2022 08:25+1Эх, если бы это был единичный случай... вим, вмваря, оракл, mssql (особенно с лицензией на always-on) и т.д. и т.п.. Если нужна отказоусточивость и нормальные фишки - цены на софт почти всегда больше, чем на серверное железо.
rionnagel
17.08.2022 17:30+2За статью конечно +.
Но зачем? Почему бы не использовать сам чекпоинт? Вроде у физического чека есть какие-то плюшки без подписки в отличии от виртуального.
BaurzhanD Автор
17.08.2022 19:36+1Не скажу, что дотошно разбирался в функциях CheckPoint-а, но беглым взглядом посмотрел в интернете, что и как за этот роутер. Без платных плюшек, это образно говоря Zyxel на стероидах. Зачем мне Белаз, если мне за глаза хватает пикапа Hilux? ;-) А так с OpenWRT один только профит — мощное железо, которого хватит для с лихвой для задач SOHO класса, причем за $10.
rionnagel
18.08.2022 08:10+2Я бы наверное рекомендовал сначала основательно поковырять и посмотреть, что он может без подписки, перед тем как сносить. У продукта всё-таки есть фишки, которых вообще ни у кого больше нету. В статьях/обзорах обычно крайне мало описывают.
Но вообще если к железке нет менеджмента, то можно даже не смотреть - не получится даже завести (я хз как у железок, у меня виртуалки - там все покупается отдельно).
ZorroGFS
18.08.2022 09:23+4На железках постоянными лицензиями доступны Firewall, IPsec VPN, IA (связка с AD) и менеджмент. Всё остальное подписками. Но так или иначе, даже на этот функционал нужна была бы установленная лицензия. Если уже ничего родного не было до установки, то восстановить её вряд ли возможно. Учитывая состояние на фотографиях, возможно железка не использовалась, а лежала на складе под NBD замену, тогда для неё лицензии никогда и не существовало.
BaurzhanD Автор
18.08.2022 10:48Мне очень даже кажется, что железка все-таки была в эксплуатации. Есть царапины на корпусе. Плюс экран немного «поплыл». Логины/пароли и айпишник тоже не известны были. Вручную, с панели сделал откат. Если не ошибаюсь, сборка R75 стала после отката. Дальше не стал возиться, просто вытащил жесткий диск и установил карту памяти с OpenWRT в качестве ОС.
rionnagel
18.08.2022 17:03А лицензии впн на клиентские устройства есть? Ну и вроде clientless vpn. Вроде даже на самые мелкие роутеры 200+ лицензий дают.
ZorroGFS
19.08.2022 08:23Как ни странно, мелкие SMB устройства действительно имеют эти лицензии вшитые. А Enterprise и выше устройства только на 5 конкурентных подключений, больше отдельно докупать надо.
Javian
off AdGuard у меня крутится на TP-Link TL-WDR3500 . Плюс там VPN, DNS HTTPS Proxy, Transmission, Samba. Единственный минус у этого счастья - накопитель подключен к порту USB1.
Предмет статьи действительно интересен. Можно HDD емкостью побольше поставить. С таким объемом памяти можно свой Asterisk запустить.
BaurzhanD Автор
Посмотрел за Ваш девайс. Да, неплохо. Особенно 128 мб оперативы. У меня есть с пяток WR703n, там памяти оперативной всего 32 мегабайта. Это самое ходовое для всяких идей и экспериментов. Естественно, что AdGuard, особенно с кучей фильтров (у меня их 4 страницы, штук под 40), будет лагать из-за недостатка оперативы. Поэтому сделал выделенный роутер на базе Intel D410 — специально для AdGuard. А вот насчет Asterisk я давно подумываю. Дело в том, что я плачу за пакет услуг связи. Туда входит и городской телефон с безлимитом по всему Казахстану и 1000 минут на всех мобильных операторов, и сотовая связь, и интернет… Так вот, мы городским телефоном не пользуемся вообще. Планирую городской телефон переключить на АйПи и подключить его к Asterisk.