Натисніть "Ввід" щоб перейти до контенту.

Два способи, як з’єднати комп’ютери по Dial-up

Востаннє змінено 03/06/2022

5
(3)

Комутована лінія зв’язку, вона ж dial-up link – одна з перших технологій підключення до інтернету, яка стала масово доступною із 90-тих років минулого століття і залишалась актуальною аж до середини двохтисячних. А все це завдяки банальній простоті підключення – потрібно мати лише лінію провідного телефону, яка, на ті часи, вже була і так була проведена навіть у найвіддаленіші куточки планети.

Плюси і мінуси “діал-апу”

І хоча технологія проста, вона не ідеальна. Перш за все, через швидкість підключення. Із фізичним лімітом у 56 кбіт/c, реальні показники становлять приблизно 40-50 кбіт/c на завантаження і 25-30 кбіт/с на вивантаження. Це все через шуми на лінії, підключення інших пристроїв до тієї ж лінії, і, зокрема, все залежить від власне якості телефонної лінії.

Крім хорошої телефонної мережі, стабільність ще вимагає хороших модуляторів-демодуляторів (модемів), які повинні підтримувати відповідні стандарти. І останнє – це постійно зайнятий телефон, що значить за потреби у дзвінку потрібно буде все ж таки від’єднатися від інтернету.

З появою широкосмугового зв’язку і здешевленням обладнання для нього, dial-up пішов у небуття, проте, як і всі старі технології, є цікавим предметом для експериментів. Два з яких ми зараз і проведемо.

Експеримент 1: фантомне живлення

Якщо шукати методи як з’єднати напряму два ретро-комп’ютери через dial-up і два модеми, то можна знайти схему із фантомним живленням. Така схема передбачає підключення у розріз телефонного кабелю послідовно з’єднаних резистора і батарейки типу “крона”. Для чого це потрібно?

1.1. Схема

За нормальних умов телефонна лінія, під’єднана до модему, є роз’єднаною. Коли модем здійснює виклик (або намагається прийняти виклик), він замикає лінію, з’єднуючи між собою два провідники телефонної лінії через внутрішню схему з приблизним опором у 200 Ом. У цей момент модем очікує на протікання струму, який присутній у діючій телефонній лінії і необхідний для її справної роботи.

У випадку наявності батарейки на 9 вольт і резистора 200 Ом у ролі фантомного живлення, ми створюємо замкнуте коло із протікаючим струмом, чого достатньо для “відкриття” модему.

Отож, спробуємо цю схему.

1.2. Підключення

Підключати буду ретро-ноутбук початку двохтисячних Dell Inspiron 2500 із вбудованим модемом до іншого комп’ютера з операційною системою Windows 7 модемом U.S. Robotics 56k.

Для з’єднання використаю двожильний кабель із обжатими конекторами RJ11 – типовий кабель для провідного телефону.

Щоб застосувати фантомне живлення, можна попросту перерізати телефонний кабель і під’єднати батарейку туди, як це раніше робив я. Але краще придбати телефонну розетку, де є два гнізда третьої категорії під конектор RJ11. Клеми для підключення телефоної лінії тут з’єднані з обома гніздами, а тому така коробка дасть нам можливість підключитись саме у розріз провідників. Власне до червоної і зеленої клем, як от підписав на корпусі.

Підключаємо все і пробуємо встановити з’єднання. У силу того, що нам треба форсовано подзвонити і форсовано підняти трубку, то будемо це робити через термінал.

1.3. Команди

Команда для перевірки стану модему – AT. Вона повертає значення OK у разі нормальної роботи модема.

Далі потрібно на приймаючому комп’ютері написати команду ATA, що значить відповісти.

На комп’ютері, з якого буде виконуватись дзвінок, потрібно спершу відключити очікування на тон виклику (якого у нас немає, бо немає діючої телефонної лінії), а тоді написати команду ATD, що значить виклик.

Далі одночасно натиснути клавішу Enter на обох пристроях і очікувати на відомий своїм унікальним звучанням handshake і встановлення з’єднання.

Що цікаво, мені жодного разу не вдалось встановити з’єднання так, щоб швидкість на обох комп’ютерах була однаковою.

Далі можна спробувати ввести текст. І поки друкувати його на одному комп’ютері, він буде відображатись на іншому. Більше того, з таким з’єднанням без проблем відправляються файли.

З мінімумом зусиль отримуємо робоче з’єднання. Але запустити повноцінне з’єднання між комп’ютерами із TCP/IP, та доступом до інтернету мені не вдалось ніяк. Ні форсованою відповіддю з командою ATA при ініціалізації модему, ні з автовідповіддю, ніяк. Автовідповіть взагалі неможлива, оскільки у нас немає АТС і модем не розуміє що його викликають.

Другий метод – використання автоматичної телефонної станції, скорочено АТС.

Якщо немає діючої телефонної лінії, чому не створити свою. Звичайно, промислова апаратура дорога, але є простіші і, що головне, дешевші варіанти. І основний з них – це офісні міні АТС. Такі АТС є повноцінними станціями, але на малу кількість ліній, необхідних для роботи невеликого офісу чи підприємства.

Із поширенням цифрової телефонії, аналогові офісні АТС доживають своє, а тому масово з’являються на сайтах онлайн-оголошень, хоч і у кардинально різних цінових категоріях. Зокрема, їх можна знайти як і за кілька тисяч гривень, так і 200-400 гривень. Останні мене і зацікавили. Так придбав міні АТС Siemens HiPath 1120 аж на 12 внутрішніх і 2 зовнішні лінії, хоч по-факту мені знадобилось лише дві.

2.1. Підключення

