I am wondering if anyone has run into this issue where the router constantly tries to renew and gets a different IP? We have been using Mikrotiks to connect customers on IPOE without any issues, but we have also allowed customers to use their own routers. We are often finding that some of the routers that the customers use have issues with reconnecting to IPOE. The pattern is that the first connection will always work and stays stable, but if there is a drop in connection to the IPOE server then when the router attempts a renewal it basically goes into a renewal loop for lack of a better term; it never gets an actual connection to the customer again until the ethernet is reset. This is most notable on Google routers.
I did packet captures and what I have noticed is that the Google routers are always using broadcasts for all responses back to the IPOE server, but the Mikrotik when it gets its lease switches to unicast.
The Mikrotik (which works) gets a NAK back saying the "session doesn't exist", but the Google router gets a NAK back saying "Wrong server id".
So the scenario is:
Lease Time: 10 minutes
1. Router gets a connection and is successful in getting online.
2. Something disrupts the path temporarily to the IPOE server.
3. Router at the 5 minute mark attempts to renew the IP and receives a NAK, but instead of saying it does not have the session it says that it is talking to the wrong server.
4. Router is offered a lease, it accepts it, then after a few minutes go buy the same process repeats.
Would the IPOE server saying that it has the wrong server cause this type of behavior?
Is there any settings on the IPOE server which I can set that will force the google router to use unicast instead of broadcasts?
Here is the IPOE section of the concentrator:
Code: Select all
[ipoe]
#noauth=1
verbose=1
username=lua:username
password=csid
lua-file=/etc/accel-ppp-mysql-username.lua
lease-time=600
renew-time=600
max-lease-time=600
shared=1
ifcfg=1
mode=L3
start=dhcpv4
vlan-mon=ens2f3,1-4095
vlan-timeout=60
vlan-name=%I.%N
idle-timeout=50
interface=re:^ens2f3\.
gw-ip-address=REDACTED
weight=100