Настройка PPPoE ADSL-соединения под ОС Linux при помощи USB модема — HackZona.Ru

Настройка PPPoE ADSL-соединения под ОС Linux при помощи USB модема

Настройка PPPoE ADSL-соединения под ОС Linux при помощи USB модема

Тип статьи:
Со старой ХакЗоны.
Описание устройств и програмного обеспечения

Настройка подключения к сети интернет производилась при следующем оборудовании и программном обеспечении:


* комплект WEB-PLUS 'Волшебная коровка' без выделенного ip-адреса
* Имя пользователя asdl_user
* Пароль пользователя asdl_passwd
* ip-адрес 192.168.143.10 внутренней сети WEB-PLUS
* адрес первичного DNS сервера 194.8.160.190 WEB-PLUS
* адрес вторичного DNS сервера 195.131.52.130 WEB-PLUS
* ADSL модемем D-LINK DSL-200 USB
* Операционная система Fedore Core 4
* драйвер модема eciadsl-usermode-0.10-nortek-alpha.tar.bz2, находящийся на сайте eciadsl.flashtux.org
* Пакеты ppp-2.4.2-7 rp-pppoe-3.5-27, входящие в дистрибутив Fedora Core 4



Установка драйвера USB модема D-Link DSL-200 Generation II

К сожалению, фирма-изготовитель не выпускает драйвера для данного устройства под операционную систему Linux. Поэтому необходимо использовать драйвера, разработанные сторонними организациями или сообществами. Насколько известно автору, исследовавшему наличие драйверов, на доступных интернет узлах необходимые драйвера с соответствующим описанием настройки для типичных случаев выложены на единственном сайте eciadsl.flashtux.org/. Там можно скачать необходимый в нашем случае драйвер последней версии. В данной статье использовался драйвер eciadsl-usermode-0.10-nortek-alpha.tar.bz2, доступный по адресу eciadsl.flashtux.org/download.php?lang=en


Распаковка

Прежде всего необходимо распаковать архив:

Код:
[root@testadsl]# bunzip2 eciadsl-usermode-0.10-nortek-alpha.tar.bz2
[root@testadsl]# tar -xf eciadsl-usermode-0.10-nortek-alpha.tar

При необходимости можно ознакомиться с README, README_GS7470.txt, INSTALL, находящимися в каталоге с распакованным драйвером.


Проверка

В некоторых дистрибутивах возможен случай, когда модем DSL-200 определяется как звуковая карта; проверить это можно наличием или отсутствием загруженного модуля внешней звуковой карточки dabusb, если модуль загружен, то его необходимо отключить:

Код:
[root@testadsl]#lsmod |grep dabusb

Также, для работы драйвера модема необходимо загрузить модуль n_hdlc:

Код:
[root@testadsl]#modprobe n_hdlc


Установка драйвера

Если предыдущие пункты выполнены успешно, необходимо приступить к компиляции и установке драйвера, для этого нужно переместиться в каталог распакованного драйвера eciadsl-usermode-0.10-nortek-alpha.tar.bz2 и выполнить следующие команды:

Код:
[root@testadsl]#./configure
[root@testadsl]#make
[root@testadsl]#make install

Также, необходимо скопировать файлы gs7470_synch04.bin и gs7470_synch06.bin в каталог /etc/eciadsl из подкаталога с распакованным драйвером.


Конфигурирование

Процесс конфигурирования этого устройства подразумевает установление сетевых параметров устройства tap типа Ethernet, таких как ip-адрес, DHCP, шлюз и пр., а так-же параметров Vendor-ID(VID) и Product-ID(PID), необходимых для работы USB устройств.
Определение параметров VID1, PID1, VID2, PID2 производится путем выполнения команды:

Код:
[root@testadsl]#eciadsl-probe-device

ниже приведен возможный вывод утилиты:

Код:
your USB devices:
1: USB UHCI Root Hub (0000:0000)
2: USB-ADSL Modem / GlobespanVirata, Inc. (2001:5100)
3: Basic Optical Mouse / Microsoft (045e:0083)

Выбираем цифру 2:

Код:
probed USB device: USB-ADSL Modem / Microsoft
VID1=2001, PID1=5100
VID2=2001, PID2=5100
Did you really unplug/replug your modem before launching this script?

Всвязи с тем, что установление PPPoE-соединения производится поверх Ethernet устройства, сетевые параметры Ethernet устройства неважны, поэтому при редактировании конфигурационного файла /etc/eciadsl.conf эти параметры можно пропустить. Ниже приведен пример конфигурационного файла /etc/eciadsl.conf, использующегося для создания сетевого устройства tap0 типа Ethernet.

Код:
VID1=2001
PID1=5100
VID2=2001
PID2=5100
MODE=LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS
VCI=32
VPI=1
FIRMWARE=/etc/eciadsl/firmware00.bin
SYNCH=/etc/eciadsl/gs7470_synch06.bin
PPPD_USER=
PPPD_PASSWD=
USE_DHCP=no
USE_STATICIP=yes
MODEM=Other
MODEM_CHIPSET=GS7470
SYNCH_ALTIFACE=5
PPPOECI_ALTIFACE=1
PROVIDER=Other


