[Решено]Подскажите, пожалуйста, про 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. Проверьте, что ядро правильно определяет адаптер:
Вы должны увидеть сообщения ядра об инициализации вашей сетевой карты.
Если вы их не видите - отконфигурируйте и заново установите ядро.
Не забудьте в настройках ядра включить необходимые опции ppp.
Зачем вы пытаетесь получить ip адрес на eth0?
Вот эти строки:
замените на:
или просто удалите.
Включите отладочные сообщения ppp:
В resolv.conf ничего прописывать не нужно. Параметр "usepeerdns" означает, что адреса dns серверов будут получены при поднятии вашего ppp соединения и resolv.conf будет изменен автоматически.
Далее запустите /et/init.d/net.ppp0 start.
Если внешне все прошло нормально, то сделайте
Вы должны увидеть что-то вроде этого:
Если это так - поздравляю, у вас все работает. Если нет - читайте что пишет 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 .
Вот краткая выжимка:
А я все же ошибся. Следует прописать не так:
а так
Это есть в примерах /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 не с помощью
Давайте определимся, каким способом мы будем подключаться. Их существует два - при помощи стандартного для gentoo метода с конфигурацией в /etc/conf.d/net и при помощи пакета rp-pppoe с конфигурацией в /etc/ppp/pppoe.conf. Как упоминается в файле с примерами /etc/conf.d/net.example, разработчиками gentoo рекомендуется первый путь. Давайте и мы будем следовать этим рекомендациям.
Оставим в покое конфигурацию eth0, на результат это не повлияет, пусть будет так, как сделано у вас сейчас.
Далее
В конце команды /etc/init.d/net.pppo должен быть 0 а не буква о.
Для каждого сетевого интерфейса, создаваемого через /etc/conf.d/net, вы должны создать символическую ссылку на net.lo в /etc/init.d/.
Проверьте, что у вас существует символическая ссылка /etc/init.d/net.ppp0.
Если ее нет, нужно сделать так:
Смотрим дальше
У вас не совпадает имя интерфейса для username и password. В обоих случаях оно должно быть ppp0.
Еще дальше
Вроде все нормально. Есть только одно замечание - я бы не стал указывать принудительное отключение компрессии (noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp). На самом деле это происходит автоматически на этапе установки соединения. А ваш провайдер может иметь по этому поводу другое мнение, чем вы, и ваша машина может не "договориться" с сервером о параметрах соединения.
Вроде все, пробуйте.
И не забудьте показать лог pppd из /var/log/messages.
Спасибо. Всё поправила, но на
Спасибо. Всё поправила, ссылки на всякий случай переделала, но на результат это не повлияло, к сожалению.
Вот это?
(И так постоянно)
Timeout waiting for PADO
Демон pppd говорит, что истекло время ожидания ответа на запрос обнаружения сервера. Этому может быть несколько причин.
1. Убедитесь, что ваше ядро собрано с поддержкой PPPOE. Для этого запустите конфигуратор ядра (make menuconfig в /usr/src/linux) и проверьте, что у вас отмечены соотверствующие пункты:
2. Проверьте, что у вас отключен файервол.
3. Проверьте, что у вас правильно подключен Ethernet кабель к провайдеру. Так как у вас два сетевых адаптера, вы вполне могли перепутать кабеля местами.
Пожалуйста, выполните команду
и покажите ее вывод.
Ядро собрано с поддержкой
Ядро собрано с поддержкой PPPOE(про это и в хендбуке было отдельно сказано, и потом проверяла).
По поводу кабеля, не могли бы Вы поподробнее объяснить как это сделать? (При подключении с LiveCD указываю eth0, всё работает).
На сайте провайдера описано как делать всё через pppoe.conf, но, это тоже не помогает.
#ifconfig
выдаёт только eth0 и lo.Вы писали: На #dmesg |grep
Вы писали:
из чего я сделал вывод, что у вас два сетевых адаптера - Marwell и Realtek.
Если это так, какой из этих адаптеров находится у вас как eth0 при загрузке вашей рабочей системы, а какой - при загрузке с LiveCD?
Я не зря просил вас показать вывод команды ifconfig. В нем присутствует MAC адрес адаптера, по которому можно определить производителя. Там же можно увидеть, получила ли ваша сетевая карта ip адрес по dhcp, используется ли fallback адрес или этому интерфейсу не присвоен ip адрес вообще.
Итак, вопрос: сколько у вас в компьютере сетевых адаптеров?
Сетевых адаптеров
Сетевых адаптеров действительно два (Marvell и Realtek)
Написала eth1 вместо eth0, всё заработало. Спасибо Вам большое!
И всё-таки, если не трудно, расскажите, пожалуйста, как вот из этого:
можно узнать всё то, что Вы перечислили?
И почему при запуске с LiveCD всё работает с eth0 и не работает с eth1?
Ещё раз спасибо и за помощь, и за терпение :).
или есть 2 сетевухи, или есть
или есть 2 сетевухи, или есть порт firewire который опознаётся и как сетевуха. правила именования в на CD и в системе слегка разные, и поэтому первым становится то одно устройство, то другое.
Очень рад, что у вас все
Очень рад, что у вас все получилось.
Этот же результат можно было получить, если бы вы вынули кабель от вашего провайдера из одного сетевого адаптера и вставили его в другой, как я советовал ранее.
MAC адрес содержит в себе код производителя (или вендора) сетевого оборудования.
Определить его можно здесь:
http://www.coffer.com/mac_find/
http://standards.ieee.org/regauth/oui/index.shtml
К сожалению, в нашем случае это бы не сильно помогло, более точную информацию можно получить, выполнив команду:
Далее, у вас была указана конфигурация для eth0 - сначала попытаться получить ip адрес по dhcp, а затем, если это сделать не получится, просвоить ip адрес из вашей настройки. Для eth1 настройки указаны не были, и в этом случае, система автоматически будет пытаться получить ip адрес по dhcp для eth1.
То есть, если бы вы получили на каком либо сетевом интерфейсе ip адрес по dhcp, то с очень большой вероятность этот интерфейс был бы подключен к вашему провайдеру, и именно этот интерфейс нужно было бы указывать в настройках ppрoe.
Эти выводы сделаны из исходных данных, предоставленных вами. Если бы вы изначально подробно описали конфигурацию вашей сети, оборудования а так же рекомендации вашего провайдера по настройкам подключения, то советы были бы более конкретные.
Сейчас, судя по этому
я могу сказать, что ваш провайдер не предоставлят вам 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 имеет два режима работы: в первом он пищит, а во втором — всё портит.