MPD Multiple PPPoE to same ISP

Thodoris Stamatopoulos thodoriss at gmail.com
Mon Nov 30 22:17:05 UTC 2009


Thank you very much Nikos, at first it didnt worked with the 7.2 Release kernel (cant compile kernel with radix option), but with 8 it worked like a charm, all interface now have the same gateway
and all ng interfaces have ip at last...

Thanks
Thodoris
(euxaristw:))


On Nov 21, 2009, at 7:20 PM, Nikos Vassiliadis wrote:

> Thodoris S. wrote:
>> I am trying to make Multiple PPPoE Connections to the Same ISP for
>> Load Balancing  reasons
>> my mpd.conf is:
>> default:
>>        load adsl0
>>        load adsl1
>>        load adsl2
>> adsl0:
>>        new -i ng0 pppoe0 pppoe0
>>        set iface route default
>>        set iface disable on-demand
>>        set iface idle 0
>>        set bundle disable multilink
>>        set bundle authname "***"
>>        set bundle password "***"
>>        set bundle no noretry
>>        set link keep-alive 10 60
>>        set link max-redial 0
>>        set link no acfcomp protocomp
>>        set link disable pap chap
>>        set link accept chap
>>        set link mtu 1492
>>        set ipcp yes vjcomp
>>        set ipcp ranges 0.0.0.0/0.0.0.0/0
>>        set ipcp enable req-pri-dns
>>        set ipcp enable req-sec-dns
>>        open
>> adsl1:
>>        new -i ng1 pppoe1 pppoe1
>>        set iface route default
>>        set iface disable on-demand
>>        set iface idle 0
>>        set bundle disable multilink
>>        set bundle authname "***"
>>        set bundle password "***"
>>        set bundle no noretry
>>        set link keep-alive 10 60
>>        set link max-redial 0
>>        set link no acfcomp protocomp
>>        set link disable pap chap
>>        set link accept chap
>>        set link mtu 1492
>>        set ipcp yes vjcomp
>>        set ipcp ranges 0.0.0.0/0.0.0.0/0
>>        set ipcp enable req-pri-dns
>>        set ipcp enable req-sec-dns
>>        open
>> adsl2:
>>        new -i ng2 pppoe2 pppoe2
>>        set iface route default
>>        set iface disable on-demand
>>        set iface idle 0
>>        set bundle disable multilink
>>        set bundle authname "***"
>>        set bundle password "***"
>>        set bundle no noretry
>>        set link keep-alive 10 60
>>        set link max-redial 0
>>        set link no acfcomp protocomp
>>        set link disable pap chap
>>        set link accept chap
>>        set link mtu 1492
>>        set ipcp yes vjcomp
>>        set ipcp ranges 0.0.0.0/0.0.0.0/0
>>        set ipcp enable req-pri-dns
>>        set ipcp enable req-sec-dns
>>        open
>> And mpd.links is:
>> pppoe0:
>>        set link type pppoe
>>        set pppoe iface em0
>>        set pppoe service "we"
>>        set pppoe enable originate
>>        set pppoe disable incoming
>> pppoe1:
>>        set link type pppoe
>>        set pppoe iface em1
>>        set pppoe service "we1"
>>        set pppoe enable originate
>>        set pppoe disable incoming
>> pppoe2:
>>        set link type pppoe
>>        set pppoe iface bce1
>>        set pppoe service "we2"
>>        set pppoe enable originate
>>        set pppoe disable incoming
>> The problem is tha only one (the first logged in) ng interface gets ip
>> assigned to it, all others assigned to lo0 interface
>> and when i am trying to NAT them with PF it gives me this error:
>> /etc/pf.conf:26: could not parse host specification
>> im giving you ifconfig and netstat -nr
>> ifconfig:
>> [root at emperor ~]# ifconfig
>> bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>> 	options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
>> 	ether 00:1e:c9:db:24:7f
>> 	inet 192.168.0.1 netmask 0xfffffff8 broadcast 192.168.0.7
>> 	media: Ethernet autoselect (1000baseTX <full-duplex>)
>> 	status: active
>> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>> 	options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
>> 	ether 00:15:17:78:fd:56
>> 	inet 192.168.101.1 netmask 0xffffff00 broadcast 192.168.101.255
>> 	media: Ethernet autoselect (100baseTX <full-duplex>)
>> 	status: active
>> em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>> 	options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
>> 	ether 00:15:17:78:fb:41
>> 	inet 192.168.102.1 netmask 0xffffff00 broadcast 192.168.102.255
>> 	media: Ethernet autoselect (100baseTX <full-duplex>)
>> 	status: active
>> bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>> 	options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
>> 	ether 00:1e:c9:db:24:7d
>> 	inet 192.168.103.1 netmask 0xffffff00 broadcast 192.168.103.255
>> 	media: Ethernet autoselect (100baseTX <full-duplex>)
>> 	status: active
>> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
>> 	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
>> 	inet6 ::1 prefixlen 128
>> 	inet 127.0.0.1 netmask 0xff000000
>> pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33204
>> ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric
>> 0 mtu 1492
>> 	inet 11.11.11.11 --> 12.12.12.2 netmask 0xffffffff
>> ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric
>> 0 mtu 1492
>> ng2: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric
>> 0 mtu 1492
>> nestat -nr:
>> Routing tables
>> Internet:
>> Destination        Gateway            Flags    Refs      Use  Netif Expire
>> default            192.168.0.2      UGS         0    13812   bce0
>> 192.168.0.0/29   link#1             UC          0        0   bce0
>> 12.12.12.2       11.11.11.11       UH          0        0    ng0
>> 33.33.33.33       lo0                UHS         0     4797    lo0
>> 22.22.22.22        lo0                UHS         0     1370    lo0
>> 11.11.11.11       lo0                UHS         0        0    lo0
>> 127.0.0.1          127.0.0.1          UH          0        0    lo0
>> 192.168.101.0/24   link#2             UC          0        0    em0
>> 192.168.102.0/24   link#3             UC          0        0    em1
>> 192.168.103.0/24   link#4             UC          0        0   bce1
> 
> Could you add to your kernel config "options RADIX_MPATH" and give it
> a go then?
> 
> It seems that you try to add a second point-to-point interface with
> the same destination address. For example:
> ng0 1.1.1.1 2.2.2.2 and
> ng1 1.1.1.2 2.2.2.2 etc
> 
> This is not valid without the aforementioned kernel option.
> 
> I *think* it will be ok then, but do try and report back to the list
> your findings.
> 
> HTH, Nikos
> 



More information about the freebsd-net mailing list