PDA

View Full Version : 2 VPN тунеля на одном WAN, у одного провайдера


phobos
05-08-2008, 17:59
Уважаемые! Подсобите, пожалуйста советом: как можно организовать два тунеля к одному провайдеру (Corbina), используя одну физическую линию? У меня и у родителей есть свои логин/пароль к интернету, хочу у себя поднять на "мудрой железке" два тунеля и получить максимальную для такой конфигурации скорость приема/передачи. Главное - возможость ее быстрого отключения в случае необходимости.
Чисто теоретически двойной скорости не получу, хотябы каждая загрузка по своему каналу.
Заранее признателен всем, кто откликнется.

piploff
08-09-2008, 09:12
Жаль что никто не откликнулся, меня тоже интересует данная штука, у меня по одному ВПН идет локальный трафик с большой скоростью, а по второму внешка по шейпинг каналу, надо тоже два ВПН поднимать, но как?

elico
08-09-2008, 16:35
присоединюсь. такая же проблема встала :)
Уфанет любит подкидывать проблемы ;)

Я сделал options.wan1, похожий на тот, что уже есть.
Заменил в нем "unit 1", ну и логин/пасс.
После pppd file options.wan1 в логах появляется вот что:
pppd 2.4.2 started by admin, uid 0
Serial connection established.
Using interface ppp1
Connect: ppp1 <--> /dev/pts/2
route_add: not adding existing route
Unexpected(?) Outgoing Call Reply will be ignored.

роуты до VPN-сервера имеются.
Destination Gateway Genmask Flags Metric Ref Use Iface
<vpn-server> x.x.x.1 255.255.255.255 UGH 0 0 0 vlan1
куда копать непонятно :confused:
помогите сделать "волшебный пинок" в нужном направлении :D

piploff
09-09-2008, 21:41
присоединюсь. такая же проблема встала :)
Уфанет любит подкидывать проблемы ;)
вот тут тоже похожее нашел (http://wl500g.info/showthread.php?t=13545)
Ты тоже с уфанет? что нить еще умное придумал? :)

elico
10-09-2008, 08:59
вот это больше похоже на нужное направление
(http://www.wl500g.info/showthread.php?t=13551)
попытаю еще, но у меня как падал, так и продолжает падать ppp0, в то время как второе соединение ругается на неопознанный ответ сервера. То есть, результатов ноль. Попытаю сейчас ручное поднятие ОБОИХ подключений.

kibenimatik
11-09-2008, 18:46
У меня тоже уфанет :) Только вчера занялся этой проблемой. Определенные сдвиги уже есть. Второе подключение поднимается, но не идут через него пакеты. Рою в сторону iproute2

ded
11-09-2008, 20:46
То же самое - нужно поднимать два VPN на роутере - по одному провайдер отдает инет, по второму - скоростной доступ в локалки других провайдеров. Ввиду достаточно слабого знания *nix пока ничего не сделал. Думается пока попробовать рыть в сторону ручного поднятия обоих туннелей через PPTP-Linux.

зы: видно не одного меня тема интересует - может гуру выложат готовый рецепт?

elico
12-09-2008, 11:34
У меня тоже уфанет :) Только вчера занялся этой проблемой. Определенные сдвиги уже есть. Второе подключение поднимается, но не идут через него пакеты. Рою в сторону iproute2

чтобы шли, нужно прописать роуты:
route add -net 77.79.128.0/18 dev ppp1
route add -net 81.30.192.0/19 dev ppp1
route add -net 81.30.176.0/20 dev ppp1
route add -net 89.189.128.0/19 dev ppp1
route add -net 172.27.0.0/16 dev ppp1
route add -net 92.50.128.0/18 dev ppp1
route add -net 94.41.0.0/16 dev ppp1
route add -net 194.0.68.0/22 dev ppp1
route add -net 79.140.16.0/20 dev ppp1
route add -net 193.84.31.0/27 dev ppp1
route add -host 81.30.199.50 dev ppp0
route add -host 81.30.199.69 dev ppp0
route add -host 81.30.197.10 dev ppp0
route add -host 81.30.199.238 dev ppp0

P.s. а такая ошибка не вылезала -
Unexpected(?) Outgoing Call Reply will be ignored. ?

kibenimatik
14-09-2008, 18:00
чтобы шли, нужно прописать роуты

