Долго мучался с настройкой PPPOE, потом обнаружил вот эту тему на буржуйском форуме, попробовал - всё именно так. Чтобы заработало, нужно сперва убить локалку, и только потом pppoe-start, причем в этом случае eth0 тоже подсоединяется, вроде бы также, но начинает всё работать как надо.
Почему это происходит? Странно. Хотелось бы понять причину.
Пишу именно в этом разделе, т. к. в других дистрибутивах с подобным не сталкивался.
Eth0 down > pppoe-start Почему? (Странная особенность)
Модератор: Модераторы разделов
-
ТВЭЛ
- Сообщения: 132
- ОС: основана на SlackWare
Eth0 down > pppoe-start Почему?
Время не ждет.
-
bormant
- Сообщения: 1354
Re: Eth0 down > pppoe-start Почему?
Позвольте полюбопытствовать, каков будет вывод (начинать с поднятым eth0):
# ifconfig
# route
# pppoe-start
# route
# pppoe-stop
# ifconfig eth0 down
# pppoe-start
# route
# cat /etc/ppp/options
# ifconfig
# route
# pppoe-start
# route
# pppoe-stop
# ifconfig eth0 down
# pppoe-start
# route
# cat /etc/ppp/options
-
ТВЭЛ
- Сообщения: 132
- ОС: основана на SlackWare
Re: Eth0 down > pppoe-start Почему?
Код:
root[begemot]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1d:72:2b:bc:af
inet addr:10.54.66.31 Bcast:10.54.66.63 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1512 (1.4 KiB) TX bytes:1781 (1.7 KiB)
Interrupt:16
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:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root[begemot]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.54.66.0 * 255.255.255.192 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 10.54.66.1 0.0.0.0 UG 0 0 0 eth0
root[begemot]# pppoe-start
. Connected!
root[begemot]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
217.18.128.30 * 255.255.255.255 UH 0 0 0 ppp0
10.54.66.0 * 255.255.255.192 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 10.54.66.1 0.0.0.0 UG 0 0 0 eth0
root[begemot]# pppoe-stop
Killing pppd (1818)
Killing pppoe-connect (1798)
root[begemot]# ifconfig eth0 down
root[begemot]# pppoe-start
........ Connected!
root[begemot]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
vpncsvr.bbn.tom * 255.255.255.255 UH 0 0 0 ppp0
10.54.66.0 * 255.255.255.192 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default * 0.0.0.0 U 0 0 0 ppp0
root[begemot]# cat /etc/ppp/options
cat: /etc/ppp/options: Нет такого файла или каталога
root[begemot]# ca
cal caller cancel cancel-cups captoinfo card case cat catchsegv catfish
root[begemot]# ls /etc/ppp/
chap-secrets chap-secrets-bak firewall-masq firewall-standalone pap-secrets pap-secrets-bak plugins pppoe-server-options pppoe.conf pppoe.conf-bak resolv.conf
root[begemot]# cat /etc/ppp/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 © 2000 Roaring Penguin Software Inc.
#
# This file may be distributed under the terms of the GNU General
# Public License.
#
# LIC: GPL
# $Id$
#***********************************************************************
# 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='******'
# 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=SERVER
# 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=yes
# 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=ETTH
# Specific desired service name
# SERVICENAME=telecom
# 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=/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
root[begemot]#При этом, когда pppoe запускается не убивая eth0, команда route очень долго думает (особенно перед выводом строки default), а если pppoe запустить после убитого eth0 - работает мгновенно.
P.S. Я там логин на звездочки заменил.
P.P.S. А ещё мне предстоит самое сложное. Сейчас я всего лишь имею доступ к томской сети, а чтобы выйти в мировой интернет, нужно умудриться настроить ещё один VPN поверх этого. Пока не получается, пишу из оффтопика.
Пока буду вдумчиво курить это - http://parafin.pp.ru/nag-20/
Правильно?
Время не ждет.
-
bormant
- Сообщения: 1354
Re: Eth0 down > pppoe-start Почему?
Хм, кажется угадал ;-)
Обрати внимание на шлюз по-умолчанию в первом и втором случае (особенно на колонку Iface). Думаю, в таком варианте тоже должно заработать.
Насчет /etc/ppp/options все нормально, в `which pppoe-start` есть примечание: "You should have NOTHING in that file", т.е. он должен быть пустым.
Это потому, что по-умолчанию пытается преобразовать ip в имя хоста -> dns запрос по "умолчальному" маршруту (eth0 вместо ppp0) -> таймаут. Ключ -n отключает эти попытки и route -n отработает также быстро.
Правильно.
Да, и в предыдущем сообщении поправь тэг code на codebox, никчему такие портянки ;-)
ТВЭЛ писал(а): ↑31.10.2008 22:41Код:
root[begemot]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 217.18.128.30 * 255.255.255.255 UH 0 0 0 ppp0 10.54.66.0 * 255.255.255.192 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo default 10.54.66.1 0.0.0.0 UG 0 0 0 eth0 root[begemot]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface vpncsvr.bbn.tom * 255.255.255.255 UH 0 0 0 ppp0 10.54.66.0 * 255.255.255.192 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo default * 0.0.0.0 U 0 0 0 ppp0 root[begemot]# cat /etc/ppp/options cat: /etc/ppp/options: Нет такого файла или каталога
Обрати внимание на шлюз по-умолчанию в первом и втором случае (особенно на колонку Iface). Думаю, в таком варианте тоже должно заработать.
Код: Выделить всё
# pppoe-start
# route del default
# route add default dev ppp0Насчет /etc/ppp/options все нормально, в `which pppoe-start` есть примечание: "You should have NOTHING in that file", т.е. он должен быть пустым.
Это потому, что по-умолчанию пытается преобразовать ip в имя хоста -> dns запрос по "умолчальному" маршруту (eth0 вместо ppp0) -> таймаут. Ключ -n отключает эти попытки и route -n отработает также быстро.
ТВЭЛ писал(а): ↑31.10.2008 22:41Пока буду вдумчиво курить это - http://parafin.pp.ru/nag-20/
Правильно?
Правильно.
Да, и в предыдущем сообщении поправь тэг code на codebox, никчему такие портянки ;-)
-
ТВЭЛ
- Сообщения: 132
- ОС: основана на SlackWare
Re: Eth0 down > pppoe-start Почему?
Спасибо, шлюз меняю, всё работает как надо. Правда, непонятно, почему pppoe сам не умеет менять шлюз.
Сейчас что-то совсем в депрессии, VPN поверх этого дела пока никак не получается запустить.
Сейчас что-то совсем в депрессии, VPN поверх этого дела пока никак не получается запустить.
Время не ждет.
-
ТВЭЛ
- Сообщения: 132
- ОС: основана на SlackWare
Re: Eth0 down > pppoe-start Почему?
Ура, я подключился! Пишу из Линукса, наконец-то. Теперь я всегда смогу получить нужную информацию, без оффтопика. Как я рад - не описать словами :) Очень непросто было новичку настроить последовательную сеть из pppoe + vpn.
Теперь у меня есть ppp0 и ppp1, через которые я и выхожу в сеть. Осталось автоматизировать всё.
Кстати, пока не пойму, как правильно завершать соединение, вызываемое pppd call, если нет pon/poff (Zenwalk)?
Теперь у меня есть ppp0 и ppp1, через которые я и выхожу в сеть. Осталось автоматизировать всё.
Кстати, пока не пойму, как правильно завершать соединение, вызываемое pppd call, если нет pon/poff (Zenwalk)?
Время не ждет.