Мой новый роутер
Итак, вчера я, наконец, завершил дело, которым с большими перерывами занимался целый год. Я таки собрал супер-мега-роутер для своего дома. За время его изготовления я лишился интернета, но это не важно. Главное – теперь у меня есть крутой девайс, сделанный своими руками.
Процесс изготовления роутера состоял в основном из работы напильником и дрелью по пластмассе. Пришлось вытащить наружу огромное количество разнообразных портов, а также укреплять платы. Данный проект отличается тем, что в нем не было использовано ни одной железки из категории “старые какашки”. Все комплектующие являются дорогим высококачественным промышленным оборудованием (мне досталось со скидкой, а кое-что вообще было подарено). Дизайн, конечно, хромает, но это не главное.
Основные комплектующие:
- одноплатный компьютер Advantech PCM-9375 (спецификацию см. ниже)
- блок питания XP Power SDS60UD01 (5/12 В, 63 Вт)
- корпус Rittal PK9520100
В качестве жесткого диска была использована карта CompactFlash объемом 8 Гб. Первоначально планировалось зарядить четырехгиговый винт от старого ноутбука IBM, но оказалось, что флешка стоит удивительно дешево. Таким образом, в роутере нет ни одной движущейся части. Впрочем, если вдруг понадобится много места или возникнут интенсивные дисковые операции, место под винт в корпусе есть. Также возможно использование внешних USB винтов.
На роутер была установлена ОС Gentoo Linux. Также планируется поставить на другую флешку FreeBSD и сравнить производительность маршрутизации. Хочется проверить, правда ли фря роутит лучше, чем линукс.
Для удаленного управления была настроена serial console. Теперь мне нужно подключать клаву и монитор, достаточно нуль-модемного кабеля.
На роутере планируется поднять следующий функционал:
- Собственно роутер, с NAT, DMZ и туннелями OpenVPN. Так как сетевых плат всего две, для организации DMZ придется поднять на интерфейсе VLAN и поставить управляемый коммутатор типа D-Link DIR-100 или DES-2108.
- Принт-сервер
- Клиент для закачек http/ftp, emule, bittorrent. Из-за бесшумности и низкого энергопотребления возможна круглосуточная работа, надо только пустые винты подключать 🙂
- Возможно, беспроводная точка доступа на основе USB сетевухи. Хотя я подозреваю, что по цене и качеству получится не очень хорошо, поэтому могу и пропустить это.
- Резервный диалапный линк или модемный пул (надо же куда-то девать море ком-портов).
Более продвинутые планы:
- Задействовать watchdog – аппаратную перезагрузку при зависании ОС. Требуется написание небольшого модуля ядра.
- Задействовать порты GPIO (цифровой ввод-вывод). Вывести на переднюю панель выключатели и навесить на них запуск определенных программ (например, переключение между провайдерами). Или вывести светодиоды и сделать индикацию чего-нибудь (например, загрузки процессора). Здесь придется писать более серьезный модуль ядра и user-space утилиту управления.
А теперь, самое интересное: фотографии.
Как дела с охлаждением?
На процессоре есть маленький радиатор, вроде бы справляется. Если будут проблемы, поставлю на верхнюю крышку вентилятор от блока питания. Хотя эти платы без дополнительного охлаждения работают в герметичных железно-резиновых корпусах.
Красивый=)