И так. Так получилось, что достался DSL модем и телефонная линия для интернета. Возникла задача это всё дело настроить. Приступим.
Добавляем строки в /etc/rc.conf
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="provider"
Слово provider – может быть произвольным. Это идентифицирует настройки именно того подключения, которое будет использоваться. На самом деле в конфигурационном файле (имеется ввиду /etc/ppp/ppp.conf) может быть несколько описаний, и каждое может использоваться для своего подключения.
Далее, переходим в каталог /etc/ppp. Для этого вы должны обладать рутовыми правами (иначе не пустит). Чаще всего, что дефолтный конфиг уже присутствует. Но если это не так – читаем ниже. В любом случае, приводим файл ppp.conf к такому виду.
default:
set device PPPoE:em0:provider
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
set timeout 0
set redial 0 0
enable lqr
set lqrperiod 5
provider:
set authname ЛОГИН
set authkey ПАРОЛЬ
add default HISADDR
Поясним некоторые параметры.
em0 – имя внешнего интерфейса
set authname – задаём логин для доступа к интернету
set authkey – собственно пароль 🙂
Пару слов об MTU.
MTU – Maximum Transmission Unit. Это максимальный размер блока данных, который может быть передан через интерфейс. Это понятие находится на пересечении L2 и L3 и его интерпретация может различаться для разных вендоров.
Например, типичный размер MTU для физического L3-интерфейса 1500. То есть, грубо говоря, IP-пакет размером 1500 байт будет обработан, а 1501 – отброшен или фрагментирован. Зачастую фрагментация пакетов запрещена, и потому большие пакеты отбрасываются.
Если вы используете туннелирование, размер пакета увеличивается засчёт дополнительных заголовков (GRE, IPSec и т.д.) Например:
– для GRE: 24 байта (GRE, Новый IP).
– для GRE over IPSec: 56 и более байтов (зависит от режима работы и типа шифрования)
– для PPPoE: 36 (PPP, PPPoE, Ethernet)
Если у вас на маршрутизаторе MTU=1514, но у провайдера на физическом интерфейсе стоит MTU=1500, и на нём пакет будет отброшен.
Зачастую у вас нет возможности влиять на MTU по пути. Поэтому вы можете уменьшить MTU, на локальной стороне, использовать механизм Path MTU Discovery или даже настраивать MSS – Maximum Segment Size (относится уже к TCP). Подробнее о проблемах с MTU читайте тут и тут
Для всевозможных туннелей это совершенно типичная проблема.
ОЧЕНЬ СУЩЕСТВЕННЫ ОТСТУПЫ В ЭТОМ ФАЙЛЕ!!! Слова provider и default начинаются строго с начала строки, все остальные параметры начинаются строго с отступа. Собственно это и всё. Запустить соединение можно так
#ppp -ddial provider
Для управлением настроек соединения в режиме реального времени служит утилита pppctl. С её помощью вы можете налету менять настройки соединения.
Дополнения:
1) При больших нагрузках рвётся связь
Рекомендуется отключить lqr. Для этого добавим в конфиг такую строку:
disable lqr
При этом в логах будет отображаться меньше записей о подключении
2) Обрыв в произвольное время
Виной может быть строка набора номера для вашего модема
set dial "...... ATS10=10 OK ......"
Попробовать выставить меньше/больше таймаут
3) Прочие обрывы
Как вариант отключить компрессию
disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj