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

Маршруты для билайна и скрипты для их установки


0

1

Доброе время суток.
Есть Slackware 13.1 2.6.37, xl2tpd установлен, конфиги прописаны как во всех мануалах (могу потом вытащить, если принципиально). Билайн - питерский, центральный район.

При подключении к локалке получаем такие маршруты:
root@darkstar:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
85.21.72.80 10.42.200.1 255.255.255.240 UG 204 0 0 eth1
89.179.134.64 10.42.200.1 255.255.255.240 UG 204 0 0 eth1
83.102.255.224 10.42.200.1 255.255.255.240 UG 204 0 0 eth1
85.21.138.208 10.42.200.1 255.255.255.240 UG 204 0 0 eth1
83.102.146.96 10.42.200.1 255.255.255.224 UG 204 0 0 eth1
194.67.1.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
194.67.18.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
233.32.240.0 10.42.206.193 255.255.255.0 UG 204 0 0 eth1
217.118.84.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
85.21.90.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
78.107.23.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
85.21.79.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
78.107.52.0 10.42.200.1 255.255.255.0 UG 204 0 0 eth1
10.42.200.0 * 255.255.248.0 U 204 0 0 eth1
10.0.0.0 10.42.200.1 255.0.0.0 UG 204 0 0 eth1
loopback * 255.0.0.0 U 0 0 0 lo

есс-но, нифига не подключается. Прописываем default
root@darkstar:~# route add default gw 10.42.200.1
Как, кстати, его лучше прописывать? В /etc/rc.d/rc.xl2tpd в функцию start?

Прописали маршрут; все вроде ОК, соединение устанавливается, появляется подключение ppp0. Маршруты не меняются, лишь появляется
vpn254-l0.spb.c * 255.255.255.255 UH 0 0 0 ppp0

Делаем ping ya.ru. IP от ДНС, судя по всему, получен, но пинги не идут. Где у меня ошибка? Я правильно понимаю, что ДНСка стоит в локалке, а к гейтвею подключаемся по VPN?

При этом через некоторый интервал времени в консоль идут маты:
xl2tpd[1828]: handle_avps: don't know how to handle atribute 46.
xl2tpd[1828]: handle_avps: don't know how to handle atribute 104.
xl2tpd[1828]: control_finish: Connection closed to 83.102.254.223, serial 2 (Locally generated disconnect)
xl2tpd[1828]: Terminating pppd: sending TERM signal to pid 1886
xl2tpd[1828]: Calling on tunnel 45212
xl2tpd[1828]: Call established with 83.102.254.223, Local: 65305, Remote: 60621, Serial: 3 (ref=0/0)
xl2tpd[1828]: start_pppd: I'm running:
xl2tpd[1828]: «/usr/sbin/pppd»
xl2tpd[1828]: «passive»
xl2tpd[1828]: «nodetach»
xl2tpd[1828]: ":"
xl2tpd[1828]: «name»
xl2tpd[1828]: «блабла@internet.beeline.ru»
xl2tpd[1828]: «debug»
xl2tpd[1828]: «file»
xl2tpd[1828]: «/etc/ppp/options.xl2tpd»
xl2tpd[1828]: «/dev/pts/0»

либо
xl2tpd[1828]: handle_avps: don't know how to handle atribute 46.
xl2tpd[1828]: handle_avps: don't know how to handle atribute 104.
xl2tpd[1828]: control_finish: Connection closed to 83.102.254.223, serial 3 (Locally generated disconnect)
xl2tpd[1828]: Terminating pppd: sending TERM signal to pid 1890
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: get_call: can't find call 65305 in tunnel 45212
(ref=0/0)xl2tpd[1828]: check_control: Received out of order control packet on tunnel 60469 (got 6, expected 7)
xl2tpd[1828]: Calling on tunnel 45212
xl2tpd[1828]: Call established with 83.102.254.223, Local: 16155, Remote: 4512, Serial: 4 (ref=0/0)
xl2tpd[1828]: start_pppd: I'm running:
xl2tpd[1828]: «/usr/sbin/pppd»
xl2tpd[1828]: «passive»
xl2tpd[1828]: «nodetach»
xl2tpd[1828]: ":"
xl2tpd[1828]: «name»
xl2tpd[1828]: «блабла@internet.beeline.ru»
xl2tpd[1828]: «debug»
xl2tpd[1828]: «file»
xl2tpd[1828]: «/etc/ppp/options.xl2tpd»
xl2tpd[1828]: «/dev/pts/0»

(по очереди)

Что у меня неправильно? Я правильно понимаю, что надо удалить стандартный маршрут и прописать другой? Какой? Какой у меня гейтвей получается?