Запуск

Для создания устройства tap типа Ethernet необходимо ввести команду:

Код:
[root@testadsl]#eciadsl-start

Модем начнёт синхронизироваться, о чём сообщает мигающая лампочка на модеме, по установке соединения лампочка станет светить постоянно, и утилита eciadsl-start сообщит вам об успешном соединении.
Ниже приведен фрагмент вывода команды ifconfig:

Код:
tap0 Link encap:Ethernet HWaddr F6:F2:D4:2A:31:6C
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:1419 (1.3 KiB) TX bytes:1475 (1.4 KiB)


Настройка PPPoE-соединения

Создание PPPoE-соединения при помощи утилиты adsl-setup
Настойку ppp-соединения можно осуществить при помощи утилиты asdl-setup, входящую в состав пакета rp-pppoe-3.5-27. Для запуска утилиты необходимо ввести команду:

Код:
[root@testadsl]#adsl-setup

При помощи данной утилиты можно ввести следующие параметры PPPoE-соединения:
* Login Name = adsl_user
позволяет ввести имя пользователя;
* INTERFACE = tap0
Ethernet устройство, посредством которого устанавливается ppp-соединение;
* DEMAND = no
значение 'no' позволяет ppp-соединению существовать неограниченно долго;
* primary DNS server = 194.8.160.190
* secondary DNS server = 195.131.52.130
адреса первичных и вторичных DNS серверов;
* PASSWORD = adsl_passwd
пароль на установление соединения;
* USERCTRL = no
значение 'no' запрещает всем пользователям кроме root устанавливать или завершать ppp-соединение;
* FIREWALLING = 0
отключает стандартный FIREWALL;
* ONBOOT = no
при параметре 'no' устройство не будет инициализированно при загрузке.
Результатом выполнения этой утилиты станет создание файла
/etc/sysconfig/network-scripts/ifcfg-ppp0, а так же добавление в файлы /etc/ppp/pap-secrets и /etc/ppp/chap-secrets строки «adsl_user» * «adsl_passwd и добавленее в файл /etc/resolv.conf адресов DNS серверов

Код:
nameserver 194.8.160.190
nameserver 195.131.52.130

Редактирование файла ifcfg-ppp0
Так как утилита asdl-setup настраивает не все необходимые параметры ppp-соединения, нужно отредактировать файл /etc/sysconfig/network-scripts/ifcfg-ppp0 с целью внесения в него сетевых параметров ppp-соединения. После редактирования этот файл должен выглядеть примерно следующим образом:

Код:
USERCTL=yes
BOOTPROTO=none
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=no
PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=yes
SYNCHRONOUS=no
ETH=tap0
PROVIDER=DSLppp0
USER=adsl_user
PEERDNS=no
DEMAND=no
NETMASK=255.255.255.255
IPADDR=192.168.143.10
IPV6INIT=no
PERSIST=no


Установка PPPoE-соединения

Для установки PPPoE-соединения достаночно ввести команду

Код:
[root@testasdl]# ifup ppp0

Ниже приведен фрагмент файла журнала /var/log/messages, в котором показано удачное установление и завершение ppp-соединения:

Код:
Feb 27 23:33:35 testadsl pppd[8130]: pppd 2.4.2 started by root, uid 0
Feb 27 23:33:35 testadsl pppd[8130]: Using interface ppp0
Feb 27 23:33:35 testadsl pppd[8130]: Connect: ppp0 <-> /dev/pts/8
Feb 27 23:33:36 testadsl pppd[8130]: Warning — secret file /etc/ppp/pap-secrets has world and/or group access
Feb 27 23:33:37 testadsl pppd[8130]: Warning — secret file /etc/ppp/pap-secrets has world and/or group access
Feb 27 23:33:37 testadsl pppd[8130]: PAP authentication succeeded
Feb 27 23:33:37 testadsl pppd[8130]: local IP address 192.168.143.10
Feb 27 23:33:37 testadsl pppd[8130]: remote IP address 1.1.3.1
Feb 28 00:51:41 testadsl adsl-stop: Killing pppd
Feb 28 00:51:41 testadsl pppd[8130]: Terminating on signal 15.
Feb 28 00:51:47 testadsl pppd[8130]: Connection terminated.
Feb 28 00:51:47 testadsl pppd[8130]: Connect time 78.1 minutes.
Feb 28 00:51:47 testadsl pppd[8130]: Sent 268409 bytes, received 2520326 bytes.
Feb 28 00:51:47 testadsl pppd[8130]: Connect time 78.1 minutes.
Feb 28 00:51:47 testadsl pppd[8130]: Sent 268409 bytes, received 2520326 bytes.
Feb 28 00:51:47 testadsl pppd[8130]: Exit.


Статья написана моим другом, я ее не проверял и никаких изменений не вносил, так что сильно меня не критикуйте, пожалуйста :)
Нравится
Не нравится

1 комментарий

15:05
Как раз искал эту информацию. Спасиб0.