VPN по PPTP снова в руках начинающих

Осознаю, что много сказано уже про vpn в Gentoo, но знаю posix-системы пока довольно неглубоко, так что прошу помощи.
Задача: настроить соединение с интернетом через vpn в Gentoo 2007.0 liveCD (чтобы таки установить систему =))...

В соответствии с http://ru.gentoo-wiki.com/Настройка_VPN-соединения, опытом человека, настраивавшего уже gentoo в нашей же сети до рабочего состояния (!) наполняю следующие конфиги таким содержимым:

/etc/ppp/options

lock
noauth
+chap
defaultroute
usepeerdns

/etc/ppp/options.pptp

lock
noauth
nobsdcomp
nodeflate
persist

/etc/ppp/my_connect

name my_login
remotename PPTP
debug
lock
noauth
nobsdcomp
nodeflate
defaultroute
nodetach
noproxyarp
pty "/usr/sbin/pptp 10.100.0.2 --nolaunchpppd"

(/etc/ppp/chap-secrets тоже заполннены..)

Доступ в ближнюю сеть в большинстве случаев адекватно настраивается по DHCP (в результате чего пингуются местный vpn-сервер, dns)
Дальше:

pon my_connect

получаю debug-отчёт, в котором не усматриваю ничего говорящего о проблемах, появляется заветный интерфейс ppp0 на выводе ifconfig...

И тут как бы остаётся мелочь, в соответствии с руководствами и опять же опытом окружающих - удалить шлюз по умолчанию как он есть и добавить его для вновь возникшего интерфеса ppp0:

route del default
route add default gw 10.5.1.1 dev ppp0

и в течение ближайших десятка секунд всё перестаёт пинговаться, останавливается, пропадает ppp0 и нет пинга даже на ближайшие точки..

Постараюсь, естесственно, предоставить всякую необходимую информацию.

Вот ещё в догонку, на всякий случай, вывод данных об интерфейсах из под винды, где, как ни странно всё работает уже давно :))

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : name1234567
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : неизвестный
IP-маршрутизация включена . . . . : да
WINS-прокси включен . . . . . . . : да
Порядок просмотра суффиксов DNS . : psk-net.ru

Подключение по локальной сети 3 - Ethernet адаптер:

DNS-суффикс этого подключения . . : psk-net.ru
Описание . . . . . . . . . . . . : 3Com 3C905TX-based Ethernet адаптер
(универсальный)
Физический адрес. . . . . . . . . : 00-60-08-CD-68-DD
Dhcp включен. . . . . . . . . . . : да
Автонастройка включена . . . . . : да
IP-адрес . . . . . . . . . . . . : 10.5.14.250
Маска подсети . . . . . . . . . . : 255.255.240.0
Основной шлюз . . . . . . . . . . : 10.5.1.1
DHCP-сервер . . . . . . . . . . . : 10.100.0.11
DNS-серверы . . . . . . . . . . . : 10.100.0.11
Аренда получена . . . . . . . . . :
Аренда истекает . . . . . . . . . :

Psk-net - PPP адаптер:

DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.20.50.45
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 172.20.50.45
DNS-серверы . . . . . . . . . . . : 89.208.120.10
89.208.120.3

Quote: route del

Цитата:
route del default
route add default gw 10.5.1.1 dev ppp0

А это-то зачем? У Вас же стоит в настройках defaultroute - это и означает, что поднимаемый туннель становится сам маршрутом по умолчанию.

Далеко не

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

ip route change default via 10.5.1.1 dev ppp0

ip находится в iproute2

_______________________
From Siberia with Love!

Да вы что

2winterhart
начинающим лучше не советовать настройки через iproute2! Могут возникнуть непонятки с ip neigh

Да вы что сдурели? Убирать дефолтный роут??? Гыы а до ВПН сервера вы будете держать соединение через ВПН тунель???? А как вы будете держать ВПН тунель если он у вас рвётся сразу после того когда вы переклучаете маршрут до ВПН сервера через ВПН тунель)))))))

route add --host vpn.your_link.ru gw 10.5.1.1 metric 1 dev eth0
route del default
route add --net default gw 172.20.50.45 dev ppp0

USE="The SOURCE", Luke && emerge --syth --
Intel P4/Xeon Extended MCE MSRs 3200 x2 SMP IBM xSeries 346 ECY 4Gb/chip video ATI Radeon QY 8Mb/
Portage 2.1.4_rc1 (default-linux/x86/2007.0/server, gcc-4.2.2, glibc-2.7-r0, 2.6.23-gentoo-r2 i686)

Вам не нужно

Вам не нужно удалять дефолтный шлюз. В итоге у Вас должно получиться 2 default шлюза. Один смотрит в локалку (eth0), второй смотрит в инет (ppp0). Чем Вам не нравится настройка этого всего в /etc/conf.d/net? Насколько я понял, у Вас добавляется неправильный маршрут до vpn-сервера, который должен идти не через ppp0, а через eth0. Попробуйте вставить в /etc/ppp/ip-up.local

route del $5 dev ppp0
route add -host $5 gw 10.5.1.1
VPN=`ifconfig | grep 'P-t-P' | awk '{print $2}' | awk -F: '{print $2}'`
route add default gw $VPN dev ppp0

Всех благодарю

Всех благодарю за идеи..
В чистом виде не одна из них (вариант с iproutes пока вообще не использовал) пока не помогла...

В общем, я понял, что мне сильно не хватает знания теории. Честно говоря, думал установить дистрибутив именно для того, чтобы довольно-таки глубоко его изучить, но бьюсь в своём направлении уже ой не первый день и...

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

