Я пытаюсь узнать о сетях, обслуживании сетей, сетевом администрировании и т. п. (я хочу стать сетевым инженером, когда закончу университет после окончания школы), и я хочу настроить свой старый ПК (на котором установлен Slackware) как модем, как проект, который поможет мне учиться. Я хочу знать, какое оборудование мне понадобится. По сути, все, что я знаю, это то, что мой текущий модем использует ADSL2+ и PPPoA, что, как я думаю, в любом случае является программным.
Как мне этого добиться?
решение1
Из комментариев я понял, что вы не заинтересованы в том, чтобы заниматься действительно низкоуровневыми вещами, такими как реализация модулятора/демодулятора ADSL. Что в любом случае действительно сложно.
Кажется, вы хотите, чтобы ваш Linux-бокс действовал как полноценный маршрутизатор. Проблема большинства "модемов" в наши дни в том, что они делают гораздо больше, например, NAT, DHCP, маршрутизацию, WiFi и т. д. Однако вы можете обойти это на некоторых моделях, установив его вмостовой режим. Это приведет к тому, что все биты, поступающие на линию ADSL, будут перенаправлены на порт Ethernet без изменений. Вот такая у меня настройка.
Вам придется напрямую подключиться к бэкэнду вашего провайдера; в вашем случае вам нужно настроить клиент PPPoA на вашем устройстве для подключения к вашему провайдеру (иначе у вас вообще не будет интернета). Вам также понадобится вторая карта Ethernet для вашей внутренней сети. Затем вам нужно включить NAT для этой интернет-сети, настроить локальный DHCP-сервер и т. д. и т. п. Нужно настроить/установить/настроить много всего, прежде чем все заработает. Однако вы можете настроить этот маршрутизатор в точности под свои спецификации.
Примечание: настройки модема в мостовой режим различаются в зависимости от модели, если это вообще возможно. Вам необходимо обратиться к руководству или войти в модем и просмотреть настройки.
решение2
ну, и да, и нет.
Я думаю, что хороший способ объяснить это — через 4-уровневую модель протокола. У нас есть прикладной уровень, транспортный уровень, сетевой уровень и канальный уровень.
Каждый уровень можно заменить другим — в этом случае ваше приложение будет (например) HTTP, передаваемым по TCP, по IP-сети, пофизическая связькоторый в свою очередь взаимодействует с использованием ADSL2+ и PPP через ADSL (в который инкапсулирован IP).
Программные уровни могут быть реализованы довольно легко, а вот аппаратные уровни — сложнее.
Физическая связь должна быть электрически совместима с вашей сетью и т. д. Чтобы превратить ваш ПК в модем, вам нужно будет... ну, построить модем, который «разговаривает» по ADSL 2+ и совместим с текущей сетью (так что будьте совместимы с этим стандартом. И... скажем так, ваша телефонная компания будет не в восторге, особенно если вы случайно внесете много шума в сеть или что-то похуже). Вероятно, было бы проще купить модем, чем закупать все детали, собирать все платы и кодировать прошивку для модема.
Однако вы можете использовать свой ПК в качестве маршрутизатора, как предлагается в комментариях к вашему вопросу.
решение3
Возможно, будет проще пойти другим путем и превратить свой «модемный бокс» в очень маленький «сервер»: посмотрите, сможете ли вы прошить DD-WRT, Open-WRT или Tomato на свой текущий DSL-модем.
Вы будете немного ограничены в ресурсах, но у вас определенно будет Linux на коробке, интерфейс DSL «тут же» и большая часть, если не вся, сетевая гибкость, которую он предлагает, включая iptables, brctl, возможность запускать такие вещи, как tshark
и все остальное на маршрутизаторе, и все остальное, для чего вы сможете найти пакеты или скомпилировать их.