Настройка подключения к интернету через wvdial с нуля
1. Введение
Здесь рассказывается как создать сетевые интерфейсы для подключения к интернету с помощью обычного текстового редактора без использования каких-либо утилит для настройки.
Подразумевается что у вас установлены необходимые пакеты (wvdial pppd) и модем правильно определился системой. Для проверки модема используйте minicom (minicom).
1.1. Почему не KPPP
Потому что KPPP не создает сетевых интрефейсов, из за чего его практически невозможно использовать в скриптах (например для запуска по расписанию). Плюс к этому KPPP требует наличия графической оболочки и не работает в консоли.
1.2. Почему с нуля, ведь есть же redhat-config-network
Во-первых — для понимания системы. Если вы будете представлять какие файлы используются для соединения с интернетом, процесс перенесения настроек с одно машины на другую у вас не вызовет затруднений.
Во-вторых — графические приложения менее надежны, особенно их бета-версии. После их работы может получится так, что файлы настроек противоречат друг другу.
1.3. Что нам нужно
Нужна консоль и привилегии пользователя root. Для получения привилегий можно использовать команду
su -
Для создания файлов настроек новичкам могу порекомендовать Midnight Commander (mc). В нем можно легко перейти в нужный каталог и отредактировать файл.
Для создания файла можно использовать команду
touch <имя файла>
2. Перейдем к делу
Итак, перейдем к файлам настроек. Нужно всего лишь создать их или отредактировать. Синими комментариями помечены места требующие вашего особого внимания. Если ваш модем подключен к COM2, то используйте устройство /dev/ttyS1.
2.1. /etc/sysconfig/network-scripts/ifcfg-ppp0
# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
USERCTL='yes'
BOOTPROTO='dialup'
NAME='inet0'
DEVICE='ppp0'
TYPE='Modem'
# Не активировать при старте системы
ONBOOT='no'
# Протоколы сжатия
BSDCOMP='on'
CCP='off'
VJCCOMP='off'
AC='off'
VJ='on'
PC='off'
LINESPEED='115200'
#!!!! порт модема COM1 !!!!
MODEMPORT='/dev/ttyS0'
DEMAND='no'
PROVIDER='inet'
#!!! Делаем интерфейс шлюзом по умолчанию
DEFROUTE='yes'
PERSIST='no'
#!!! ВАЖНО ! papname должен совпадать с логином !!!!
PAPNAME='pppname'
WVDIALSECT=inet0
MODEMNAME='Modem0'
#!!! Нужно для автоматического определения ДНС
# серверов и использования их в качестве основных
PEERDNS='yes'
# Secrets for authentication using PAP
# client server secret IP addresses
####### redhat-config-network will overwrite this part!!! (begin) ##########
####### redhat-config-network will overwrite this part!!! (end) ############# логин и парольpppname ppp0 ppppass
2.4. /etc/ppp/peers/wvdial
noauthname wvdial
2.5. /etc/ppp/options
debug lock modem auth -chap +pap crtscts # !!! mtu mru для плохих линий (размер пакета +40 байт заголовка) mtu 552 mru 552
2.6. /etc/ppp/ip-up.local
#!/bin/bash
echo "in " `/bin/date` "$@" >> /var/log/ppp-stat
#!!! Здесь можно добавить ваши команды запускаемые при входе в инет
2.7. /etc/ppp/ip-down.local
#!/bin/bash
echo "out " `/bin/date` "$@" >> /var/log/ppp-stat
#!!! Здесь можно добавить ваши команды при выходе из инета
3. Безопасность превыше всего!
В файлах /etc/ppp/pap-secrets и /etc/wvdial.conf пароли хранятся открытым текстом, поэтому нужно настроить права доступа следующим образом.
В целях безопасности необходимо установить владельцем всех файлов root.