Несколько PPPoE в 2.0 Beta (2 WAN PPPoE)
-
Доброе время суток всем! Вопрос в следующем - может ли pfSense 2.0 поднять два PPPoE соединения с интернет через один xDSL модем? Объясню ситуацию, имеем одного провайдера с безлимитным тарифом (5 Mbps) и несколько учетных записей (учетные записи не привязаны к порту и теоретически их можно использовать одновременно), хочется простого агрегации двух каналов по 5 Mbps, дабы в сумме (например, при закачках с торрента) получить 10 Mbps. Этакий шлюз под торрентокачалку. Начитался тут про multipath routing, но сделать такое средствами модема не удалось (кому интересно вот - http://ddixlab.ru/forum/viewtopic.php?t=1691). Теперь самое интересное. Долго мучился с pfSense 2.0, потом забил и решил поставить 1.2.3. Естественно там нельзя создавать несколько PPPoE соединений, однако ограничение легко обойти, если одно из PPPoE соединений поднять в самом модеме. Тогда делаем несколько WAN интерфейсов, один - DHCP, другой PPPoE. В модеме у нас соответственно настроено одно PPPoE соединение и бридж. Настраиваем в pfSense Load Balancing и все замечательно, скорости каналов суммируются. Решил все-таки докрутить версию 2.0 … настроил все по такой же схеме (WAN1 = DHCP, WAN2 = PPPoE, DHCP - как вы поняли получается от модема в котором уже поднято одно PPPoE соединение). Как настроить Load Balancing в 2.0 не разобрался, однако получилось объединить Gateway'и в группу с приоритетами Tier1 на каждый WAN и прописав в правилах Firewall'а эту группу в качестве Gateway'я для LAN получили желаемое.
А теперь главный вопрос ... который я собственно и не понял. Допустим модем у нас настроен просто мостом. Есть две учетные записи для PPPoE - user1/pass1 и user2/pass2. Делаем в pfSense 2.0 два интерфейса и привязываем их к PPPoE, т.е. WAN1(PPPoE1) и WAN2(PPPoE2). Первое соединение поднимается и получает IP адрес, а второе, судя по статусу поднимается, но IP адрес не получает (т.е. ни адреса, ни шлюза, ничего, только статус Up). Может быть потому что у обоих соединений один и тот же Gateway у провайдера? Т.е. если бы поднялись оба соединения, то получилось бы примерно следующее:
PPPoE1: Login: User1, IP: 212.106.36.129, Gateway: 10.50.254.197 (IP и Gateway выдаются провайдером)
PPPoE2: Login: User1, IP: 212.106.63.89, Gateway: 10.50.254.197Т.е. в PPPoE1 и PPPoE2 разные динамические IP, но один и тот же шлюз, получаемый автоматом при поднятии соединения. Но как показал эксперимент, второе соедиение почему-то не поднимается.
Вопрос ... почему? Можно ли в pfSense 2.0 поднять два PPPoE указанным образом и если да, то как?
-
а что показывает```
ifconfig -
Рассказываю … вообщем интерфейсы выглядят вот так (это в статусе):
ifconfig выглядит вот так (сорри что скрином, а не текстом, ssh не успел настроить, все это под VMWare крутится):
Самое интересное, что для второго интерфейса MTU 1492 прописан и в параметрах самого интерфейса и в параметрах PPP.
Ну и теперь самое интересное - ppp.log:Sep 13 03:24:32 ppp: [opt1] IPCP: rec'd Configure Request #2 (Ack-Sent) Sep 13 03:24:32 ppp: [opt1] IPADDR 10.50.254.197 Sep 13 03:24:32 ppp: [opt1] 10.50.254.197 is OK Sep 13 03:24:32 ppp: [opt1] IPCP: SendConfigAck #2 Sep 13 03:24:32 ppp: [opt1] IPADDR 10.50.254.197 Sep 13 03:24:32 ppp: [opt1] IPCP: SendConfigReq #2 Sep 13 03:24:32 ppp: [opt1] IPADDR 0.0.0.0 Sep 13 03:24:32 ppp: [opt1] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Sep 13 03:24:32 ppp: [opt1] IPCP: rec'd Configure Reject #2 (Ack-Sent) Sep 13 03:24:32 ppp: [opt1] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Sep 13 03:24:32 ppp: [opt1] IPCP: SendConfigReq #3 Sep 13 03:24:32 ppp: [opt1] IPADDR 0.0.0.0 Sep 13 03:24:32 ppp: [opt1] IPCP: rec'd Configure Nak #3 (Ack-Sent) Sep 13 03:24:32 ppp: [opt1] IPADDR 212.106.34.109 Sep 13 03:24:32 ppp: [opt1] 212.106.34.109 is OK Sep 13 03:24:32 ppp: [opt1] IPCP: SendConfigReq #4 Sep 13 03:24:32 ppp: [opt1] IPADDR 212.106.34.109 Sep 13 03:24:32 ppp: [opt1] IPCP: rec'd Configure Ack #4 (Ack-Sent) Sep 13 03:24:32 ppp: [opt1] IPADDR 212.106.34.109 Sep 13 03:24:32 ppp: [opt1] IPCP: state change Ack-Sent --> Opened Sep 13 03:24:32 ppp: [opt1] IPCP: LayerUp Sep 13 03:24:32 ppp: [opt1] 212.106.34.109 -> 10.50.254.197 Sep 13 03:24:32 ppp: [opt1] IFACE: Adding IPv4 address to pppoe1 failed: File exists Sep 13 03:24:32 ppp: [opt1] IFACE: IfaceChangeAddr() error, closing IPCP Sep 13 03:24:32 ppp: [opt1] IPCP: parameter negotiation failed Sep 13 03:24:32 ppp: [opt1] IPCP: state change Opened --> Stopping Sep 13 03:24:32 ppp: [opt1] IPCP: SendTerminateReq #5 Sep 13 03:24:32 ppp: [opt1] IPCP: LayerDown Sep 13 03:24:32 ppp: [opt1] IPCP: rec'd Terminate Ack #5 (Stopping) Sep 13 03:24:32 ppp: [opt1] IPCP: state change Stopping --> Stopped Sep 13 03:24:32 ppp: [opt1] IPCP: LayerFinish Sep 13 03:24:32 ppp: [opt1] Bundle: No NCPs left. Closing links... Sep 13 03:24:32 ppp: [opt1] Bundle: closing link "opt1_link0"... Sep 13 03:24:32 ppp: [opt1_link0] Link: CLOSE event Sep 13 03:24:32 ppp: [opt1_link0] LCP: Close event Sep 13 03:24:32 ppp: [opt1_link0] LCP: state change Opened --> Closing Sep 13 03:24:32 ppp: [opt1_link0] Link: Leave bundle "opt1" Sep 13 03:24:32 ppp: [opt1] Bundle: Status update: up 0 links, total bandwidth 9600 bps Sep 13 03:24:32 ppp: [opt1] IPCP: Close event Sep 13 03:24:32 ppp: [opt1] IPCP: state change Stopped --> Closed Sep 13 03:24:32 ppp: [opt1] IPCP: Down event Sep 13 03:24:32 ppp: [opt1] IPCP: state change Closed --> Initial Sep 13 03:24:32 ppp: [opt1_link0] LCP: SendTerminateReq #2 Sep 13 03:24:32 ppp: [opt1_link0] LCP: LayerDown Sep 13 03:24:32 ppp: [opt1_link0] LCP: rec'd Terminate Ack #2 (Closing) Sep 13 03:24:32 ppp: [opt1_link0] LCP: state change Closing --> Closed Sep 13 03:24:32 ppp: [opt1_link0] LCP: LayerFinish Sep 13 03:24:32 ppp: [opt1_link0] Link: DOWN event Sep 13 03:24:32 ppp: [opt1_link0] LCP: Down event Sep 13 03:24:32 ppp: [opt1_link0] LCP: state change Closed --> Initial
Т.е. насколько я понял он получает IP, но не может создать какой-то файл:
Sep 13 03:24:32 ppp: [opt1] 212.106.34.109 -> 10.50.254.197 Sep 13 03:24:32 ppp: [opt1] IFACE: Adding IPv4 address to pppoe1 failed: File exists
Может быть потому что имя файла зависит от шлюза (10.50.254.197) … этот же шлюз и в первом поднятом PPPoE соединении.
p.s. Вот у человека примерно аналогичная проблема … http://unix.derkeiler.com/Mailing-Lists/FreeBSD/questions/2008-12/msg01386.html ... "I have two ADSL connection to my provider. For both connections I have same gateway. How to establish two ADSL connections with same gateway?". Один в один ситуация.
p.p.s. Я так понимаю что второе соединение не поднимается, т.к. маршрут до 10.50.254.197 уже есть в таблице маршрутизации, после поднятия первого. Шлюзы-то у обоих соединений одинаковые и выдаются провайдером. А вот как это побороть … ?
p.p.p.s. И еще … вот в этой теме http://forum.pfsense.org/index.php/topic,21412.0.html , в последнем посте человек пишет "PPPOE sessions with 2.0 bring nothing really when they on the same Gateway. So you will still have to use hardware or virtual routers.
If you want to use PPPOE sessions on the same gateway. You should get ClearOS. They support this." ... т.е. якобы несколько PPPoE сессий с одинаковым шлюзом не поддерживаются pfSense, а вот в ClearOS очень даже. Это действительно так или для pfSense все же можно придумать какое-нибудь решение? -
Я боюсь, что две и более сессии к одному gateway не поддерживаются FreeBSD, тут не pfSense вина. Там что-то про multisession было в 2.0, вот это может работать, если провайдер поддерживает.
-
хочется простого агрегации двух каналов по 5 Mbps, дабы в сумме (например, при закачках с торрента) получить 10 Mbps. Этакий шлюз под торрентокачалку
- не взлетит, на сенесе ещё и по техническим причинам. Я давным-давно вентилировал этот вопрос и пришёл к выводу: нормальная агрегация канала возможна при сотрудничестве с провайдером, т.е. с его стороны необходимы определённые движения в эту сторону. А это либо невозможно в принципе (провайдер не хочет), либо возможно за совершенно неприличную дополнительную плату провайдеру.
Вы подумайте сами: как ваши сервисы будут работать в случае наличия у вас двух различных ip адресов в интернете?
- не взлетит, на сенесе ещё и по техническим причинам. Я давным-давно вентилировал этот вопрос и пришёл к выводу: нормальная агрегация канала возможна при сотрудничестве с провайдером, т.е. с его стороны необходимы определённые движения в эту сторону. А это либо невозможно в принципе (провайдер не хочет), либо возможно за совершенно неприличную дополнительную плату провайдеру.
-
Как раз таки в случае торрентов будет распределение по 2 каналам. Если же делать обычную однопоточную загрузку по http, то аггрегации не будет.
Однакож 2 канала берут не для увеличения скорости, а для надежности.