Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not cycling through IPs when connecting to remote servers #27

Open
Schimmelreiter opened this issue Dec 7, 2019 · 0 comments
Open

Not cycling through IPs when connecting to remote servers #27

Schimmelreiter opened this issue Dec 7, 2019 · 0 comments

Comments

@Schimmelreiter
Copy link
Owner

Schimmelreiter commented Dec 7, 2019

If a hostname, e.g. server.dyndns.org, resolves to multiple IPs, e.g.

  • an AAAA record (IPv6) and an A record (IPv4) for dual-stack servers
    and/or
  • multiple A records (For multi-homed servers),

oscam-smod does not cycle through these IP addresses.

This breaks

  • connections to servers with a bad AAAA record but a good A record (Quite common misconfiguration by IPv6-ignorant server operators
  • connections to the other home of a server if the A record selected by oscam-smod becomes unreachable, while the other A record is still reachable (multi-homed server in failover mode).

Examples:

  1. AVM Fritz!Boxes can perform automatic DynDNS updates. However, for connections with dual-stack, they will always perform updates of the AAAA record of the DynDNS using the Fritz!Box' IPv6 address.
    But if the oscam server runs on any other machine inside the network, the IPv6 of that other machine would be needed to connect, not the IPv6 of the Fritz!Box.
    Cycling through the resolved records would at least allow IPv4 connections in such cases.

  2. An oscam server is multi-homed, e.g. it can be reached through the server operator's WAN connections 1 and 2 under normal conditions (WAN load-balancing), but oscam-smod will always stick to the first IP it decided for.
    If the server's WAN connection 1 fails but oscam-smod decided to use the IP address of the server's WAN1, it will never attempt to connect via the server's other WAN (WAN2), which would still be connectable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant