Linux Router

Не знаю насколько это была хорошая идея, но мне срочно понадобился роутер, а под рукой был только старый компьютер. Покупать новый.. 2000 рублей не лишние, "высиживать AVITO" чтобы c 50% вероятностью купить глючное устройство, зато "задёшево" - тоже как-то не очень.

А компьютер не потянет ничего лучше XP и значит светит ему дальняя дорога.. Подумал-подумал.. попробую. Некоторое время потребовалось чтобы компьютер перебрать, уж что-что, а это я умею - выкинуть 2 плашки памяти (осталась Kingston 512Mb DDR PC3200), туда же жесткий диск IDE 80Gb, заменить CR2032 батарейку BIOS, заменить термопасту на процессоре (Barton 2600+), промыть и переставить вентиляторы в потребные места корпуса. Покопавшись в заначке ("..ничего не выбрасывать!.."), нашел 3 PCI сетевые карты на 100Mbit - 3Com 905C, VIA, IC+ IP100A. Последняя оказалась нерабочей и благополучно ушла в мусорку. Со встроенным Reatek'ом всего получилось 3 сетевых интерфейса.


Выбор дистрибутива

Про славные роутеры на линуксе наслышан еще с 2004 года, но вот трогать руками не доводилось. Яндекс в помощь, сначала меня заинтересовал проект Untangle - все так красиво и заманчиво. Дистрибутив 500Mb - мощно! Долго-предолго искал болванку, она оказалась последней. Очень аккуратно чтобы не запороть записал ISO. Системные требования подходящие: We recommend at least a Pentium 4 Processor (or a similar AMD processor), 80 GB hard drive, 2 network cards, and 1 GB of memory. Думаю, если памяти ну совсем будет мало, тогда найду еще планку. На всякий случай посмотрел "дополнительные железные требования" - нет, все в порядке, незачем волноваться, вот говорят сотрут все данные на диске - это нормально. Установщик радостно сказал, что CPU - Ok! RAM - Ok! и начал копировать файлы. Минут через 30 копирование завершилось и пошла перезагрузка, в самом конце которой, увидел надпись - ..процессоры без SSE2 не поддерживаются.. - дословно и кнопка Okey. Вот такие люди мне нравятся больше всего - просто красавцы 🙂 Болванка ушла в мусорку.


IPCop

Следующий проект IPCop - сначала меня он не сильно вдохновил, весит дистрибутив всего 60Mb, хотя последнее 2.1.9 обновление 2015 года, но на него нет дистрибутива. Скачал ISO 2.1.8, записал на флешку, установщик начал устанавливать, потом проверил оборудование, не нашел CD-ROM и на этом все. Тут я еще раз с благодарностью вспомнил Untangle, которые съели мою последнюю болванку. Решение нашлось быстро:

Install IPCop from a USB Drive

1) Download the “usb-fdd” from the IPCop Downloads page.
2) Download a utility called dd for windows.  I am also providing a download link here in case that page ever disappears, because dd for windows is vital to making this happen.
3) Extract the dd.exe file from the zip, and extract the ipcop-[version]-install-usb-fdd.i386.img file from the .gz file you downloaded, put them both in the same directory.
4) Insert a USB drive.  Any files on this drive will be WIPED so be sure if there is anything you need on it, to copy the files off it!!!
5) Open up a command window and CD to the directory your dd.exe file and IPCop .img file are sitting.  Run this command:

dd if=ipcop-install-usb-fdd-1.4.11.i386.img of=\\.\g: bs=1k

In my example above my USB drive was g:

Скачал утилиту, сделал все как сказано - не записывает. Как побороть, описано там же - убить Explorer. Записал, начал инсталляцию и вот, что хочу сказать - IPCop вещь. Все сетевухи распознались правильно, для каждой из них выбирается цвет, где RED - сетевая, смотрящая в интернет, а GREEN - в локальную сеть (остальные настраиваются произвольно). После установки и перезагрузки можно локально зайти как root, набрать setup и перенастроить все параметры, help выдает много команд, это радует.

