LINUX.ORG.RU
решено ФорумAdmin

Бага в pppoe? | usepeerdns

 


0

2

Debian 8.7 Два pppoe соединения, в ppp0 конфиге прописано usepeerdns,во втором ppp1 #usepeerdns В результате при поднятии вторым ppp1 перезаписываются dns на ненужные, ведь def gw для ppp0 В итоге сижу с chattr +i /etc/resolv.conf и 8.8.8.8 внутри

Есть фикс?

Может быть весь конфиг выложишь? У меня не перезаписывается ни что само по себе. И кто управляет сетью, только networking.service?

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 2)
Ответ на: комментарий от mandala

да конфиги стандартные, да networking

# Configuration file for PPP, using PPP over Ethernet 
# to connect to a DSL provider.
#
# See the manual page pppd(8) for information on all the options.

##
# Section 1
#
# Stuff to configure...

# MUST CHANGE: Uncomment the following line, replacing the user@provider.net
# by the DSL user name given to your by your DSL provider.
# (There should be a matching entry in /etc/ppp/pap-secrets with the password.)
#user myusername@myprovider.net

# Use the pppoe program to send the ppp packets over the Ethernet link
# This line should work fine if this computer is the only one accessing
# the Internet through this DSL connection. This is the right line to use
# for most people.
#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"

# An even more conservative version of the previous line, if things
# don't work using -m 1452... 
#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1412"

# If the computer connected to the Internet using pppoe is not being used
# by other computers as a gateway to the Internet, you can try the following
# line instead, for a small gain in speed:
#pty "/usr/sbin/pppoe -I eth0 -T 80"


# The following two options should work fine for most DSL users.

# Assumes that your IP address is allocated dynamically
# by your DSL provider...
#noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
# Use this connection as the default route.
# Comment out if you already have the correct default route installed.
defaultroute
#replacedefaultroute
#nodefaultroute

##
# Section 2
#
# Uncomment if your DSL provider charges by minute connected
# and you want to use demand-dialing. 
#
# Disconnect after 300 seconds (5 minutes) of idle time.

#demand
#idle 300

##
# Section 3
#
# You shouldn't need to change these options...

hide-password
lcp-echo-interval 20
lcp-echo-failure 3
# Override any connect script that may have been set in /etc/ppp/options.
connect /bin/true
noauth
persist
mtu 1492
holdoff 60
unit 0

# RFC 2516, paragraph 7 mandates that the following options MUST NOT be
# requested and MUST be rejected if requested by the peer:
# Address-and-Control-Field-Compression (ACFC)
noaccomp
# Asynchronous-Control-Character-Map (ACCM)
default-asyncmap

plugin rp-pppoe.so eth2
user "user-8"
vkontakte
() автор топика
Ответ на: комментарий от vkontakte

Простейший фикс — это прописать в /etc/ppp/ip-up.d/ppp1 переписывание /etc/resolv.conf.pppd-backup.ppp1 (или как он у тебя точно называется) обратно в /etc/resolv.conf, можно даже удалением и копированием файла.

У меня не воспроизводится, но у меня нет под рукой двух pppoe, развлекаюсь на простых модемах. Это не должно влиять, но мало ли.

Кстати, у тебя случаем пакет resolvconf не стоит (именно пакет так называется)? Если стоит, то снеси его к чертовой матери, с ним только морока лишняя и именно он может перехватывать управлением DNS (но он сообщает об этом в /etc/resolv.conf)

mandala ★★★★★
()
Ответ на: комментарий от vkontakte

Не понятно, почему перезаписывается, но если у вас действительно Интернет появляется только при поднятии ppp1 от одного провайдера, то может всё-таки заюзать DNS-сервер для локальных зон, а форвард прописать на провайдера/8.8.8.8. Нет Интернета - всё равно не доступны нелокальные адреса. А в /etc/resolv.conf будет вечно стоять 127.0.0.1

vodz ★★★★★
()
Ответ на: комментарий от vodz