Спасибо, за наводку. А информацию по локальным айпи откуда брал? Там (http://www.ufaman.ru/internet/homenet/homenet_resource_about.shtml) где я смотрел были немного другие цифры. В итоге у меня получилась следующая таблица
route add -net 77.79.128.0/18 dev ppp1
route add -net 81.30.192.0/19 dev ppp1
route add -net 81.30.176.0/20 dev ppp1
route add -net 89.189.128.0/19 dev ppp1
#route add -net 172.27.0.0/16 dev ppp1
route add -net 92.50.128.0/18 dev ppp1
#route add -net 94.41.0.0/16 dev ppp1
route add -net 194.0.68.0/22 dev ppp1
#route add -net 79.140.16.0/20 dev ppp1
route add -net 193.84.31.0/27 dev ppp1

route add -net 192.168.0.0/16 dev ppp1
route add -net 172.16.0.0/12 dev ppp1
route add -net 10.0.0.0/8 dev ppp1

route add -host 81.30.199.50 dev ppp0
route add -host 81.30.199.69 dev ppp0
route add -host 81.30.197.10 dev ppp0
route add -host 81.30.199.238 dev ppp0

P.s. а такая ошибка не вылезала -
Unexpected(?) Outgoing Call Reply will be ignored. ?

Хм... это скорее варнинг чем ошибка, но у меня тоже вылезает. Поверхностное изучение родственного исходника http://pptp-linux.sourcearchive.com/documentation/1.7.0-1ubuntu1/pptp__ctrl_8c-source.html не выявило серьезной угрозы

ЗЫ. А как ты второе соединение поднимаешь? Я делаю так:
ifconfig vlan1:0 10.227.111.138 broadcast 10.227.111.191 netmask 255.255.255.192
pppd file /tmp/ppp/ufanet.local

Но мне не нравится то что айпи нужно ручками прописывать.

BladeRazoR
17-09-2008, 11:24
Привет всем :) Я тоже с Уфанета, вам удалось нормально настроить работу VPN? У меня если делать по выше описанному работает только внешний интернет, а вот в локальные ресурсы напроч отказываются пускать.

Оба VPN поднимаются в /tmp/ppp/link.ppp0 и link.ppp1 тоже присутствуют.

post-boot
dropbear > /dev/null 2>&1
ifconfig vlan1:0 10.227.111.138 broadcast 10.227.111.191 netmask 255.255.255.192
pppd file /tmp/local/sbin/ufanet.local

Не понял :
Но мне не нравится то что айпи нужно ручками прописывать. это где еще нужно ручкми прописывать?

post-firewall
route add -net 77.79.128.0/18 dev ppp1
route add -net 81.30.192.0/19 dev ppp1
route add -net 81.30.176.0/20 dev ppp1
route add -net 89.189.128.0/19 dev ppp1
route add -net 172.27.0.0/16 dev ppp1
route add -net 92.50.128.0/18 dev ppp1
route add -net 94.41.0.0/16 dev ppp1
route add -net 194.0.68.0/22 dev ppp1
route add -net 79.140.16.0/20 dev ppp1
route add -net 193.84.31.0/27 dev ppp1

route add -net 192.168.0.0/16 dev ppp1
route add -net 172.16.0.0/12 dev ppp1
route add -net 10.0.0.0/8 dev ppp1

route add -host 81.30.199.50 dev ppp0
route add -host 81.30.199.69 dev ppp0
route add -host 81.30.197.10 dev ppp0
route add -host 81.30.199.238 dev ppp0

Грешу на то что, неправильные роуты. Кто настроился покажите пожалуста ваши Routing Table и log VPN подключения. Уже неделю не понимаю в чем дело :(

clunki
17-09-2008, 15:49
Здраствуйте! Я тож с уфанета, не силен в роутах и т.п., не мог ли кто-нибудь расписать пошагово как все настраивается? прошика 10ая=)

Tyler
18-09-2008, 21:55
Поделитесь плиз настройками для 2 локального подключения, а то у меня оно нормальный айпи не может получить

kibenimatik
20-09-2008, 06:23
post-boot
dropbear > /dev/null 2>&1
ifconfig vlan1:0 10.227.111.138 broadcast 10.227.111.191 netmask 255.255.255.192
pppd file /tmp/local/sbin/ufanet.local

Не понял :
это где еще нужно ручкми прописывать?

