- Тоже Админ
- Домашний роутер на Linux (Linux Home Router)
- Актуальность
- Железо
- Допущения
- Загрузка образа и создание загрузочной флешки
- Подключение в существующую сеть
- Мини-обзор дистрибутивов Linux для создания роутера
- Дистрибутивы с низкими системными требованиями
- SmoothWall Express
- Системные требования:
- IPCop Firewall
- Системные требования:
- Endian Firewall Community
- Системные требования – стали более «лояльными»:
- Дистрибутивы для современных ПК
- Untangle Gateway
- Потребуется:
- Vyatta CE
- Список системных требований:
Тоже Админ
Домашний роутер на Linux (Linux Home Router)
Этот гайд я хотел написать очень давно. В свое время много искал в инетах, находил кусками по разным аспектам создания домашнего роутера на Linux, но вот полноценного гайда от и до так и не нашел.
Актуальность
В настоящее время скорости подключения предоставляемые провайдерами выросли на порядки и с другой стороны прибавилось различных устройств дома, которые потребляют этот интернет: если например четверо жителей в квартире, у каждого телефон, у папы еще и планшет и у дочки планшет и еще есть пару настольных компьютеров или ноутбуков, то это уже 8 устройств потребляющих интернет. Кроме этого еще и тип потребляемого контента изменился, от страниц HTML все больше переходит к прослушиванию музыки, просмотру видео, или же загрузки видео. Одним слово скорость и обьемы передачи данных выросли значительно. Все это накладывает определенные требования на роутеры. Обычные общедоступные роутерытипа D-Link, TP-Link, ASUS и т.п., купленные 2-3 года назад уже захлёбываются от пропускаемого через них трафика. Их мощности уже не позволяют обрабатывать такой поток, они просто не рассчитаны на него. Все это выражается в разного рода задержках, потере пакетов, ухудшении качества видео, потере кадров, глюках в играх и тому подобных проблем. Роутеры нового поколения уже рассчитаны на подобный трафик, но стоят денег и немалых. От 10 до 30 тысяч рублей. Но ведь есть же другой путь. У многих еще валяются в кладовке забытые старые компы, где-то еще в разобраных корпусах, а если не валяются, то в изобилии полно преложений на том же Авито о продаже по цене около 1 тыс. рублей. А ведь из этого компа можно собрать роутер на операционной системе Linux, и работать он будет на порядок быстрее самого быстрого роутера, даже тот же Pentium 4. В настройке нет ничего сложного, и любой человек с минимальными знанимями в области информационных технологий, который отличает IP адрес от MAC адреса сможет настроить себе роутер на LINUX, за час, два и забыть обо всех проблемах с инетом навсегда, при этом не тратя безумных денег. Вот об этом и будет наш гайд.
Железо
Подойдет практически ЛЮБОЙ компьютер. Главное требование — наличие 2-х сетевых карт. Одна может быть встроенная, вторую можно купить за 100-250 рублей и вставить в PCI (PCI-E) слот. Не рекомендую использовать USB-сетевые карты, хотя это и возможно, но в этом гайде я тонкости работы с USB картами описыать не буду.
В нашем гайде мы будет использовать Linux дистрибутив Centos 7, который имеет минимальные рекомендуемые системные требования:
Память: 1ГБ на логический ЦПУ (ядро процессора)
Диск: 20 ГБ
Одно замечание. Обычно роутеры стоят в квартире: в коридоре или в комнате и шум от работающих вентиляторов (а компьютере их как минимум 2) может здорово раздражать. Если комьютер старый, то рекомендую заменить вентиляторы. Разберите блок питания, надо открутить всего 4 болта, и почистить или поменять (открутить еще 4 винта и скрутить 2 проводка) вентилятор на блоке питания. Тоже сделать с вентилятором на процессоре. На работу самого роутера это никак не повлияет.
Допущения
В своем гайде я предпологаю, что провайдер предоставляет вам подключение по читому Ethernet, без всяких PPOE и других VPN технологий и аутентификация абонента происходит по MAC адресу. Т.е. на внешнем интерфейсе роутера должен быть определенный MAC адрес, чтобы работал интеренет. Никаких паролей не требуется. Сейчас так подключено 90% всех пользователей интернета в России.
Загрузка образа и создание загрузочной флешки
Загружаем устанавливаем и запускаем программу записи образов дисков на флешку, вставляем флешку — все информация на флешке будет перезаписана.
1 — нажимаем на кнопку с папкой, выбираем загруженный образ. По умолчанию программа показывает только файлы с расширением .img поэтому выбираем показать все файлы *.*
2 — выбираем флекшу для записи
3 — нажимаем записать. Процесс записи начнется и в результате у вас будет загрузочная флешка.
Зайдите в БИОС и установите загрузку с флешки с Centos.
Не хочу останавливаться подробно на установке, есть достаточно подробное описание с картинками на русском языке: https://sysadmin-note.ru/ustanovka-centos-7/
Там все просто, нам подойдут настройки по умолчанию, как раз как описано.
Подключение в существующую сеть
Определите какой сетевой интерфейс будет внешним, т.е. смотрящим в Интренет, а какой внутренним — смотрящим в локальную сеть. Лучше даже подписать на корпусе, чтобы не спутать потом. Встроенную карту лучше использовать как внутренний интрефейс, в вставленную — как внешний, потому что в общем случае скорости на внешнем интрефейсе ниже чем в локалке.
Нам надо закачать необходимые пакеты, поэтому подключите компьютер к существующей сети ВНЕШНИМ интерфейсом. Предпологаю, что у вас есть доступ в интернет и IP адреса выдаются существующим роутером.
Заходим в Linux либо под пользователем root, если вы задали при настройке его пароль, либо под созданным пользователем в процессе настройки. Даем следующую команду:
она покажет сетевые интерфейсы и их настройки:
[user1@router ~]$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: enp1s0: UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:db:00:70:5e brd ff:ff:ff:ff:ff:ff
inet 192.168.33.1/24 brd 192.168.33.255 scope global noprefixroute enp1s0
valid_lft forever preferred_lft forever
3: enp2s0: DOWN,LOWER_DOWN> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether f4:6d:04:3e:5e:9e brd ff:ff:ff:ff:ff:ff
valid_lft 26366sec preferred_lft 26366sec
Что же мы здесь видим? lo — внутренний интерфейс, присутствует по умочанию нам особенно не интересен, enp1s0 и enp2s0 это и есть наши сетевые карты причем одна в состоянии UP с настроенным внутренним IP адресом — это та, которую мы подключили в нашу сетку (будущий внешний интерфейс), а вторая в состоянии DOWN это будущий внутренний интерфейс, к которому не подключен кабель.
Если это так то можете пропустить следущий шаг. Если вы видите интерфейс в состоянии UP но inet адреса на нем нет, надо будет его настроить.
Предварительная настройка интерфейса
Заходим под пользователем root. Даем команду nmtui, открывается меню настройки интерфейсов. Вибираем Edit Connection, нажимает Enter.
В списке интерфейсов вибираем нужный нам интерфейс, нажимаем Enter
Перемещение по пунктам меню осуществляеся с помощью клавиши Tab. Переходим на пункт Show напротив IPv4 CONFIGURATION, нажимаем Enter.
Выставляем или убеждаемся, что настойки выставлены IPv4 CONFIGURATION — Automatic, Automatically connect — X ( с помощью клавиши пробел), Available for all users — X. Перемещаемся на ОК и нажимаем Enter.
Опять попадаем в меню выбора интрефейсов нажимаем Back, попадаем в главное меню, стрелочкой вниз доходим до Quit, нажимаем Enter. Выходим из программы.
Инициируем сетевые интерфейсы, чтобы применились настройки, даем команду
Снова даем команду ip a убеждаемся что ip адрес получен.
Мини-обзор дистрибутивов Linux для создания роутера
Существует немецкая компания Mikrotik, которая выпускает отличные роутеры. Благодаря операционной системе, разработанной этой компанией, в роутер можно превратить любой компьютер.
Системные требования – невысоки, и зависят от типа выполняемых задач и нагрузки. Все бы хорошо, но данная операционная система является платной. В то же время, альтернативой для нее считаются сборки Linux router. Это – дистрибутивы, построенные на базе Linux, позволяющие получить от ПК функциональность роутера.
Как нетрудно догадаться, за основу большинства рассматриваемых дистрибутивов взяты «фирменные» широко распространенные сборки Linux (Цент-ОС, Дебиан и некоторые другие). Но есть исключения, например, система SmoothWall, обладающая очень низкими системными требованиями.
Пользователь, прочитав данное руководство, может остановить свой выбор на двух или трех дистрибутивах. Затем, надо будет изучить каждый из них в отдельности (более подробно), после чего, можно будет определиться на 100%, что именно устанавливать на компьютер. Желаем удачи!
Дистрибутивы с низкими системными требованиями
Сразу отметим, что о машинах с 486-м процессором здесь речь не идет. Роутер можно собрать, если есть плата с процессором Pentium 166 МГц или выше. Современное ядро Linux – достаточно прожорливо, что поделать.
Ознакомьтесь с требованиями к железу, актуальными для каждого дистрибутива. Лучшим вариантом «апгрейда» ПК, используемого как роутер, можно считать добавление в него оперативной памяти. Впрочем, для начала будет достаточно и 32-х мегабайт… Рассматриваемые дистрибутивы поддерживают разные протоколы подключения (и даже через внешний COM-модем).
SmoothWall Express
Данный проект ведет свое начало с 2000 года. Дистрибутив сделан не на основе какой-либо готовой сборки, однако, распространяется под лицензией GPL. Актуальная сегодня версия: 3.1.
Системные требования:
Действуем так: скачиваем образ дистрибутива для требуемой архитектуры («686» значит «32-разрядный процессор», что подходит всем). В компьютер можно установить включительно до 4-х сетевых карт (проводных или беспроводных), большее число – не поддерживается.
Установка идет очень просто: нажимаем несколько раз «OK», выбираем раскладку клавиатуры и сетевое имя «роутера». В качестве политики исходящего трафика рекомендуем выбрать «Open».
Интерфейс будет доступен по адресу: «IP роутера:81» или «IP роутера:441». Каждая вкладка содержит набор закладок (доступны функции «обычного роутера», и даже больше):
IPCop Firewall
Эта сборка базировалась на SmoothWall, но затем родство потерялось. В задачу разработчиков входило сделать интерфейс настройки простым и понятным. То есть, похожим на web-интерфейс «обычного» роутера.
Системные требования:
Из протоколов VPN поддерживается только Open VPN. Интерфейс выглядит так:
Не думайте, что здесь доступно более 4-х сетевых контроллеров (можно установить и больше, но использовать будете только 4).
Endian Firewall Community
Не что иное, как улучшенная версия предыдущего дистрибутива. Улучшения коснулись интерфейса и опций безопасности.
Системные требования – стали более «лояльными»:
Впрочем, от IPCop в данном дистрибутиве осталось мало чего, так как он теперь построен на базе CentOS. Плюсы: можно сохранять настройки на отдельной USB-флешке. Минусы: по-прежнему, работает четыре сетевых порта.
Дистрибутивы для современных ПК
Рассматриваемые здесь сборки реализуют возможности профессионального роутера. Для дома и малого офиса – это избыточно. Например, дистрибутив Untangle подходит для средних организаций (50-300 рабочих станций и сетевых устройств). Мы приводим лишь минимальные системные требования и рассматриваем основные особенности.
Untangle Gateway
Не устанавливайте этот дистрибутив у себя дома. Интерфейс роутера здесь построен полностью на Java. Плюсы: все отображается «в реальном времени». Минусы: web-интерфейс требует много ресурсов, в том числе, на стороне терминала.
Потребуется:
- Процессор – 800 МГц и выше (приводится «минимум», актуальный для 50-ти пользователей)
- ОЗУ – 512 Мб
- HDD – 20 Гб
Подключаемые модули есть во всех рассмотренных дистрибутивах. Но здесь в их числе будут: антивирус Касперского (платный), приложение для Active Directory, Web Filter от eSoft. Вообще, сборку считают функциональным аналогом системы ISA Server.
Vyatta CE
Установив данную операционную систему, пользователь получит аналог роутера Cisco. Все опции здесь доступны из командной строки, а web-интерфейс неудобен и требует знания синтаксиса:
Список системных требований:
Кстати, Vyatta базируется на дистрибутиве Debian.