Всё не то, у меня три провайдера и в идеале нужно при смене def gw менялись и dns, а у меня ppp1 перезаписывает днс на свои даже если запущен не последним,вот просто ему захотелось так) Я думал реально баг, где то видел инфу про баг скриптов 0000usepeerdns в pppoe, как бы это всё дело сбросить или переустановить =\

vkontakte
() автор топика
Ответ на: комментарий от vkontakte

Баг то небось в том, что не прописывает, а не в том, что прописывает когда не просят :) Может просто банальная путаница, юзается один и тот же конфиг? Закоментируйте в обоих и вызывайте один с опцией usepeerdns, включить максимальные логи...

vodz ★★★★★
()
Ответ на: комментарий от vodz

Если в обоих конфигах закоментировать #usepeerdns то не перезаписываются никаких днс, если хоть в одном конфиге раскоментировать то уже оба соединения вытягивают днс провайдера и пишут, причем ppp1 какой то наглый, перезаписывает днс периодически когда никаких переподключений не было

vkontakte
() автор топика
Ответ на: комментарий от vkontakte

Вот скрипт /etc/ppp/ip-up.d/0000usepeerdns

может кто подскажет как его переделать для работы только с одним ppp0

#!/bin/sh -e

# this variable is only set if the usepeerdns pppd option is being used
[ "$USEPEERDNS" ] || exit 0

# exit if the resolvconf package is installed
[ -x /sbin/resolvconf ] && exit 0

# create the file if it does not exist
if [ ! -e /etc/resolv.conf ]; then
  : > /etc/resolv.conf
fi

# follow any symlink to find the real file
REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf)

# merge the new nameservers with the other options from the old configuration
{
  cat /etc/ppp/resolv.conf
  grep --invert-match '^nameserver[[:space:]]' "$REALRESOLVCONF" || true
} > "$REALRESOLVCONF.tmp"

# backup the old configuration and install the new one
cp -a "$REALRESOLVCONF" "$REALRESOLVCONF.pppd-backup.$PPP_IFACE"
mv -f "$REALRESOLVCONF.tmp" "$REALRESOLVCONF"

# restart nscd because resolv.conf has changed
if [ -e /var/run/nscd.pid ]; then
  /etc/init.d/nscd restart || true
fi

exit 0
vkontakte
() автор топика
Ответ на: комментарий от vkontakte

сли в обоих конфигах закоментировать #usepeerdns то не перезаписываются никаких днс, если хоть в одном конфиге раскоментировать то уже оба соединения вытягивают днс провайдера и пишут

Ну вот видите, логически это не возможно, больше похоже, что юзается один конфиг, в котором раскоментировано.

vodz ★★★★★
()
Ответ на: комментарий от thesis

Не могу его осилить

Важна последовательность верхних трёх, но с этим конфигом он прописывает только 127.0.0.0 /etc/resolvconf/interface-order

# interface-order(5)
ppp0
eth4
ppp1
lo.inet6
lo.inet
lo.@(dnsmasq|pdnsd)
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
eth*([^.]).inet6
eth*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
eth*([^.]).inet
eth*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
eth*
@(ath|wifi|wlan)*([^.]).inet6
@(ath|wifi|wlan)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
@(ath|wifi|wlan)*([^.]).inet
@(ath|wifi|wlan)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
@(ath|wifi|wlan)*
ppp*
*
пока что прописал 8.8.8.8 через /etc/resolvconf/resolv.conf.d/head

vkontakte
() автор топика
Ответ на: комментарий от vodz

Как ты пришел к такому выводу, это разные провайдеры,разные интерфейсы и разные логины пароли =\

auto eth2
iface eth2 inet dhcp
auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set eth2 up
provider dsl-provider

auto eth1
iface eth1 inet dhcp
        hwaddress ether 00:e0:4c:19:ba:3e
auto dsl-provider2
iface dsl-provider2 inet ppp
pre-up /bin/ip link set eth1 up
provider dsl-provider2

vkontakte
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.