Поэтому, если кому-то будет нетрудно, посоветуйте толковые источники информации по маршрутизации в IP-сетях.. Вопрос не в том, чтобы найти хоть что-то ("...У него этого гуталину - ну просто завались..." (С)), а том, чтобы хоть что-то отсеить, выделив действительно последовательно изложенное знание.. И к практике управления этим в привязке к современному ПО, хочется, чтобы имело некоторое отношение..
(Риторич.: почему вообще требуется руками менять шлюз в тких случаях?.. =))

http://wiki.telecom.mipt.ru/index.php/Настройка_VPN_в_Gentoo_Linux, http://ru.gentoo-wiki.com/Настройка_VPN-соединения, и поиск по "настройка vpn linux" и прочие источники типа "напишите то-то - вылезет то-то" уже имею в виду. man pptp/pppd - хорошо, но только его - маловато.. Учебные центры типа cisco-вских - знаю, возможности пока нет, но знаю...
Уровень знаний: более-менее программист, не-до-связист с архаичными знаниями (да, автоматической коммутации прошлого века в нашем вузе учат отлично, мля... !;)), в светлом прошлом, возможно, без 15 минут математикофизик =))..

-----------------
В догонку: я говорил, что судя по выдаваемому логу первичное подключение проходит вроде как успешно.. Но я упустил такой момент: код завершения при выполнении скрипта ip-up. В моём случае он завершается с кодом 0x01, в случае применения предложенного burnoutRU - с нулём, в случае TigerJr, если не ошибаюсь 0xFF. (При этом в 1-м и 2-м случае ping name.com молчит вообще, да и не только по имени, кажется, в 3-м - находится соответствие имя-адрес, но пакеты теряются..) О чём вообще говорит код завершения скрипта? (если man ip-up вдруг существует, прошу прощения, после наверное многих десятков безуспешных ныряний в среду liveCD энтузиазм к какому либо поиску как-то немного угасает..)
(Сам лог в общем-то, конечно, могу вытащить сюда... )

Ещё раз спасибо, возможно, через какое-то время вылезу опять.

На всякий...

Если вдруг вылезете, то попробуйте следующее:

Файл /etc/conf.d/net

modules=( "ifconfig" )

modules_eth0=( "dhcpcd" )

config_eth0=( "dhcp" )
dhcp_eth0="nogateway nodns"

routes_eth0=(
	"default via 10.5.1.1"
	"10.0.0.0/8 via 10.5.1.1"
        "доп. маршруты, если есть"  
)

config_ppp0=( "ppp" )

link_ppp0="pty 'pptp 10.100.0.2 --nolaunchpppd'"

username_ppp0='логин'
password_ppp0='пароль'

pppd_ppp0=(
	"updetach" 	
	"noauth"	
	"defaultroute"	

	"holdoff 10" 

	"lcp-echo-interval 10"	
	"lcp-echo-failure 4"	
)

postup() {
	if [[ ${IFACE} == "ppp0" ]] ; then
           route del $5 dev ppp0
           route add -host $5 gw 10.5.1.1
	   VPN=`ifconfig | grep P-t-P | awk '{print $2}' | awk -F: '{print $2}'`
	   route add default gw $VPN dev ppp0
        fi     		
}

postdown() {
	if [[ ${IFACE} == "ppp0" ]] ; then
	   route del default gw $VPN dev ppp0
	fi
}

RC_NEED_ppp0="net.eth0"

В этом случае не нужны никакие ip-up.local и ip-down.local, хотя кто-то предпочитает держать postup() и postdown() в них.

В /etc/ppp/otions

lock

В /etc/ppp/options.pptp

lock
noauth

refuse-eap    # эти три строки - в случае использования MSCHAP-V2
refuse-chap   # если используете что-либо другое, то это нужно указать,
refuse-mschap # например, +chap или +pap

nobsdcomp
nodeflate

В /etc/resolv.conf или в /etc/ppp/resolv.conf добавляем DNS:

nameserver 89.208.120.10
nameserver 89.208.120.3

Создаете симлинки в /etc/init.d/

ln -snf /etc/init.d/net.lo /etc/init.d/net.eth0
ln -snf /etc/init.d/net.lo /etc/init.d/net.ppp0

Теперь командами

/etc/init.d/net.eth0 start
/etc/init.d/net.ppp0 start

Вы сможете поднимать локальную сеть и VPN соответственно. Если нужно автоматическое поднятие при загрузке, то можете выполнить

rc-update add net.eth0 default
rc-update add net.ppp0 default

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

Если Вы хотите

Если Вы хотите почитать по сетям что-нибудь толковое, то посмотрите в сторону этих книг:

Виктор Г. Олифер, Наталья А. Олифер: Компьютерные сети. Принципы, технологии, протоколы (если найдете третье издание, то берите его. Если не найдете, то берите второе. Также в конце этой книги много полезных источников, на которые тоже нужно обратить внимание).

Виктор Г. Олифер, Наталья А. Олифер: Локальные сети на основе коммутаторов

Виктор Г. Олифер, Наталья А. Олифер: Сетевые операционные системы.

Таненбаум Э.С. Компьютерные сети.

Предложенный

Предложенный способ насколько я понимаю, характерен именно для Gentoo, попробую, также хотелось бы "довкурить" тот, что использовался, ведь он, насколько мне известно более универсальный для разных дистрибутивов..
Упоминания именно этих книг я собственно и ждал, за них и собираюсь взяться поглубже...

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

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