panel icon indicating copy to clipboard operation
panel copied to clipboard

Applications report wrong IPv6 addresses

Open danir-de opened this issue 1 year ago • 2 comments

Current Behavior

When using IPv6 within the TeamSpeak egg, all users connected via IPv6 are reported having the exact same IPv6 address: [fdba:17c8:6c94::1011]

Upon digging this seems to be the default docker gateway address: https://github.com/pterodactyl/wings/blob/develop/config/config_docker.go

Expected Behavior

Applications like TeamSpeak reporting the users actual IPv6 addresses.

Steps to Reproduce

  1. Set-up a TeamSpeak egg with IPv6 allocations.
  2. Connect to the server via IPv6.
  3. Observe the incorrect IP address.

Panel Version

1.10.1

Wings Version

1.7.0

Games and/or Eggs Affected

TeamSpeak, (no others tested)

Docker Image

ghcr.io/pterodactyl/yolks:debian

Error Logs

No response

Is there an existing issue for this?

  • [X] I have searched the existing issues before opening this issue.
  • [X] I have provided all relevant details, including the specific game and Docker images I am using if this issue is related to running a server.
  • [X] I have checked in the Discord server and believe this is a bug with the software, and not a configuration issue with my specific system.

danir-de avatar Aug 21 '22 07:08 danir-de

This is probably due to the server running container in a docker container. Or the the upstream isn't forwarding addresses properly due to ipv4 to ipv6 translation.

parkervcp avatar Aug 21 '22 15:08 parkervcp

I'm using the official TeamSpeak egg by Pterodactyl on a default debian installation, without additional configuration.

The IPv6 address + ports got directly assigned to the applications binding settings in pterodactyl.

Both the tested clients and the server have full IPv6 support and IPs get correctly picked up by the host system.

danir-de avatar Aug 22 '22 07:08 danir-de

I'm not really sure what we can do here. This seems like an issue with either NAT, Docker, or TeamSpeak somewhere. Ideally people would be using public IPv6 blocks for this rather than relying on private blocks with NAT, however that isn't very well supported with Pterodactyl yet.

matthewpi avatar Oct 03 '22 21:10 matthewpi

We're currently using a public IPv6 address (block) without any NATing involved - so that can't be it. The NAT seems to be introduced by the Pterodactyl container (ghcr.io/pterodactyl/yolks:debian).

danir-de avatar Oct 04 '22 02:10 danir-de

We're currently using a public IPv6 address (block) without any NATing involved - so that can't be it.

The NAT seems to be introduced by the Pterodactyl container (ghcr.io/pterodactyl/yolks:debian).

How do you have this configured? I assume a public IPv6 address on the Panel but what about in the Wings configuration?

matthewpi avatar Oct 04 '22 03:10 matthewpi

The wings configuration wasn't changed from default. This is the docker networking part in /etc/pterodactyl/config.yml:

docker:
  network:
    interface: 172.18.0.1
    dns:
    - 1.1.1.1
    - 1.0.0.1
    name: pterodactyl_nw
    ispn: false
    driver: bridge
    network_mode: pterodactyl_nw
    is_internal: false
    enable_icc: true
    network_mtu: 1500
    interfaces:
      v4:
        subnet: 172.18.0.0/16
        gateway: 172.18.0.1
      v6:
        subnet: fdba:17c8:6c94::/64
        gateway: fdba:17c8:6c94::1011

danir-de avatar Oct 04 '22 09:10 danir-de