Вы когда-нибудь задумывались, что ваш старенький ADSL-модем — это как старая добрая швейная машинка? Можно ли на нём вышить современную "одежду" и сделать его Ethernet-роутером или даже частью умного дома? Если вы думали, что для этого нужно вытащить из шкафа модем и тут же получить шедевр цифровых технологий — спешу разочаровать. Но если вы готовы к приключениям с прошивками, портами и магией iptables — тогда вам сюда!

В этой статье мы подробно разберём, как можно превратить ADSL-модем в Ethernet-шилд, запустить на нём полезные программы, настроить порты TCP и UDP, а также почему старые модемы иногда лучше не мучить, а купить новый роутер.

Что такое ADSL-модем и почему он не всегда Ethernet-роутер?

ADSL-модем — это устройство, которое превращает сигнал DSL в цифровой поток для вашего интернета. Представьте, что это усталый курьер, который быстро и чётко доставляет ваши данные, но не всегда умеет работать с современными пакетами и протоколами. У многих таких модемов есть встроенный роутер, но иногда он совсем простой и не умеет работать с Ethernet так, как хотелось бы.

Многие пытаются "превратить" такой модем в полноценный Ethernet-роутер, чтобы подключать к нему обычные устройства. Сразу возникает вопрос: реально ли это? Ответ — да, но с оговорками.

Как модифицировать прошивку модема и что для этого нужно?

Чтобы добавить новые возможности, как запуск программ или переопределение портов, нужна прошивка, которая позволит это сделать. Популярные прошивки типа OpenWRT или DD-WRT часто не подходят для старых ADSL-модемов из-за закрытого кода и особенностей железа.

В одном из примеров был модем D-link DSL-2500U, где с помощью разборки файловой системы и замены прошивки смогли запустить программу suart — прокси между последовательным портом и сетевым TCP-портом.

Для работы с прошивкой обычно делают так:

Шаг Описание
Распаковка rootfs Извлекают корневую файловую систему модема
Внесение изменений Добавляют свою программу и удаляют ненужные файлы (например, картинки в web-интерфейсе)
Настройка iptables Открывают необходимые порты для сетевого взаимодействия
Перепаковка и прошивка Создают новую прошивку и обновляют модем

Это похоже на ремонт старой машины с заменой двигателя и добавлением современного навигатора — требует терпения и инструментов.

Программа suart и последовательный порт: что это за зверь?

Suart — это программа-прокси, которая слушает TCP-порт (по умолчанию 3000) и переправляет данные на последовательный порт модема (/dev/ttyS0) и обратно. Представьте себе почтового голубя, который доставляет письма с вашего компьютера на Arduino или другой контроллер через последовательный порт.

Такое решение подходит для умных домов, где контроллер управляет устройствами, а Ethernet-шилд — ваш модем, который трансформирует данные.

Проблемы с iptables: когда порт открыт, но недоступен

Да, iptables — это тот самый шериф, который охраняет порты на вашем модеме. Даже если порт вроде бы открыт, firewall может заблокировать подключение. В нашем случае было замечено правило DROP для всех входящих соединений, которое мешало подключиться к 3000-му порту.

Немного магии команд:

## Смотрим правила
/bin/iptables --list --line-numbers

## Удаляем правило DROP (например, 11-е)
iptables -D INPUT 11

## Открываем порт 3000 для TCP
iptables -A OUTPUT -p tcp -m tcp --dport 3000 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 3000 -j ACCEPT

После этого порт становится доступным, и программа suart работает как часы.

DHCP, мосты и Ethernet: как заставить всё дружить?

В сетях часто нужно, чтобы модем или роутер раздавал IP-адреса клиентам (DHCP), или же работал как мост (bridge), передавая пакеты "сквозь себя".

Если взять Sagecom, который плохо раздаёт Wi-Fi, и TP-Link AC1200, подключённый через RJ-45, нужно правильно настроить их роли: один будет DHCP-сервером, второй — ретранслятором или мостом. Неудачные попытки с моста с DHCP сервером приводят к тому, что TP-Link "не видит" интернет.

Поэтому рекомендуют:

  • Оставить Sagecom как есть (например, в режиме роутера)
  • Подключить TP-Link через WAN-порт к Sagecom
  • Включить DHCP на TP-Link, чтобы он раздавал адреса своим клиентам

Старая техника vs новая — когда стоит заменить?

Некоторые пользователи пробовали превратить старые ADSL-модемы в Ethernet-роутеры, но сталкивались с ограничениями процессора и скорости — например, максимум около 40 мегабит.

Если скорости недостаточно или прошивка не найдена, порой лучше купить недорогой новый роутер, например, TL-WR720N, который стоит около 1000 рублей и сразу даёт нормальный Ethernet и Wi-Fi.

Устройство Скорость (Мбит/с) Стоимость (руб) Примечание
Старый ADSL-модем ~40 ~бесплатно (уже есть) Модификация требует времени и знаний
TL-WR720N 100+ ~1000 Новый, прост в настройке
Б/У DSLAM до 24 ~8500 (за 8 портов) Для профессионального использования

Итоговые советы и чек-лист

  • Если у вас старый ADSL-модем, проверьте наличие прошивок OpenWRT/DD-WRT — если нет, подумайте о новом роутере.
  • Для создания Ethernet-шилда используйте программу suart, помните про настройку iptables.
  • Откройте необходимые порты TCP/UDP для работы приложений.
  • Если нужно управлять контроллером через последовательный порт, используйте прокси-серверы типа suart.
  • При использовании нескольких устройств в сети, правильно настраивайте DHCP и роли роутеров.
  • Для стабильной и быстрой сети лучше современное оборудование, старье — это музей, а не рабочий инструмент.

FAQ

Вопрос: Можно ли превратить любой ADSL-модем в полноценный Ethernet-роутер?
Ответ: Не всегда. Зависит от железа, прошивки и доступности исходников. Иногда проще купить новый роутер.

Вопрос: Что делать, если программа на модеме не запускается из-за iptables?
Ответ: Проверьте правила firewall, удалите DROP для нужного порта и разрешите входящие и исходящие соединения.

Вопрос: Как управлять контроллером через сеть с помощью модема?
Ответ: Используйте прокси-сервер (например, suart), который пересылает данные с TCP-порта на последовательный порт модема.

Вопрос: Можно ли использовать Wi-Fi-роутер для тех же целей?
Ответ: Да, роутеры с OpenWRT/DD-WRT можно перепрошить и запускать похожие программы, зачастую это проще.


Чек-лист для превращения ADSL-модема в Ethernet-шилд

  • [ ] Проверить возможности модема и наличие прошивки
  • [ ] Распаковать и подготовить rootfs
  • [ ] Добавить программу suart и необходимые утилиты
  • [ ] Оптимизировать файловую систему (удалить ненужные файлы)
  • [ ] Настроить iptables для открытия нужных портов
  • [ ] Настроить автозапуск программ в скриптах
  • [ ] Пересобрать и прошить модем
  • [ ] Проверить работу порта и подключение (например, telnet)
  • [ ] Тестировать передачу данных с контроллером

Как видите, старые ADSL-модемы — это как старые добрые советские телевизоры: ещё работают, если знать, как нажать на правильные кнопки и провести пару хитрых манипуляций. Но иногда проще и надежнее купить современный смарт-телевизор. Удачи в ваших модемных приключениях!