Оставим в стороне вопросы типа «А не проще ли было настроить модем роутером и не мучиться?». Так было нужно. Цель — средствами консоли (ну не нравится мне network-manager!!!) настроить PPPoE соединение, автоматически стартующее при загрузке компьютера.
Настройка производилась по статье с сайта официальной документации Ubuntu. Статья расположена по адресу:
https://help.ubuntu.com/community/ADSLPPPoE
Вводная — модем, как и сказано в заголовке статьи, настроен в режиме bridge, в него вписаны значения VPI и VCI, выданные провайдером. Модем подключен кабелем в сетевую плату eth0 компьютера, на котором установлен дистрибутив Ubuntu desktop 12.04.
Итак, запускаем терминал, и в нем вводим команду:
sudo pppoeconf
Вариантов дальнейшего развития может быть два. Первый — неудовлетворительный: пакет pppoeconf не установлен. В таком случае его можно например, поискать и скачать с сайта пакетов Ubuntu и установить «руками». Также, пакет может присутствовать на том диске, с которого вы устанавливали Ubuntu. Добавьте его в число источников ПО и затем выполните установку.
Второй вариант — благоприятный, пакет pppoeconf установлен. В таком случае запустится программа настройки PPPoE подключения. Самый первый скрин работы программы в данной заметке не приведен — в нем программа проводит сканирование сетевых адаптеров на предмет наличия модемов. ВАЖНО: на момент запуска программы модем должен быть (а) включен, (б) подключен к линии и (в) подключен к компьютеру! Иначе, программа сообщит, что модемов не найдено и завершит свою работу.
После того, как модем найден, программа выдаст предупредительное сообщение:
С учетом того, что мы все-таки пришли сюда, чтобы настроить новое (а может быть и перенастроить старое) подключение, СОГЛАШАЕМСЯ — щелкаем «ДА».
Следующее сообщение программы поинтересуется, хотим ли мы использовать некие предлагаемые ей дополнительные опции подключения:
В моем случае (равно как и в 99% остальных), эти дополнительные опции будут вовсе не лишними. Желающие подробнее узнать о сути этих параметров могут (как и предлагается системой) почитать man (8) pppd, ну или ознакомиться с его переводом на русский язык в интернете. Соглашаемся, щелкаем «ДА» и перходим к следующему шагу.
Программа предложит вам ввести имя пользователя:
В этом поле вам нужно ввести тот логин (имя пользователя), который вам выдал провайдер. Будьте внимательны, не допускайте ошибок. Также, дополнительно обращаю внимание ваше внимание на регистр букв, «User» и «user» — это РАЗНЫЕ логины!
Следующий пункт — ввод пароля:
Введите пароль вашей учетной записи, который вам выдал провайдер. Опять же, снова напоминаю и о внимательности, и о регистре букв!
Следующий вопрос — об автоматическом добавлении адресов DNS-серверов провайдера в список к «уже имеющимся в системе», после того, как устанавливается подключение:
СОГЛАШАЕМСЯ! Без этого мы рискуем получить неработающую систему. (Или вы наизусть помните все IP-адреса интересующих вас серверов? 🙂 )…
Следующее диалоговое окно программы предложит установить для ADSL-подключения размер MTU равным 1452 байтам:
Тоже соглашаемся. Программа сообщит, что все параметры, необходимые для подключения настроены, и поинтересуется, хотите ли вы, чтобы ADSL-подключение устанавливалось автоматически при загрузке компьютера:
Отвечаем «ДА», но при этом пусть вам «на ум пойдет», что на самом деле этого БЕЗ ДОПОЛНИТЕЛЬНЫХ «телодвижений», увы происходить не будет! Об этом также сказано и в той статье с сайта Ubuntu, ссылку на которую я приводил выше. Переживать не стоит, ниже мы еще «поколдуем», чтобы впоследствии все было ОК.
В следующем окне программа предложит установить соединение прямо сейчас:
Выбираем «ДА»,программа выполнит процедуру подключения. Данное меню также предлагает вам запомнить две команды: pon dsl-provider и poff. Первая из них позволит вам вручную в консоли подключаться к провайдеру. Вторая — отключаться.
Должен дополнительно заметить, что если ранее вы ошиблись при вводе логина и/или пароля, то подключение произойдет как и положено (все будет выглядеть отлично!), но при этом доступ в интернет будет отсутствовать. По крайней мере, у меня именно так и было (я не доглядел в пароле, что одна из букв была введена мной не в том регистре, и в итоге лишние полчаса был вынужден угадывать — «как так, подключение ОК, а интернета нету?!»)…
Последний скрин — сообщение об успешном подключении:
На этом работа программы pppoeconf завершена. С данного скрина вам стоит запомнить команду plog, выводящую лог последнего подключения (надеюсь, команда ifconfig вам итак уже была известна)…
Проверить, что мы успешно подключились, в консоли проще всего такой командой:
ping -c5 google.com
Она позволяет нам сразу увидеть, что все прекрасно — служба DNS определит IP-адрес для указанного сервера, и начнет пинговать его. Если все Ok, то пинг достигнет цели, и ваш компьютер получит ответы в том же самом количестве.
Автозапуск при загрузке
Как уже было сказано выше, несмотря на то, что мы согласились с тем, что pppoeconf настроит автоматическое соединение с провайдером во время загрузки компьютера, в реальности этого увы не происходит.
Не «рассусоливая» понапрасну много текста, предлагаю просто выполнить следующее. Отредактируйте файл /etc/network/interfaces. Для этого введите команду:
sudo nano /etc/network/interfaces
И приведите файл к следующему содержанию:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet ppp
pre-up iptables-restore < /etc/network/firewall.rules
pre-up /sbin/ip link set dev eth0 up
post-down /sbin/ip link set dev eth0 down
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
Данный набор инструкций предполагает, что модем подключен к комьютеру через сетевой адаптер eth0. Если в вашем случае номер адаптера иной, укажите его вместо eth0 во всех строках, где он встречается.
Обращаю внимание на строку выделенную цветом — это необязательная команда. Она дословно означает следующее: перед тем как запустить интерфейс eth0 программа iptables-restore должна загрузить правила файервола из файла /etc/network/firewall.rules. В вашем случае она может быть и излишней, поэтому можете ее и не вписывать в файл /etc/network/interfaces.
Чтобы выйти из редактора, нажмите Ctrl + X, и в ответ на запрос согласитесь с сохранением изменений.
Перезагрузите ваш компьютер. Время загрузки увеличится. Сначала система выведет такой скрин:
Потом такой:
И лишь потом загрузится. Но по окончании загрузки у вас теперь должно быть уже активно подключение, и компьютер должен иметь доступ в интернет.
Ну и напоследок…
Chillispot и PPPoE
Собственно, все эти манипуляции я проделывал на компьютере, который выступал в роли хотспота. И доступ в интернет предоставлял «тот самый» Chillispot.
Нюансов в настройке в таком случае совсем не много. Во первых, в правилах файервола в качестве WAN-интерфейса нужно указать ppp0, вот так (выделено красным):
EXTIF="ppp0"
INTIF="eth1"
А во вторых, на всякий случай, стоит указать в настройках Chillispot-а (файл /etc/chilli.conf) адрес второго сервера DNS таким образом:
dns2 8.8.8.8
Суть данной перестраховки в том, что «может так статься», что на момент запуска Chillispot-а ADSL-соединение еще не будет установлено, и у компьютера еще не будет адреса(ов) сервера(ов) DNS. В итоге, в работе Chillispot могут наблюдаться проблемы. А так, мы принудительно подставляем вторым адрес одного из публичных DNS серверов Google, который подстрахует, если вдруг будет недоступен DNS сервер провайдера…