How to properly use IPv6 with IPoE?

IPoE related questions
Post Reply
broonu
Posts: 15
Joined: 28 May 2015, 17:26

How to properly use IPv6 with IPoE?

Post by broonu »

Hi all,
I'm completely noob in IPoE, and the docs in russian is too hard to understand for me :)
I am trying to setup a IPoE test server using IPv4 and IPv6, but I'm finding it hard to understand how to configure IPv6. I'm running one accel-ppp PPPoE server, and tried to deliver the IPv6 addresses in the same way on IPoE.
My problem is that the client get IPv6 address, but can't ping anything. I see the ICMP request/reply packets in target machine, but my client don't receive the replies.
This is what i'm doing:

/etc/accel-ppp.conf

Code: Select all

[modules]
log_file
ipoe
shaper
radius
ippool
ipv6pool
ipv6_nd
ipv6_dhcp

[ipoe]
ipv6=1
verbose=1
username=lua:username
lua-file=/etc/accel-ppp.lua
password=username
lease-time=300
max-lease-time=300
unit-cache=1000
shared=1
ifcfg=1
mode=L2
start=dhcpv4
proxy-arp=1
ip-unnumbered=1
attr-dhcp-client-ip=Framed-IP-Address
interface=eth3
gw-ip-address=192.168.100.1/32

...
/etc/freeradius/users
(this is the same setup I use with PPPoE)

Code: Select all

"00:50:56:a3:7e:66"     Cleartext-Password := "00:50:56:a3:7e:66"
                        Framed-IP-Address := "179.X.X.253",
                        Framed-IPv6-Prefix := "2000:d84:b173:0::/64",
                        Delegated-IPv6-Prefix := "2000:d84:d173::/48",
                        PPPD-Downstream-Speed-Limit = "102400",
                        PPPD-Upstream-Speed-Limit = "102400"

"00:50:56:a3:e5:d5"     Cleartext-Password := "00:50:56:a3:e5:d5"
                        Framed-IP-Address := "179.X.X.252",
                        Framed-IPv6-Prefix := "2000:d84:b174:0::/64",
                        Delegated-IPv6-Prefix := "2000:d84:d174::/48",
                        PPPD-Downstream-Speed-Limit = "102400",
                        PPPD-Upstream-Speed-Limit = "102400",
With this configuration, this is what my client's machine test (windows 7) gets:

Code: Select all

Ethernet adapter WAN:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2000:d84:b173:0:21d5:84ae:eef7:e9af
   Temporary IPv6 Address. . . . . . : 2000:d84:b173:0:1586:cfdd:130a:972e
   Link-local IPv6 Address . . . . . : fe80::21d5:84ae:eef7:e9af%11
   IPv4 Address. . . . . . . . . . . : 179.X.X.253
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : fe80::250:56ff:fea3:f5fc%11
                                       192.168.100.1
With this setup, client's machine can ping and navigate web with IPv4, but not with IPv6. If i send 5 ICMP requests to 177.X.X.31, this is what I see in target's tcpdump:

Code: Select all

17:59:11.433756 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11655, length 1008
17:59:11.433816 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11655, length 1008
17:59:12.438808 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11656, length 1008
17:59:12.438877 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11656, length 1008
17:59:13.874078 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11657, length 1008
17:59:13.874129 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11657, length 1008
17:59:15.371714 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11658, length 1008
17:59:15.371758 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11658, length 1008
17:59:16.884854 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11659, length 1008
17:59:16.884890 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11659, length 1008
All 5 packets received and replied. But in accel-ppp, I see 5 requests through eth3 but just 1 in ipoe0:
eth3

Code: Select all

18:00:01.791635 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11655, length 1008
18:00:01.791875 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11655, length 1008
18:00:02.796688 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11656, length 1008
18:00:04.231929 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11657, length 1008
18:00:05.729588 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11658, length 1008
18:00:07.242702 IP6 2000:d84:b173:0:1586:cfdd:130a:972e > 2000:d84:c:0:177:84:70:31: ICMP6, echo request, seq 11659, length 1008
ipoe0

Code: Select all

18:00:01.791861 IP6 2000:d84:c:0:177:84:70:31 > 2000:d84:b173:0:1586:cfdd:130a:972e: ICMP6, echo reply, seq 11655, length 1008
Accel-PPP interfaces after session started:

Code: Select all