Для зручності підключення можна купити здвоєну коробоку із гніздами третьої категорії під RJ11, не таку, як у попередньому методі, а таку, щоб гнізда не були з’єднані. З такої коробки нам потрібно лише зелений і червоний провідники, які і підключаємо до АТС.

Не забуваємо підключити  живлення АТС і вуаля – у нас дві виділені лінії із власними номерами 11 і 13.

Спершу підключаємо обидва модеми до АТС, а тоді на ретро-ПК створюємо просте Dial-up з’єднання із номером другого комп’ютера. А на тому другому комп’ютері прийдеться трішки попрацювати.

Спершу нам потрібно встановити програмне забезпечення, яке буде приймати дзвінок і авторизовувати мережу через протокол Point-to-Point Protocol. Найпростіше це зробити із mgetty і pppd, які доступні для операційної системи Linux. Тому на віртуальну машину встановив найзручнішим для мене Arch Linux, все налаштував, зокрема і доступ до інтернету через цю віртуальну машину і зараз достатньо просто все це запустити.

Інструкцію підглянув у Doge Microsystems, модифікувавши її для Arch Linux.

2.2. Конфігурація

У першу чергу потрібно згідно інструкції встановити Arch Linux на віртуальну машину, у моєму випадку це VirtualBox.

Єдиний нюанс щодо конфігурації, це комутувати Serial Port з підключеним модемом на другий, а не перший порт. Базова конфігурація Arch Linux відправляє на перший порт повідомлення від ядра, а це нам не потрібно взагалі.

На чисту систему встановлюємо службу для зв’язку із віртуальною машиною і сервер OpenSSH, для зручності

# pacman -S virtualbox-guest-utils-nox
# systemctl enable vboxservice
# systemctl start vboxservice

# pacman -S openssh
# systemctl enable sshd
# systemctl start sshd

Далі необхідно встановити mgetty, дане ПО доступне через AUR, для зручності роботи з яким встановимо yay

# pacman -S go wget git base-devel

$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/yay.tar.gz
$ tar xvf yay.tar.gz
$ cd yay
$ makepkg -i

І вже з допомогою yay встановимо mgetty

$ yay -S mgetty

Після успішного встановлення, змінюємо налаштування на наступні:

# nano /etc/mgetty+sendfax/mgetty.config
debug 9
port ttyS1
  init-chat "" at OK ats0=0 OK
  port-owner root
  port-group root
  port-mode 0660
  data-only yes
  ignore-carrier no
  toggle-dtr yes
  rings 1
  autobauding yes
  #speed 115200

Опція init-chat у цьому прикладі виконує команду ATS0=0, яка відключає автоматичне підняття трубки у модемів U.S. Robotics, то для вашого модему така команда може відрізнятись

$ nano /etc/mgetty+sendfax/login.config

У відкритому файлі потрібно розкоментувати рядок, показаний нижче. Без цього не запрацює авторизація з протоколом PPP.

/AutoPPP/ -	a_ppp	/usr/sbin/pppd auth -chap +pap login debug

Наступний крок – вмикаємо сервіс mgetty

# systemctl enable mgetty@ttyS1
# systemctl start mgetty@ttyS1

Частину налаштувань mgetty завершено, тепер потрібно налаштувати pppd.

У першу чергу створюємо користувача для авторизації і встановлюємо йому пароль:

# useradd -m -G users -s /usr/sbin/pppd dial
# passwd dial

Далі змінюємо конфігурацію pppd на наступну:

# nano /etc/ppp/options
ms-dns 8.8.8.8
asyncmap 0
auth
crtscts
lock
show-password
+pap
debug
lcp-echo-interval 30
lcp-echo-failure 4
proxyarp
noipx

А також створюємо конфігурацію для модему:

# nano /etc/ppp/options.ttyS1
local
lock
nocrtscts
192.168.32.1:192.168.32.105
netmask 255.255.255.0
noauth
proxyarp
lcp-echo-failure 60

Останній крок у налаштуванні PPP сервера – додати створеного користувача до списку дозволених користувачів

# nano /etc/ppp/pap-secrets
dial	*	"password"	*

Де password треба замінити на пароль, встановлений для користувача dial.

Фінальний крок у налаштуванні власного Dial-in сервера – дозвір на маршрутизацію через такий сервер наступними командами.

# sysctl net.ipv4.ip_forward=1

# iptables -t nat -A POSTROUTING -s 192.168.32.0/24 -o enp0s3 -j MASQUERADE

Зазначу, що ці команди потрібно виконувати після кожного перезавантаження сервера, то для зручності можна створити bash-скрипт для їх швидкого виконання при запуску.

Конфігурацію завершено!

От тепер, попертаємось до першого ПК, на якому створено з’єднання, тиснемо кнопку Виклик і очікуємо на підключення. Все проходить на ура, про що нам повідомляє Windows і ми можемо без проблем зайти у інтернет!

Що цікаво, простенькі сторінки грузяться на ура, деякі сайти – ні, але думаю це через використаний браузер.

Якщо спробувати щось завантажити, то можна насолодитись реальною швидкістю з’єднання.

Як бачите – це 4 кб/c. Що становить 32 кбіт/c, і є верхньої фізичною межею цих модемів. Мої модеми підтримують стандарт V.90, яких характеризується швидкістю завантаження 56 кбіт/c і вивантаження 33 кбіт/c. Але оскільки у нас безпосередньо з’єднані два модеми, то ліміт у їх швидкості є швидкість вивантаження, тобто 33 кбіт/c.

Замість висновків

Ось так можна в 2021 спробувати старий, всіма забутий Dial-up дома, або ж навіть оживити ваш ретро-комп’ютер автентичним доступом в мережі Інтернет.

Наскільки цікавою була ця публікація

Середній рейтинг 5 / 5. Кількість голосів: 3

Будьте першим, хто проголосує!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *