И снова, блин, билайн. PPTP. [solved]
- Поиском пользовался. :)
- baselayout-2
- Чтобы не громоздить всё в одном конфиге, разнёс по разным: net.eth0, net.ppp0 и тд.
net.eth0:
modules="dhcp" config_eth0="dhcp" dhclient_eth0="-nw" postup(){ IFACE="eth0" GATEWAY=$(ip route | grep default | awk $'{print $3}') einfo "Add routes for $IFACE via $GATEWAY:" einfo " " ROUTES="85.21.0.88 \ 85.21.0.217 \ 213.234.192.8 \ 85.21.192.3" for i in $ROUTES; do ip route add dev $IFACE $i via $GATEWAY; if [ "$?" == "0" ]; then einfo "Added route to $i via $GATEWAY on $IFACE."; else ewarn "Adding route to $i via $GATEWAY on $IFACE do not complete." fi done return 0 } predown(){ einfo "Clean routes for $IFACE:" einfo " " ip route flush dev $IFACE; if [ "$?" == "0" ]; then einfo "Deleted all routes on $IFACE."; else ewarn "Deleting routes on $IFACE do not complete."; fi return 0 }
net.ppp0:
VPNSERV='vpn.internet.beeline.ru' config_ppp0="ppp" link_ppp0="pty 'pptp $VPNSERV --nolaunchpppd --loglevel 1'" username_ppp0='username' password_ppp0='password' pppd_ppp0="defaultroute lock noauth refuse-eap refuse-chap refuse-mschap nobsdcomp nodeflate debug persist maxfail 0 holdoff 10 lcp-echo-interval 10 lcp-echo-failure 9" #postup(){ #ip route del default dev eth0 #} #postdown(){ #/etc/init.d/net.eth0 -D restart #}
- После запуска eth0:
# ip route 85.21.192.3 via GATE dev eth0 213.234.192.8 via GATE dev eth0 85.21.0.88 via GATE dev eth0 85.21.0.217 via GATE dev eth0 192.168.20.0/24 dev eth2 proto kernel scope link src 192.168.20.1 192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.1 10.29.40.0/21 dev eth0 scope link metric 4 127.0.0.0/8 via 127.0.0.1 dev lo default via GATE dev eth0 metric 4
Соответственно, работает всё, что может работать, используя внутренние ресурсы сети: dns, сайт пчелайна и тд и тп. Внешние ресурсы недоступны.
- После запуска ppp0:
# ip route 85.21.192.3 via GATE dev eth0 213.234.192.8 via GATE dev eth0 85.21.0.88 via GATE dev eth0 85.21.0.127 dev ppp0 proto kernel scope link src 95.27.20.28 85.21.0.217 via GATE dev eth0 192.168.20.0/24 dev eth2 proto kernel scope link src 192.168.20.1 192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.1 10.29.40.0/21 dev eth0 scope link metric 4 127.0.0.0/8 via 127.0.0.1 dev lo default via GATE dev eth0 metric 4 default via 85.21.0.127 dev ppp0 metric 4005
Если судить по логам pppd, то вроде бы нормально: авторизовалось, получило ip и тд, что подтверждает предыдущий вывод, и просмотр
ip addr
Теперь, проблема: интернет-ресурсы недоступны.
Если оставить всё как есть, то через полторы минуты pppd передёргивает соединение, т.к. No response to 9 echo-requests
При этом, во время того, как держится соединение, внешние ресурсы также недоступны, но 85.21.0.127 пингуется через интерфейс ppp0. Если удалить роут по умолчанию через GATE: ip route del default dev eth0
, то всё также недоступны внешние ресурсы.
При пинге внешних ресурсов, tcpdump говорит только то, что исходящие ICMP пакеты есть, а входящих нет. Пинговать ping что-то-там
не выходит. Надо указывать ключ -I ppp0, чтобы пакеты шли куда надо. Однако, никакого результата эта мера не приносит: также пакеты уходят, и также не возвращаются.
Что с этим делать-то?
Может быть у меня замылен глаз и я не вижу очевидного, тогда буду весьма благодарен, если меня в это ткнут.
- Для комментирования войдите или зарегистрируйтесь
HolyBoy написал(а): После
Теперь видите? У вас сразу два дефолта, к тому же у локального дефолта метрика ниже, так чего же вы хотите?
У меня работает такая конфигурация:
/etc/conf.d/net
/etc/ppp/options
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Вот! Про два роута я знаю.
Вот!
Про два роута я знаю. Но!
Если соединяться с опцией
nodefaultroute
, то толку всё равно нет.Если соединяться по вашему рецепту, то смотрите:
85.21.0.82 dev ppp0 proto kernel scope link src 78.106.212.224
к примеру, уже есть и добавлять роут к 85.21.0.82 через eth0 не выйдет. Так что, у вас этот участок не срабатывает. Не может срабатывать. Проверьте.HolyBoy написал(а): Про два
Хм, зачем же, в таком случае, вы ждёте обмена через ppp0, коль скоро все пакеты побегут по другому дефолту - eth0?
Если вы хотите непременно с этой опцией, то потребуются дополнительные телодвижения в postup. Удобнее использовать как раз наоборот - именно
defaultroute
Это не мой рецепт, это результат вкуривания манов
Некоторые маршруты уже приходят через DHCP, но в разных местностях - разные. Проверьте какие именно у вас, остальные (вам необходимые) - рученьками...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а): Хм, зачем
Но вы ж сами удаляете дефолтный роут ppp0, а не для eth0. А здесь говорите, что по ppp0 должны пакеты идти.
Ещё раз: при создании соединения с defaultroute создаётся маршрут до P-t-P через ppp0 и дефолтный роут через ppp0. Когда вы удаляете дефолтный роут ppp0, то всё сработает. Когда же попытаетесь добавить
route add -host $VPN gw $GATEWAY dev eth0
, то, разумеется, ничего не добавится.Я бы рад, но я не пойму, какая в результате должна получиться минимальная конфигурация. Попробую предположить, а вы поправьте, если ошибочно будет:
Если есть интерфейс eth0, с шлюзом GW и есть интерфейс ppp0 с IP_PPP=P-t-P, то нужны маршруты:
HolyBoy написал(а): не пойму,
А вот с этого и надо было начинать, всё остальное имеет смысл лишь после оного... Почитайте для начала хотя бы здесь и здесь (кстати - как ни странно, гугль по-прежнему рулит). А пока сообщу вам малоизвестную фичу пчелайна - DNS-сервера, привязываемые посредством DHCP на eth-интерфейс знают про vpn.internet.beeline.ru, но маловато знают про "внешнюю жизнь", а вот DNS-сервера, лепящиеся на ppp - всё с точностью до наоборот (vpn.internet.beeline.ru - это внутреннее имя, про него и служба whois не ведает). Так что либо привязывайте к каждому интерфейсу собственный набор адресов DNS-серверов, либо используйте опцию usepeerdns
Хм, и где ж вы это увидели? Если речь о
route del $VPN dev ppp0
, то к дефолту это не имеет никакого отношения. Коль скоро вы так невнимательны - то, что делает эта команда пусть будет вашим домашним заданиемМы тоже не всего читали Шнитке!.. © В. Вишневский
Заборол. :) Первую статью я
Заборол. :)
Первую статью я видел и она, в общем-то, малополезна, а вот вторая — та да, попутно решил несколько своих, частных проблем с её помощью.
Благодарю за содействие в решении проблемы.
мдя... ну и зачем все
мдя...
ну и зачем все громоздить и изобретать очередной лясопед если в openrc инит скрипты и так вполне адекватны.
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Что значит "громоздить"?
Что значит "громоздить"? :)
Как раз пихание всего-всего в один /etc/conf.d/net в моём случае и будет "громоздить". Присмотрись - у меня ничего сложного нет, я только сообщения вывожу, чтобы убедиться, что всё в порядке.
Интереснее, почему у меня после коннекта и всё равно не работает впн.
alexxy написал(а): зачем все
При чём здесь вообще скрипты? По-вашему net.conf и options.pptp теми самыми скриптами считываются вовсе не для конфигурирования под конкретику, а просто так, "чтоб было"?
alexxy написал(а): зачем все
А и правда, зачем что-то настраивать, если можно вместо этого просто хлопнуть в ладоши со словами "ёлочка, зажгись!" (а про себя добавив "ахаляй-махаляй, ну-ка, адекватные скрипты, подите туда - не знаю куда, сделайте то - не знаю что..." ;))
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Ребята, может я что-то
Ребята, может я что-то недопонимаю, но нагромоздили вы это кошмар...
тоже юзаю билайн.
/etc/conf.d/net
мой скрипт для подключения (если вручную подключаюсь)./connectnow.sh
где:
194.186.101.178 и 179 - DNS серверы, ну впн-серв вы поняли где,
и локалка - 10.0.0.0-10.255.255.255.255,
10.6.24.1 - шлюз
после запуска:
ananazzz написал(а): может я
А что, не может? :)
В смысле, каждый кулик свой кошмар хвалит? ;)
Мы тоже не всего читали Шнитке!.. © В. Вишневский
ananazzz написал(а):Ребята,
Если не знать, в каких условиях всё это работает, то да, кошмаром кажется.
Для решения этих проблем я использовал ip-up и ip-down, упомянутые в той статье. Оно лучше, чем свой велосипед с пингами, проверками существования устройства ppp0 и прочего, не говоря уже о минимализации мусора в таблице маршрутизации.