В "веб-морду" можно попасть только с удаленного узла, набрав https://IP:8443, где IP - адрес "зеленого" интерфейса, ну и присоединиться шнуром нужно понятное дело тоже к нему. Все здесь есть, все красиво - загляденье, сразу автоматом определилось обновление 2.1.9 и предложило себя установить. Установка прошла моментально - замечательно. Есть необходимый мне проброс портов:

Linux Router

При включении, выключении и при настройке интерфейсов, роутер выдает прикольные звуки а-ля Dendy.

И когда уже все закончил настраивать, то нашел полезную статью (//www.thg.ru/network/ipcop/print.html), которая сэкономила бы час времени, найди я ее раньше и сделай выбор сразу в пользу IPCop - как обычно.

Если решение будет работать стабильно, то ничего другого и не нужно.


Добавление от 01.05.2016

Настраиваем OpenVPN:

  • Качаем дистрибутив, устанавливаем;
  • Заходим в Web-интерефейс роутера, VPNs->OpenVPN, нажимаем Advanced options, в разделе Push Routes отмечаем чекбокс Geen Network, сохраняем настройки;
Linux Router
  • Запускаем OpenVPN Server. Все настройки можно оставить по умолчанию. Я поменял протокол на TCP и поставил шифрование AES-256;
Linux Router
  • Создаем подключение, нажимаем Add, далее Host-to-Net -> Add, вбиваем Name, User's Full Name и PKCS12 File Password;
Linux Router
  • Сохраняем файлы для подключения;
Linux Router
  • Распаковываем, кладем в папку Config программы OpenVPN;
Linux Router
  • Запускаем OpenVPN, появится значок программы в трее, правый клик -> Подключиться, вводим пароль, пройдет процесс подключения, после успешного подключения значок станет зеленым;
Linux Router
  • Теперь маршрут в удаленную локальную сеть доступен напрямую, проверяем - пингуем, запускаем RDP-сессии.

Добавление от 06.05.2016

Окончательный вывод: IPCop - очень полезное решение. Старых компьютеров всегда хватает, в том числе старых серверов - два таких сервера и соединение офисов VPN туннелями для небольшой компании готово, а также VPN сервер для удаленных сотрудников. Без вложения средств, с минимальной настройкой, стабильная работа.


Добавление от 05.08.2016

В рекомендациях OpenVPN сказано, что основным является протокол UDP, а TCP нужно использовать только в случае проблем с UDP. Я настроил изначально на TCP и никаких недочетов не заметил - все работает. Возможно на медленном канале TCP не прокатит, но на моем быстром никаких нареканий.


PfSense

PfSense аналогичен по назначению IPCop, но обладает расширенными возможностями, главными из которых являются:

  • Кеширующий прокси-сервер;
  • Возможность интеграции с AD и RADIUS;
  • Многое другое: //libreportal.net/networking/pfsence.html

Соответственно IPCop - для простых решений, где не нужны навороты и дополнительные требования, к примеру - доступ к отдельностоящему, удалённому серверу. Причём, если этот удалённый сервер - сервер виртуализации, то IPCop можно реализовать как виртуальную машину (VM) на этом сервере. На Hyper-V как VM 1 поколения с Legacy LAN-адаптерами.

PfSence - для среднего офиса, где есть AD и необходимость, допустим, ограничить доступ сотрудников к социальным сетям. Это и файрвол, это прокси-сервер, это шейпинг трафика, это работа с LDAP.

Системные требования примерно такие же как у IPCop:

  • CPU минимальный/рекомендуемый - 500Mhz/ 1Ghz;
  • RAM минимум/рекомендовано - 256Mb/ 1Gb;
  • HDD - 1Gb;
  • CD-ROM или USB-порт.

Если потребуется использовать шейпинг трафика, то железо нужно брать с запасом, так как нагрузка на него прилично возрастёт.

Загрузить можно здесь. Установка рассказана тут.

Leave a Comment

Scroll to Top