Page MenuHomePhabricator

Session gets killed after switch between IPv4 and corresponding IPv6
Closed, DuplicatePublic

Description

A user reported getting kicked out of OTRS all the time. Several other users reported similar issues recently, but I haven't been able to pinpoint all of them because, as OTRS admins, we can only see the latest syslog entries. However, in two cases, I could observe the following pattern in the syslog:

  1. User logs in: "User:<username> authentication ok (REMOTE_ADDR <IPv6 address>)"
  2. Shortly thereafter, his session gets killed: "RemoteIP of '<SessionID>' (<IPv6 address>) is different from registered IP (<IPv4 address>). Invalidating session! Disable config 'SessionCheckRemoteIP' if you don't want this!"

The IP address is the same, only the format differs. The two users use different ISPs. Could this be a problem on our side? If so, it should be fixed.

Event Timeline

pajz raised the priority of this task from to Needs Triage.
pajz updated the task description. (Show Details)
pajz added a project: Znuny.
pajz added subscribers: Jgreen, pajz.

It's not just ipv4 <-> ipv6. I had the same issue when using 2 different ipv4 isps.

We can disable 'SessionCheckRemoteIP'. I'm not sure if there's much to be gained by keeping it enabled...

See T87217 for a proposal to disable OTRS' IP-address check alltogether, which would obviously also solve this issue.

It's not just ipv4 <-> ipv6. I had the same issue when using 2 different ipv4 isps.
We can disable 'SessionCheckRemoteIP'. I'm not sure if there's much to be gained by keeping it enabled...

Yes, but we should keep these issues separate IMHO. If you actually switch your IP, OTRS is currently configured to kill your session, so that's not unexpected given the current set-up. In the case described here, the IP doesn't really change, at least not from an end-user pespective.

It's the same issue. It was 2 ISPs at home. And when one connection goes away, it uses the other one.

There is no such thing as a corresponding IPv6 address for IPv4. There is no direct mapping, it's arbitrary, unless you were using embedding. If they were mapped to the same RDNS, that would be the only way they have any notation of being the "same"

[Removed, misunderstanding on my part]

Ok, got your point. I still don't see how these are identical issues because, if you were to change your local configuration to IPv6, I figure you'd normally get an IP address pointing to the same endpoint, no? My question is if this whole thing is necessarily a local problem. Can users check if their IP address really keeps changing all the time and switching between some IPv4 address and some IPv6 address?