[Решено]Подскажите, пожалуйста, про pppoe.

Всем доброго времени суток. Не подскажете, нет ли где-нибудь подробного описания как настраивать pppoe?

С livecd всё работает (только с отключённым firewall-ом), с жёсткого диска - нет, хотя при запуске ни на eth0, ни на ppp0 не ругается.
В ядре skge, как тут было сказано, подключила, правда не как модуль.

/etc/conf.d/net выглядит примерно так:

config_eth0=( "dhcp" )
config_ppp0=( "ppp0" )
link_ppp0="eth0"
plugins_ppp0=( "pppoe" )
username_ppp0='******'
passwd_ppp0='******'
pppd_ppp0=(
"defaultroute"
"usepeerdns"
"lcp-echo-interval 20"
"lcp-echo-failure 3"
...(тут ещё что-то)...
)
depend_ppp0() {
need net.eth0

на память точно не помню, а сижу под Windows

/mnt/gentoo/etc/ppp/pppoe.config дублирует /etc/ppp/pppoe.config (как он выглядит после подключения к сети)
в resolv.conf оба dns-сервера указаны

в ppp/options написано только lock

PS: Не ругайте сильно, если глупые ошибки. Первый раз сталкиваюсь с линуксом.

[url=http://ru.gentoo-wiki.co

[url=http://ru.gentoo-wiki.com/wiki/Служебная:Search?search=pppoe&go=%D0%9F%D0%B5%D1%80%D0%B5%D0%B9%D1%82%D0%B8]Вот кое что[/url]
Если ppp0 поднимается нормально, нужно обратить внимание на вывод route. Маршрут по умолчанию должен быть ч/з ppp0.

Сначала воспользуйтесь

Сначала воспользуйтесь поиском по этому форуму, тема поднималась неоднократно во всех подробностях.
Из описания видно, что у вас стоит сетевая карта Marvell. Проверьте, что ядро правильно определяет адаптер:

#dmesg |grep eth

Вы должны увидеть сообщения ядра об инициализации вашей сетевой карты.
Если вы их не видите - отконфигурируйте и заново установите ядро.
Не забудьте в настройках ядра включить необходимые опции ppp.
Зачем вы пытаетесь получить ip адрес на eth0?
Вот эти строки:

config_eth0=( "dhcp" )
depend_ppp0() {
need net.eth0

замените на:

config_eth0=( "none" )

или просто удалите.
Включите отладочные сообщения ppp:

pppd_ppp0=(
...
"debug"
...
)

В resolv.conf ничего прописывать не нужно. Параметр "usepeerdns" означает, что адреса dns серверов будут получены при поднятии вашего ppp соединения и resolv.conf будет изменен автоматически.
Далее запустите /et/init.d/net.ppp0 start.
Если внешне все прошло нормально, то сделайте

#ifconfig

Вы должны увидеть что-то вроде этого:

eth0      Link encap:Ethernet  HWaddr 00:00:21:fc:b9:25
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1245988 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1340542 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1121126840 (1.0 GiB)  TX bytes:154630235 (147.4 MiB)
          Interrupt:10 Base address:0x8000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:162357 errors:0 dropped:0 overruns:0 frame:0
          TX packets:162357 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2099363938 (1.9 GiB)  TX bytes:2099363938 (1.9 GiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:172.19.76.156  P-t-P:172.19.64.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:593 errors:0 dropped:0 overruns:0 frame:0
          TX packets:615 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:309908 (302.6 KiB)  TX bytes:93798 (91.5 KiB)

Если это так - поздравляю, у вас все работает. Если нет - читайте что пишет pppd в /var/log/messages на предмет ошибок.
Старайтесь давать больше точной информации о ваших настройках, тогда и помочь вам смогут быстрее.

Я конечно не знаток TCP/IP,

Я конечно не знаток TCP/IP, но насчет config_eth0=( "none" ) не согласен. По крайней мере у меня config_eth0=( "dhcp" ) и всё логично и работоспособно.
Проверь в ядре CONFIG_PPPOE, он почему-то помечен как эксперементальный и его часто пропускают, по крайней мере при сборке rp-pppoe система ругается на его отсутствие, так что это заметно.
И как уже сказано выше самая распространенная ошибка - неверные маршруты. Посмотри вывод netstat -r, конкретно на маршрут default, он должен идти через ppp0, а не через eth0, если всё же через него делай что-то вроде route del default и route add default ppp0.
Лично у меня ещё с DNS проблемы вываливались из-за маршрутов, так что попингуй 213.180.204.8.
Вроде минимануал специально для блондинки.

вообще у

вообще у него
.......
pppd_ppp0=(
"defaultroute"
....
но вывод команды netstat -nr "в студию" (а то гадать можно вечно)

Почитайте внимательно про

Почитайте внимательно про технологию pppoe хотя бы здесь - http://ru.wikipedia.org/wiki/PPPoE .
Вот краткая выжимка:

... Существует Ethernet-среда, то есть несколько соединённых сетевых карт, которые адресуются MAC-адресами. Заголовки Ethernet-кадров содержат адрес отправителя кадра, адрес получателя кадра и тип кадра. Одну из карт слушает PPPoE сервер. Клиент посылает широковещательный Ethernet кадр, на который должен ответить PPPoE сервер (адрес отправителя кадра — свой MAC-адрес, адрес получателя кадра — FF:FF:FF:FF:FF:FF и тип кадра — PPPoE Discovery). PPPoE сервер посылает клиенту ответ (адрес отправителя кадра — свой MAC-адрес, адрес получателя кадра — МАС-адрес клиента и тип кадра — PPPoE Discovery).Клиент ... посылает ему запрос на соединение. Сервер посылает клиенту подтверждение с уникальным идентификатором сессии, все последующие кадры в сессии будут иметь этот идентификатор. Таким образом, между сервером и клиентом создается виртуальный канал, который идентифицируется идентификатором сессии и MAC-адресaми клиента и сервера. Затем в этом канале поднимается PPP соединение, а уже в PPP пакеты упаковывается IP-трафик.
... IP-заголовки в Ethernet среде игнорируются ...

А я все же ошибся. Следует прописать не так:

config_eth0=( "none" )

а так

config_eth0=( "null" )

Это есть в примерах /etc/conf.d/net.example

да неважно что писать...

да неважно что писать...

Спасибо.При запуске оно

Спасибо.

При запуске оно пишет:
Starting ppp0
Bringing up ppp0
ppp
Running pppd
Backgrounding
Mounting network filesystems
...
На #dmesg |grep eth
выдаёт:
skge eth0: addr 00:0e:a6:74:c5:66
eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
eth0: no IPv6 routers present
//для eth1 пишет положенный ему Realtek

Вывод netstat -nr:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window rrtt Ifar
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

или я что-то не так делаю, или default там вообще нет

config_eth0=( "dhcp" )
Потому что выход в интернет через локальную сеть, а она вроде как DHCP использует. (И ещё потому что я очень плохо себе представляю как это всё устроено :-[) В любом случае, пока было config_eth0=( "null" ) ошибки выдавались ещё при запуске.

Да, а разве ppp не с помощью pppoe-start запускается? Потому что на попытку запустить /etc/init.d/net.pppo start выдаёт command not found.
pppoe-start пытается подключиться, но выдаёт TIMED OUT и /usr/sbin/pppoe-start:line 198:5173 Terminated

/etc/conf.d/net

config_eth0=("dhcp")
fallback_eth0=( "10.1.61.253 netmask 255.255.255.0" )
dhcp_eth0="release nodns nontp nonis nogateway nosendhost"
dns_servers_eth0="212.1.224.34 212.1.230.111"

config_ppp0=( "ppp" )
link_ppp0="eth0"
plugins_ppp0=( "pppoe" )
username_pp0='8677663'
password_ppp0='8677663'
pppd_ppp0=(
"noauth"
"defaultroute"
"holdoff 3"
"debug"
"lcp-echo-interval 20"
"lcp-echo-failure 3"
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp
)

depend_ppp0() {
need net.eth0
}

/etc/ppp/pppoe.conf

ETH='eth0'
USER='*******'
DEMAND=no
DNSTYPE=SPECIFY
PEERDNS=no
DNS1=212.1.224.34
DNS2=212.1.230.111
DEFAULTROUTE=yes
CONNECT_TIMEOUT=30
CONNECT_POLL=2
ACNAME=
SERVICENAME=
PING="."
PIDFILE="/var/run/$CF_BASE-pppoe.pid"
SYNCHRONOUS=no
CLAMPMSS=1412
LCP_INTERVAL=20
LCP_FAILURE=3
PPPOE_TIMEOUT=80
FIREWALL=NONE
LINUX_PLUGIN=
PPPOE_EXTRA=""
PPPD_EXTRA=""

Да, а разве ppp не с помощью

Да, а разве ppp не с помощью pppoe-start запускается?

Давайте определимся, каким способом мы будем подключаться. Их существует два - при помощи стандартного для gentoo метода с конфигурацией в /etc/conf.d/net и при помощи пакета rp-pppoe с конфигурацией в /etc/ppp/pppoe.conf. Как упоминается в файле с примерами /etc/conf.d/net.example, разработчиками gentoo рекомендуется первый путь. Давайте и мы будем следовать этим рекомендациям.
Оставим в покое конфигурацию eth0, на результат это не повлияет, пусть будет так, как сделано у вас сейчас.
Далее

на попытку запустить /etc/init.d/net.pppo start выдаёт command not found.

В конце команды /etc/init.d/net.pppo должен быть 0 а не буква о.
Для каждого сетевого интерфейса, создаваемого через /etc/conf.d/net, вы должны создать символическую ссылку на net.lo в /etc/init.d/.
Проверьте, что у вас существует символическая ссылка /etc/init.d/net.ppp0.
Если ее нет, нужно сделать так:

#cd /etc/init.d/
#ln -s net.lo net.ppp0

Смотрим дальше

username_pp0='8677663'
password_ppp0='8677663'

У вас не совпадает имя интерфейса для username и password. В обоих случаях оно должно быть ppp0.
Еще дальше

pppd_ppp0=(
"noauth"
"defaultroute"
"holdoff 3"
"debug"
"lcp-echo-interval 20"
"lcp-echo-failure 3"
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp
)

Вроде все нормально. Есть только одно замечание - я бы не стал указывать принудительное отключение компрессии (noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp). На самом деле это происходит автоматически на этапе установки соединения. А ваш провайдер может иметь по этому поводу другое мнение, чем вы, и ваша машина может не "договориться" с сервером о параметрах соединения.

Вроде все, пробуйте.
И не забудьте показать лог pppd из /var/log/messages.

Спасибо. Всё поправила, но на

Спасибо. Всё поправила, ссылки на всякий случай переделала, но на результат это не повлияло, к сожалению.

Цитата:
И не забудьте показать лог pppd из /var/log/messages.

Вот это?

Feb 20 20:36:16 compname pppd[7472]: Plugin passwordfd.so loaded.
Feb 20 20:36:16 compname pppd[7472]: Plugin rp-pppoe.so loaded.
Feb 20 20:36:16 compname pppd[7472]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.4
Feb 20 20:36:16 compname pppd[7473]: pppd 2.4.4 started by root, uid 0
Feb 20 20:36:51 compname pppd[7473]: Timeout waiting for PADO packets
Feb 20 20:36:51 compname pppd[7473]: Unable to complete PPPoE Discovery
Feb 20 20:37:29 compname pppd[7473]: Timeout waiting for PADO packets
Feb 20 20:37:29 compname pppd[7473]: Unable to complete PPPoE Discovery 

(И так постоянно)

Timeout waiting for PADO

Timeout waiting for PADO packets

Демон pppd говорит, что истекло время ожидания ответа на запрос обнаружения сервера. Этому может быть несколько причин.
1. Убедитесь, что ваше ядро собрано с поддержкой PPPOE. Для этого запустите конфигуратор ядра (make menuconfig в /usr/src/linux) и проверьте, что у вас отмечены соотверствующие пункты:

Device Drivers  --->
   [*] Network device support  --->
      <*>   PPP (point-to-point protocol) support
      <*>     PPP over Ethernet (EXPERIMENTAL)

2. Проверьте, что у вас отключен файервол.
3. Проверьте, что у вас правильно подключен Ethernet кабель к провайдеру. Так как у вас два сетевых адаптера, вы вполне могли перепутать кабеля местами.
Пожалуйста, выполните команду

#ifconfig

и покажите ее вывод.

Ядро собрано с поддержкой

Ядро собрано с поддержкой PPPOE(про это и в хендбуке было отдельно сказано, и потом проверяла).
По поводу кабеля, не могли бы Вы поподробнее объяснить как это сделать? (При подключении с LiveCD указываю eth0, всё работает).

На сайте провайдера описано как делать всё через pppoe.conf, но, это тоже не помогает.

#ifconfig выдаёт только eth0 и lo.

Вы писали: На #dmesg |grep

Вы писали:

На #dmesg |grep eth
выдаёт:
skge eth0: addr 00:0e:a6:74:c5:66
eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
eth0: no IPv6 routers present
//для eth1 пишет положенный ему Realtek

из чего я сделал вывод, что у вас два сетевых адаптера - Marwell и Realtek.
Если это так, какой из этих адаптеров находится у вас как eth0 при загрузке вашей рабочей системы, а какой - при загрузке с LiveCD?
Я не зря просил вас показать вывод команды ifconfig. В нем присутствует MAC адрес адаптера, по которому можно определить производителя. Там же можно увидеть, получила ли ваша сетевая карта ip адрес по dhcp, используется ли fallback адрес или этому интерфейсу не присвоен ip адрес вообще.

Итак, вопрос: сколько у вас в компьютере сетевых адаптеров?

Сетевых адаптеров

Сетевых адаптеров действительно два (Marvell и Realtek)
Написала eth1 вместо eth0, всё заработало. Спасибо Вам большое!

И всё-таки, если не трудно, расскажите, пожалуйста, как вот из этого:

eth0  Link encap: Ethernet HWaddr 00:C0:26:2D:3D:62
      UP BROADCAST MULTICAST MTU:1500 Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:0 (0.0b) TX bytes:0 (0.0b)
      Interrupt:22 Base address 0x6400

eth1  Link encap: Ethernet HWaddr 00:0E:A6:74:C5:66
      inet addr: fe80::20e:a6ff:fe74:c566/64 Scope:Link
      UP BROADCAST MULTICAST MTU:1500 Metric:1
      RX packets:49 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:4306 (4.2Kb) TX bytes:2345 (2.2Kb)
      Interrupt:22

можно узнать всё то, что Вы перечислили?
И почему при запуске с LiveCD всё работает с eth0 и не работает с eth1?

Ещё раз спасибо и за помощь, и за терпение :).

или есть 2 сетевухи, или есть

или есть 2 сетевухи, или есть порт firewire который опознаётся и как сетевуха. правила именования в на CD и в системе слегка разные, и поэтому первым становится то одно устройство, то другое.

Очень рад, что у вас все

Очень рад, что у вас все получилось.
Этот же результат можно было получить, если бы вы вынули кабель от вашего провайдера из одного сетевого адаптера и вставили его в другой, как я советовал ранее.

MAC адрес содержит в себе код производителя (или вендора) сетевого оборудования.
Определить его можно здесь:

http://www.coffer.com/mac_find/
http://standards.ieee.org/regauth/oui/index.shtml

К сожалению, в нашем случае это бы не сильно помогло, более точную информацию можно получить, выполнив команду:

#lspci

Далее, у вас была указана конфигурация для eth0 - сначала попытаться получить ip адрес по dhcp, а затем, если это сделать не получится, просвоить ip адрес из вашей настройки. Для eth1 настройки указаны не были, и в этом случае, система автоматически будет пытаться получить ip адрес по dhcp для eth1.
То есть, если бы вы получили на каком либо сетевом интерфейсе ip адрес по dhcp, то с очень большой вероятность этот интерфейс был бы подключен к вашему провайдеру, и именно этот интерфейс нужно было бы указывать в настройках ppрoe.
Эти выводы сделаны из исходных данных, предоставленных вами. Если бы вы изначально подробно описали конфигурацию вашей сети, оборудования а так же рекомендации вашего провайдера по настройкам подключения, то советы были бы более конкретные.
Сейчас, судя по этому

eth0  Link encap: Ethernet HWaddr 00:C0:26:2D:3D:62
      UP BROADCAST MULTICAST MTU:1500 Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:0 (0.0b) TX bytes:0 (0.0b)
      Interrupt:22 Base address 0x6400

eth1  Link encap: Ethernet HWaddr 00:0E:A6:74:C5:66
      inet addr: fe80::20e:a6ff:fe74:c566/64 Scope:Link
      UP BROADCAST MULTICAST MTU:1500 Metric:1
      RX packets:49 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:4306 (4.2Kb) TX bytes:2345 (2.2Kb)
      Interrupt:22

я могу сказать, что ваш провайдер не предоставлят вам ip адрес через dhcp, и значит в ваших настройках этот способ можно отключить.
Помните, "null"?

При загрузке с LiveCD происходит автоматическая подгрузка соответствующих модулей, и сетевые адаптеры нумеруются в порядке нахождения их на системной шине ядром.
Когда вы первый раз загрузились в вашу свежеустановленную систему, ядро обнаружило только тот сетевой адаптер, драйвер которого на тот момент был включен. Предполагаю, что это был ваш Realtek. Подсистема udev сохранила эту информацию в файле /etc/udev/rules.d/70-persistent-net.rules. Теперь ваш Realtek всегда будет присутствовать в системе как eth0.
Затем вы добавили в ваше ядро драйвер skge и после загрузки нового ядра подсистема udev добавила ваш Marwell в /etc/udev/rules.d/70-persistent-net.rules как eth1.
Таким образом вы получили нумерацию интерфейсов не в порядке нахождения их на системной шине, а в порядке, прописаном в /etc/udev/rules.d/70-persistent-net.rules.
Вы всегда можете изменить этот порядок, отредактировав соответствующие записи в /etc/udev/rules.d/70-persistent-net.rules.

Как всё хитро, оказывается:).

Как всё хитро, оказывается:). Спасибо большое.

Цитата:
Этот же результат можно было получить, если бы вы вынули кабель от вашего провайдера из одного сетевого адаптера и вставили его в другой, как я советовал ранее.

Ну тут понимаете какое дело, чтобы это сделать, равно как и вот это:

Цитата:
Если бы вы изначально подробно описали конфигурацию вашей сети, оборудования а так же рекомендации вашего провайдера по настройкам подключения, то советы были бы более конкретные.

надо это _знать_ или знать откуда это узнать. А Вы имеете дело с человеком, который аж неделю назад узнал о том, что существует такая штука, как ip-адрес, и что в системном блоке есть сетевая карта...(мне очень стыдно, но это и правда так). Поэтому извините за глупые вопросы.

PS: Заодно, раз уж я тут, то поздравляю всю мужскую часть этого форума с наступающим 23 февраля.

Ничего стыдного в этом нет. А

Ничего стыдного в этом нет. А для человека, который

аж неделю назад узнал о том, что существует такая штука ...

вы делаете огромные успехи.
Спасибо за поздравление.
Удачи.

Кстати, бывали такие шутки с

Кстати, бывали такие шутки с переименовыванием интерфейсов... обычно после обновления ядра.
Лечиться добавлением правила для udev:
cat /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:c0:ca:23:95", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:3c:b3:30", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Кстати, чтобы не плодить тем ( по поиску не нашел ) - где этой заразе PPPoE задать время проверки дисконекта? А то иногда по 10 минут простаивает :(

Ещё железный совет:

Ещё железный совет: поискать/поспрашивать на форуме провайдера, может найтись нужная информация по всяким опциям.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".