Введение
Данное руководствство не претендует на полноту обьяснения настройки ADSL-соединения с использованием
PPPoE(Point-to-Point Protocol over Ethernet) протокола, скорее оно является примером настройки такого
типа подключения к сети интернет.
ADSL - это попупулярная и прогрессирующая технология предостовления; доступа в интернет. В нашей стране за последние четыре года эта; технология сильно распространилась, появились провайдеры,предоставляющие услугу подключения к сети интернет при помощи технологии ADSL. Необходимым аппаратным оформлением этой технологии является устройство ADSL-модем. В данной статье пойдет речь о ADSL-модеме, подключаемом к компьютеру через USB порт, так как модемы данного типа сильно распространены в связи с относительной дешевизной этого устройства. Настройка таких модемов под операционную систему Linux не является проблематичной и достаточно полно обьяснена в информационных ресурсах компьютерной сети
интернет. Итоговым результатом такой настройки является создание интерфейса tap0 типа Ethernet, и в самом распространенном случае достаточно настроить сетевые параметры этого устройства, такие как ip-адрес, сетевая маска,
шлюз и пр. для получения доступа к сети интернет.Однако, пока что по не понятным для автора причинам популярным становится другой метод подключения к сети интернет при помощи ADSL технологии. Суть этого метода заключается в использовании протокола PPPoE при помощи которого создается ppp-соединение поверх Ethernet устройства tap0.
Описание устройств и програмного обеспечения
Настройка подключения к сети интернет производилась при следующем оборудовании и программном обеспечении:
* комплект 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
* Операционная система FedoreCore 4
* драйвер модема eciadsl-usermode-0.10-nortek-alpha.tar.bz2,
находящийся на сайте http://eciadsl.flashtux.org
* Пакеты ppp-2.4.2-7 rp-pppoe-3.5-27, входящие в дистрибутив Fedora Core 4
Установка драйвера USB модема D-Link DSL-200 Generation II
К сожалению, фирма-изготовитель не выпускает драйвера для данного устройства под операционную систему Linux. Поэтому необходимо использовать драйвера, разработанные сторонними организациями или сообществами. Насколько известно автору,исследовавшему наличие драйверов, на доступных интернет узлах необходимые драйвера с соответствующим описанием настройки для типичных случаев выложены на единственном сайте http://eciadsl.flashtux.org/ .
Там можно скачать необходимый в нашем случае драйвер последней версии. В данной статье использовался драйвер
eciadsl-usermode-0.10-nortek-alpha.tar.bz2, доступный по адресу http://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 и выполнить следующие команды:
Также, необходимо скопировать файлы 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.
Заключение
Данная статья не обхватывает в полном обьеме все аспекты получения доступа к сети интернет при помощи ADSL с
использованием протокола PPPoE. Это прежде всего связано с отсутствием времени у автора и возможности полноценного тестирования разных ADSL-модемов и разных операционных систем. В статье наглядно показана идеология настройки
такого рода подключения и приведен её пример.
Возможно, что в будущем статья будет дополняться и исправляться.