root@accelppp02:~# ifconfig eth3
eth3      Link encap:Ethernet  HWaddr 00:50:56:a3:f5:fc
          inet6 addr: fe80::250:56ff:fea3:f5fc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4656 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4580 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1800388 (1.8 MB)  TX bytes:7428555 (7.4 MB)

Code: Select all

root@accelppp02:~# ifconfig ipoe0
ipoe0     Link encap:Ethernet  HWaddr 00:50:56:a3:f5:fc
          inet addr:192.168.100.1  P-t-P:179.X.X.253  Mask:255.255.255.255
          inet6 addr: 2000:d84:b173::/64 Scope:Global
          inet6 addr: fe80::250:56ff:fea3:f5fc/64 Scope:Link
          UP POINTOPOINT RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2655 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3818 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:261147 (261.1 KB)  TX bytes:6890056 (6.8 MB)
Session:

Code: Select all

root@accelppp02:~# accel-cmd show sessions
 ifname |     username      |    calling-sid    |       ip        |  rate-limit   | type | comp | state  |  uptime
--------+-------------------+-------------------+-----------------+---------------+------+------+--------+----------
 ipoe0  | 00:50:56:a3:7e:66 | 00:50:56:a3:7e:66 | 179.X.X.253 | 102400/102400 | ipoe |      | active | 00:32:47
I'm doing something wrong or perhaps my setup is completely wrong?
Anyone knows something that could help me?
Sorry for my english :)
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: How to properly use IPv6 with IPoE?

Post by Dmitry »

Hi
IPv6 for IPoE is working only on "vlan per user" mode.
f.e. when shared=0
broonu
Posts: 15
Joined: 28 May 2015, 17:26

Re: How to properly use IPv6 with IPoE?

Post by broonu »

ok, thank you Dmitry!
broonu
Posts: 15
Joined: 28 May 2015, 17:26

Re: How to properly use IPv6 with IPoE?

Post by broonu »

Well, actually it was my fault.
There was an error in the ospf configuration.
broonu
Posts: 15
Joined: 28 May 2015, 17:26

Re: How to properly use IPv6 with IPoE?

Post by broonu »

I tested here with shared=0, but I'm having a weird problem:
when the second client renews IPv6, the first client receives a second IPv6 address, from the range of second client.

This are my clients configs:

Code: Select all

"00:50:56:a3:7e:66"     Cleartext-Password := "00:50:56:a3:7e:66"
                        Framed-IP-Address := "179.X.X.253",
                        Framed-IPv6-Prefix := "2000:d84:b173:0::/64",
                        Delegated-IPv6-Prefix := "2000:d84:d173::/48",
                        PPPD-Downstream-Speed-Limit = "102400",
                        PPPD-Upstream-Speed-Limit = "102400"

"00:50:56:a3:e5:d5"     Cleartext-Password := "00:50:56:a3:e5:d5"
                        Framed-IP-Address := "179.X.X.252",
                        Framed-IPv6-Prefix := "2000:d84:b174:0::/64",
                        Delegated-IPv6-Prefix := "2000:d84:d174::/48",
                        PPPD-Downstream-Speed-Limit = "102400",
                        PPPD-Upstream-Speed-Limit = "102400",
This is what my first client gets:

Code: Select all

Ethernet adapter WAN:

   Connection-specific DNS Suffix  . : mydomain.com
   IPv6 Address. . . . . . . . . . . : 2000:d84:b173:0:21d5:84ae:eef7:e9af
   IPv6 Address. . . . . . . . . . . : 2000:d84:b174:0:21d5:84ae:eef7:e9af
   Temporary IPv6 Address. . . . . . : 2000:d84:b173:0:8079:1fd3:8fa7:bf03
   Temporary IPv6 Address. . . . . . : 2000:d84:b174:0:8079:1fd3:8fa7:bf03
   Link-local IPv6 Address . . . . . : fe80::21d5:84ae:eef7:e9af%11
   IPv4 Address. . . . . . . . . . . : 179.X.X.253
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : fe80::250:56ff:fea3:f5fc%11
                                       192.168.100.1
broonu
Posts: 15
Joined: 28 May 2015, 17:26

Re: How to properly use IPv6 with IPoE?

Post by broonu »

PS.: Both clients are working, IPv4 and IPv6, but both renewing wrong additional IPv6 address.
Post Reply