http://wiki.debian.org/ru/xl2tpd?highlight=%28l2tp\+l\+2\+tp%29
Тут инструкция для дебиана. Исполняемый скрипт /etc/ppp/ip-up.d/beeline я создал, но он, судя по всему, не запускается при установке подключения. Когда он должен запускаться и кто его запускает?

ЗЫ: нубский вопрос. Переменные $1, $2... в скрипте - это аргументы из консоли?

ЗЗЫ: xl2tpd работает через ppp? В ведре же вроде есть нативный модуль l2tp...

ЗЗЗЫ: техподдержка отвечает в стиле «можем настроить винду, красноглазые либо и так все знают, либо идут на форум»

Ответ на: комментарий от TerribleMutant

имя файла не берётся. запускается файл /etc/ppp/ip-up и в нём можно запускать в зависимости от параметров (или тупо всё) в /etc/ppp/ip-up.d/

man pppd:

       /etc/ppp/ip-up
              A program or script which is executed when the link is available for sending and receiving IP packets (that is, IPCP has come  up).   It  is  executed
              with the parameters

              interface-name tty-device speed local-IP-address remote-IP-address ipparam

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

Еще вопрос. Нагуглил рекомендацию в ip-up.d вызывать такой скрипт:

# nano /etc/ppp/ip-up.d/beeline

#!/bin/sh
GW=10.42.200.1
route del $5 dev $1
#route add -host $5 gw $GW

route add -net 85.21.0.0 netmask 255.255.0.0 gw $GW
route add -net 10.0.0.0 netmask 255.0.0.0 gw $GW

for i in $(grep "^nameserver" /etc/resolv.conf | awk '{print $2}') ; do
	route add -host $i gw $GW
done

route del default
route add default dev ppp0
Не понимаю смысл закомментированной (мною, из-за непонимания ее смысла :)) строчки. Зачем писать маршрут до виртуального самого себя?

И в цикле... Во-первых, что значит tty-device? И что значит | awk '{print $2}'? Смысл этого grep понятен, но что значит «или печатаем эту самую tty-device»? Причем с использованием awk - вот зачем оно надо?

А скриптик ip-up я разумно написал?

# nano /etc/ppp/ip-up

#!/bin/sh
if [-x /etc/ppp/ip-up.d/$6 ]; then
	/etc/ppp/ip-up.d/$6 $1 $2 $3 $4 $5
fi


Ну и прилагаю options.xl2tpd
http://pastie.org/1557034
и xl2tpd.conf
http://pastie.org/1557035
при вот таком rc.xl2tpd
http://pastie.org/1557043


Нормально ли так добавлять default route? DHCP его не даёт, и без него туннель не поднимается - банально не видно tp.internet.beeline.ru

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

default я делаю так же.

в цикле нужная вещь — извлекает второе поле из reslov.conf, в-общем направляет dns-серверы по локалке.

а с remote и local я вас неправильно запутал.

remote это адрес через которое идёт подключение в локалке, а local это ваш адрес в интернете(по нему вы доступны из вне)...

такчто

route del $5 dev $1
#route add -host $5 gw $GW
вроде как чтобы удостовериться что к серверу интернета вы идёте через локалку.

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

В общем, как получить доступ в интернет - разобрался, надо прописать маршрут к vpn254-l0.spb.c[...] (по айпишнику, ясный пень) через локальный гейтвей и eth1 (чтобы РРР не падал), и прописать default через ppp0.

Но скрипт /etc/ppp/ip-up.d/beeline не запускается, хотя и у него, и у /etc/ppp/ip-up есть исполняемый бит. Эти два файла я уже выложил в прошлом посте.


Сейчас поднимаю dnsmasq для eth0. Прописываю dhcp-range=192.168.1.50,192.168.1.150,12h
и interface.
Прописываю в netfilter маскарадинг для eth1 (мой wan), другие цепочки netfilter не трогаю (ACCEPT везде)

Втыкаю eth0 в wan уже настроенного на получение всего от DHCP роутера - и интернета на его клиентах нету. Получил ли он лиз - я не понял, но ни одного wan-маршрута он не получил.
Попробовал пропинговать 192.168.1.1 - не идет. Я так и не понял, какой IP у моего DNS- и DHCP-сервера в локальной сети, где это указывается?

И как работает маскарадинг? Одна строчка с указанием wan-интерфейса - и netfilter все делает автоматически для всего транзитного трафика, вне зависимости от lan-интерфейса? А транзитный трафик как определяется?

ЗЫ: Есс-но, по-хорошему, netfilter надо еще настроить для безопасности. Но это следующий шаг, пока хочется проверить dns, dhcp and nat

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

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

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