RP-PPPoE в Ubuntu (mini HOWTO)
Итак, установив первый раз Ubuntu 8.10 столкнулся с проблемой настройки интернета. Хочется сразу отметить, что подключить интернет, это пожалуй самая главная вещь которую нужно сделать в первую очередь. И на этом этапе я столкнулся с рядом трудностей, поэтому у меня пошло около недели что бы все-таки настроить подключение. Поэтому, дабы облегчить жизнь начинающим линуксоидам (коим сам и являюсь))) решил поделиться своим опытом в этой небольшой статейке.
Не буду растягивать резину, перейдем сразу к делу. Самое первое что нужно сделать, еще в винде, это определить параметры вашей сети и тип подключения интернета. Это можно сделать, дважды щелкнув на значке сетевого подключения в трее
либо набрав в командной строке винды команду ipconfig –all.
Какие параметры нужно узнать:
1. Наличие/отсутствие сервера DHCP, который сам раздает IP адреса сети. (в первом окне напротив тип адреса написано настроен вручную либо присвоен DHCP)
2. IP адрес шлюза, маску подсети.
3. IP адрес сервера который раздает иннет (DNS)
Тип подключения к интернету. Опять таки это можно сделать дважды щелкнув на значке интернет подключения в трее:
Если вы видите что-то подобное у себя в сведениях, то скорее всего ваше подключение соответствует выделенному пункту мастера подключения в винде.
Исходя из скринов, могу сказать свои параметры, для которых я и буду описывать весь процесс подключения. Итак, в моей локальной сети нет сервера DHCP, адреса каждый присваивает себе сам в формате 192.168.1.ХХХ. Мой IP адрес 192.168.1.100, с маской 255.255.255.0, адрес шлюза 192.168.1.1, и адрес сервера 195.5.46.12. Подключение организовано через Ethernet-адаптер по протоколу PPPoE, и относиться к DSL подключению которое запрашивает имя пользователя и пароль. Хочу отметить такой момент, при подключении к интернету, ключевыми есть всего 3 параметра. Это имя службы, имя пользователя и пароль.
Переходим в Ubuntu. Сразу скажу, если у вас в сети нет DHCP сервера, во время установки сетевой кабель лучше вытянуть. Во-первых, встроенный Network Manager в любом случае корректно не настроит вам сеть, а во-вторых он не создаст никаких конфигурационных файлов, которые в дальнейшем могут только усложнить настройку сети. Вообще настроить иннет с помощью NM мне не удалось, по этому в силу его глючности было принято решение о сносе. Сетевой шнур я вставил только после того как удалил NM командами:
sudo apt-get remove network-managerПосле чего пропишем настройки сети вручную:
sudo gedit /etc/network/interfacesСодержимое файла interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
broadcast 192.168.1.255Перезагрузим сеть:
sudo /etc/init.d/networking restartДалее пропишем адрес сервера:
sudo gedit /etc/resolv.confСодержимое файла resolv.conf:
nameserver 195.5.46.12В принципе настройки до этого момента можно без проблем найти на сайте. Самое интересное пойдет далее. Настроить интернет стандартным pppoeconf мне не удалось, потому что просканировав интерфейсы утилита попросту ничего не нашла. О вкладке DSL стандартного NM я вообще молчу. Пошарив немного в гугле, я наткнулся на статью
http://www.linuxman.ru/пошаговое-руководство-ubuntu/шаг-2-настройка-интернетаВ ней описан пакет rp-pppoe, именно ним мы и займемся. Сам пакет и все его параметры подробно описаны здесь
http://vladimir-stupin.blogspot.com/2009/02/rp-pppoe.html Если интернета в Ubuntu у вас нет, скачать его можно с
http://packages.ubuntu.com/source/intrepid/rp-pppoeУстанавливал я его следующим образом, предварительно скопировав пакет rp-pppoe_3.8.orig.tar.gz в директорию /tmp:
sudo -s
cd /tmp/
tar zxvf rp-pppoe_3.8.orig.tar.gz -C /opt/
chown -R root:root /opt/rp-pppoe-3.8/
gedit /usr/share/applications/RP-PPPoE.desktopСодержание RP-PPPoE.desktop:
[Desktop Entry]
Name=RP-PPPoE
Comment=RP-PPPoE
Exec=gksudo /opt/rp-pppoe-3.8/go-gui
Icon=pppoeconf.xpm
Terminal=false
Type=Application
Categories=Application;Network;Обновляем панели:
killall gnome-panelДалее согласно статье можно настроить PPPoE в оконном режиме. Но у меня после запуска Приложения→Интернет→RP-PPPoE окно попросту пропало. Но.. не все так плохо, после его запуска в системе создались необходимые конфигурационные файлы, такие как например pppoe.conf. Установив просто пакет pppoe именно с этой проблемой вы и столкнетесь.
Далее запустим настройку в консольном режиме:
sudo pppoe-setupи ответим на пару простых вопросов:
Welcome to the Roaring Penguin PPPoE client setup. First, I will run
some checks on your system to make sure the PPPoE client is installed
properly...
Looks good! Now, please enter some information:
USER NAME
>>> Enter your PPPoE user name (default root): konel
INTERFACE
>>> Enter the Ethernet interface connected to the DSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default ): eth0
Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped. If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses. You may have some problems with demand-activated links.
>>> Enter the demand value (default no):
DNS
Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
>>> Enter the DNS information here: 192.5.46.12
Please enter the IP address of your ISP's secondary DNS server.
If you just press enter, I will assume there is only one DNS server.
>>> Enter the secondary DNS server address here:
PASSWORD
>>> Please enter your PPPoE password:
>>> Please re-enter your PPPoE password:
FIREWALLING
Please choose the firewall rules to use. Note that these rules are
very basic. You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security. If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself. Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc. If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
for a LAN
>>> Choose a type of firewall (0-2): 0
** Summary of what you entered **
Ethernet Interface: eth0
User name: konel
Activate-on-demand: No
Primary DNS: 195.5.46.12
Firewalling: NONE
>>> Accept these settings and adjust configuration files (y/n)? y
Adjusting /etc/ppp/pppoe.conf
Adjusting /etc/resolv.conf
(But first backing it up to /etc/resolv.conf-bak)
Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
(But first backing it up to /etc/ppp/pap-secrets-bak)
(But first backing it up to /etc/ppp/chap-secrets-bak)
Congratulations, it should be all set up!
Type 'pppoe-start' to bring up your PPPoE link and 'pppoe-stop' to bring
it down. Type 'pppoe-status' to see the link status.
Итак, имя пользователя (konel) и пароль мы уже ввели. Но у нас еще осталась служба, на которую идет дозвон. Для этого пропишем ее вручную в файле pppoe.conf:
sudo gedit /etc/ppp/pppoe.confВ строке SERVICENAME впишем имя службы:
# Specific desired service name
SERVICENAME=em_lineВ итоге файл pppoe.conf будет иметь вид:
#***********************************************************************
#
# pppoe.conf
#
# Configuration file for rp-pppoe. Edit as appropriate and install in
# /etc/ppp/pppoe.conf
#
# NOTE: This file is used by the pppoe-start, pppoe-stop, pppoe-connect and
# pppoe-status shell scripts. It is *not* used in any way by the
# "pppoe" executable.
#
# Copyright (C) 2000 Roaring Penguin Software Inc.
#
# This file may be distributed under the terms of the GNU General
# Public License.
#
# LIC: GPL
# $Id: pppoe.conf,v 1.11 2005/08/09 02:49:12 dfs Exp $
#***********************************************************************
# When you configure a variable, DO NOT leave spaces around the "=" sign.
# Ethernet card connected to DSL modem
ETH='eth0'
# PPPoE user name. You may have to supply "@provider.com" Sympatico
# users in Canada do need to include "@sympatico.ca"
# Sympatico uses PAP authentication. Make sure /etc/ppp/pap-secrets
# contains the right username/password combination.
# For Magma, use xxyyzz@magma.ca
USER='konel'
# Bring link up on demand? Default is to leave link up all the time.
# If you want the link to come up on demand, set DEMAND to a number indicating
# the idle time after which the link is brought down.
DEMAND=no
#DEMAND=300
# DNS type: SERVER=obtain from server; SPECIFY=use DNS1 and DNS2;
# NOCHANGE=do not adjust.
DNSTYPE=NOCHANGE
# Obtain DNS server addresses from the peer (recent versions of pppd only)
# In old config files, this used to be called USEPEERDNS. Changed to
# PEERDNS for better Red Hat compatibility
PEERDNS=no
DNS1=
DNS2=
# Make the PPPoE connection your default route. Set to
# DEFAULTROUTE=no if you don't want this.
DEFAULTROUTE=yes
### ONLY TOUCH THE FOLLOWING SETTINGS IF YOU'RE AN EXPERT
# How long pppoe-start waits for a new PPP interface to appear before
# concluding something went wrong. If you use 0, then pppoe-start
# exits immediately with a successful status and does not wait for the
# link to come up. Time is in seconds.
#
# WARNING WARNING WARNING:
#
# If you are using rp-pppoe on a physically-inaccessible host, set
# CONNECT_TIMEOUT to 0. This makes SURE that the machine keeps trying
# to connect forever after pppoe-start is called. Otherwise, it will
# give out after CONNECT_TIMEOUT seconds and will not attempt to
# connect again, making it impossible to reach.
CONNECT_TIMEOUT=30
# How often in seconds pppoe-start polls to check if link is up
CONNECT_POLL=2
# Specific desired AC Name
ACNAME=
# Specific desired service name
SERVICENAME=em_line
# Character to echo at each poll. Use PING="" if you don't want
# anything echoed
PING="."
# File where the pppoe-connect script writes its process-ID.
# Three files are actually used:
# $PIDFILE contains PID of pppoe-connect script
# $PIDFILE.pppoe contains PID of pppoe process
# $PIDFILE.pppd contains PID of pppd process
CF_BASE=`basename $CONFIG`
PIDFILE="/var/run/$CF_BASE-pppoe.pid"
# Do you want to use synchronous PPP? "yes" or "no". "yes" is much
# easier on CPU usage, but may not work for you. It is safer to use
# "no", but you may want to experiment with "yes". "yes" is generally
# safe on Linux machines with the n_hdlc line discipline; unsafe on others.
SYNCHRONOUS=no
# Do you want to clamp the MSS? Here's how to decide:
# - If you have only a SINGLE computer connected to the DSL modem, choose
# "no".
# - If you have a computer acting as a gateway for a LAN, choose "1412".
# The setting of 1412 is safe for either setup, but uses slightly more
# CPU power.
CLAMPMSS=1412
#CLAMPMSS=no
# LCP echo interval and failure count.
LCP_INTERVAL=20
LCP_FAILURE=3
# PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
PPPOE_TIMEOUT=80
# Firewalling: One of NONE, STANDALONE or MASQUERADE
FIREWALL=NONE
# Linux kernel-mode plugin for pppd. If you want to try the kernel-mode
# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
LINUX_PLUGIN=
# Any extra arguments to pass to pppoe. Normally, use a blank string
# like this:
PPPOE_EXTRA=""
# Rumour has it that "Citizen's Communications" with a 3Com
# HomeConnect DSL Modem DualLink requires these extra options:
# PPPOE_EXTRA="-f 3c12:3c13 -S ISP"
# Any extra arguments to pass to pppd. Normally, use a blank string
# like this:
PPPD_EXTRA=""
########## DON'T CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING
# If you wish to COMPLETELY overrride the pppd invocation:
# Example:
# OVERRIDE_PPPD_COMMAND="pppd call dsl"
# If you want pppoe-connect to exit when connection drops:
# RETRY_ON_FAILURE=no
Процесс настройки закончен, запускаем соединение:
sudo pppoe-start или
sudo pppoe-connectУспешным установлением сеанса будет подобное приветствие:
root@dmt:~# pppoe-start
.. Connected!или
root@dmt:~# pppoe-connect
Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
CHAP authentication succeeded: Welcome!!
CHAP authentication succeeded
found interface eth0 for proxy arp
local IP address 10.0.0.5
remote IP address 192.168.1.1Ну вот пожалуй и все. Прошу сильно не критиковать если что, а по возможности дополнить и уточнить данный сабж.