Здесь ручками и прописываешь. В данном случае ручками присваиваешь айпи 10.227.111.138 интерфейсу vlan1:0. Подозреваю что хитрый машрутизатор уфанета все невыданные по dhcp адреса блокирует файрволлом.


Грешу на то что, неправильные роуты. Кто настроился покажите пожалуста ваши Routing Table и log VPN подключения. Уже неделю не понимаю в чем дело :(
Вот лог на второе подключение

2008-09-20 07:54:32 : (notice/daemon) - pppd[258]: Connect: ppp1 <--> /dev/pts/1
2008-09-20 07:54:32 : (warning/daemon) - pptp[261]: route_add: not adding existing route
2008-09-20 07:54:40 : (emerg/user) - client: Synchronizing time with ntp.ufanet.ru ...
2008-09-20 07:55:03 : (warning/daemon) - pppd[258]: LCP: timeout sending Config-Requests
2008-09-20 07:55:03 : (notice/daemon) - pppd[258]: Connection terminated.
2008-09-20 07:55:33 : (info/daemon) - pppd[258]: Serial connection established.
2008-09-20 07:55:33 : (warning/daemon) - pppd[258]: Couldn\'t allocate PPP unit 0 as it is already in use
2008-09-20 07:55:33 : (info/daemon) - pppd[258]: Using interface ppp1
2008-09-20 07:55:33 : (notice/daemon) - pppd[258]: Connect: ppp1 <--> /dev/pts/2
2008-09-20 07:55:33 : (warning/daemon) - pptp[285]: route_add: not adding existing route
2008-09-20 07:55:33 : (info/daemon) - pppd[258]: CHAP authentication succeeded: Welcome
2008-09-20 07:55:33 : (notice/daemon) - pppd[258]: local IP address 172.27.26.149
2008-09-20 07:55:33 : (notice/daemon) - pppd[258]: remote IP address 10.8.0.8
2008-09-20 07:55:33 : (notice/daemon) - pppd[258]: primary DNS address 81.30.199.5
2008-09-20 07:55:33 : (notice/daemon) - pppd[258]: secondary DNS address 81.30.199.94

Вот ifconfig

ppp0 Link encap:Point-Point Protocol
inet addr:77.79.181.231 P-t-P:10.8.0.8 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1400 Metric:1
RX packets:6459 errors:0 dropped:0 overruns:0 frame:0
TX packets:7122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:4690626 (4.4 MiB) TX bytes:1184321 (1.1 MiB)

ppp1 Link encap:Point-Point Protocol
inet addr:172.27.26.149 P-t-P:10.8.0.8 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:6448 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:4689308 (4.4 MiB) TX bytes:64 (64.0 B)

vlan1 Link encap:Ethernet HWaddr 00:1D:60:65:8A:9F
inet addr:10.227.111.137 Bcast:10.227.111.191 Mask:255.255.255.192
inet6 addr: fe80::21d:60ff:fe65:8a9f/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12249 errors:0 dropped:0 overruns:0 frame:0
TX packets:12450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5277633 (5.0 MiB) TX bytes:1871177 (1.7 MiB)

vlan1:0 Link encap:Ethernet HWaddr 00:1D:60:65:8A:9F
inet addr:10.227.111.138 Bcast:10.227.111.191 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Вот routing table

Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1 10.227.111.129 255.255.255.255 UGH 0 0 0 WAN vlan1
10.8.2.1 10.227.111.129 255.255.255.255 UGH 0 0 0 WAN vlan1
10.8.2.1 10.227.111.129 255.255.255.255 UGH 1 0 0 WAN vlan1
10.8.0.8 * 255.255.255.255 UH 0 0 0 WAN ppp1
193.84.31.0 * 255.255.255.224 U 0 0 0 WAN ppp1
10.227.111.128 * 255.255.255.192 U 0 0 0 WAN vlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 LAN br0
194.0.68.0 * 255.255.252.0 U 0 0 0 WAN ppp1
81.30.176.0 * 255.255.240.0 U 0 0 0 WAN ppp1
89.189.128.0 * 255.255.224.0 U 0 0 0 WAN ppp1
81.30.192.0 * 255.255.224.0 U 0 0 0 WAN ppp1
92.50.128.0 * 255.255.192.0 U 0 0 0 WAN ppp1
77.79.128.0 * 255.255.192.0 U 0 0 0 WAN ppp1
default 10.8.0.8 0.0.0.0 UG 0 0 0 WAN ppp0
default 10.227.111.129 0.0.0.0 UG 1 0 0 WAN vlan1


Но я еще не ковырял nat. возможно в нем зарыта собака

BladeRazoR
20-09-2008, 22:12
Здесь ручками и прописываешь. В данном случае ручками присваиваешь айпи 10.227.111.138 интерфейсу vlan1:0. Подозреваю что хитрый машрутизатор уфанета все невыданные по dhcp адреса блокирует файрволлом.

Чесно говоря так и не понял надобности интерфейса vlan1:0 - :rolleyes:

Вопрос с натом я решил (листинг ниже), если объяснить мне зачем vlan1:0 и почему именно 10.227.111.138 данный IP то тоже можно автоматизировать - это как я понимаю твой шлюз по умолчанию.

Еще вопрос почему то стабильно при поднятии двух PPTP туннелей и использовании ната, по истечении 30 минту оба успешно падают, после чего даже ppp0 очень долго не поднимается в логах пишется что потерян IP на WAN интерфейсе. Если просто поднимать два туннеля и не натить ppp1 гораздо долше держится коннект, хотя переодически ppp1 и ppp0 переподключаются.

Листиг ната, не совсем готовый.
#!/bin/sh
dropbear > /dev/null 2>&1
pppd file /tmp/local/sbin/ufanet.local
#echo -----------------
globlIP=`ifconfig ppp0|grep 'inet addr'|awk '{print $2}'|awk -F ':' '{print $2}'`
localIP=`ifconfig ppp1|grep 'inet addr'|awk '{print $2}'|awk -F ':' '{print $2}'`

echo "Глобальный IP адрес:" $globlIP
echo "Локальный IP адрес:" $localIP

iptables --table nat -A PREROUTING -d $localIP -j VSERVER
iptables --table nat -A POSTROUTING -o ppp1 ! -s $localIP -j MASQUERADE

iptables --table nat -A PREROUTING -d $globlIP -j VSERVER
iptables --table nat -A POSTROUTING -o ppp0 ! -s $globlIP -j MASQUERADE

Теоретически сначало нужно проверять имеются ли ppp0 и ppp1 подключения, если их нет пытаться их поднять до тех пор пока не поднимутся, а потом уже iptables --table nat делать.

В iptables не силен может, что и не так делаю, при загрузке пока не срабатывает так как нужно, только при ручном запуске и если ppp1 и ppp0 успешно поднялись.

Вопросы:
1. Почему когда натятся ppp1 и ppp0, ровно через 30 минут всё падает?
2. Как правильно написать скрипт проверки подняты ли ppp1 и ppp0 если нет поднимать их и натить?
3. Правильно ли добавляется нат, в моем скрипте или нужно еще чего дописать?

Tyler
26-09-2008, 07:25
Блин, а у меня такая проблема: 2 впн туннель не поднимается:mad::

Sep 26 10:03:46 pppd[1603]: pppd 2.4.3 started by root, uid 0
Sep 26 10:03:46 pppd[1603]: Using interface ppp1
Sep 26 10:03:46 pppd[1603]: local IP address 10.64.64.65
Sep 26 10:03:46 pppd[1603]: remote IP address 10.112.112.113

и все. Для основного vpn все нормально:

Jan 1 05:01:39 pppd[1072]: pppd 2.4.2 started by root, uid 0
Jan 1 05:01:39 pppd[1072]: Using interface ppp0
Jan 1 05:01:39 pppd[1072]: local IP address 10.64.64.64
Jan 1 05:01:39 pppd[1072]: remote IP address 10.112.112.112
Jan 1 05:01:58 pppd[1072]: Starting link
Jan 1 05:01:58 pppd[1072]: Serial connection established.
Jan 1 05:01:58 pppd[1072]: Connect: ppp0 <--> /dev/pts/1
Jan 1 05:02:03 pppd[1072]: CHAP authentication succeeded: Welcome
Jan 1 05:02:03 pppd[1072]: Local IP address changed to 92.50.183.234
Jan 1 05:02:03 pppd[1072]: Remote IP address changed to 10.8.0.8

Настройки для второго подлючения создавал как все:

Я сделал options.wan1, похожий на тот, что уже есть.
Заменил в нем "unit 1", ну и логин/пасс.

Кто знает в чем может быть проблема??