Running Windows-Only-Gameserver serves unexpected IP-Problems
Operating system
ubuntu 22.04
Description
Hey,
I'm trying to get a gameserver for the game "SCUM" (basically any UE4-Engine-Server...) to run.
The binaries work great, but when I try to connect, I get the IP 172.19.0.1 as connecting system. That looks to me like the IP of the network-interface between docker and the qemu-software.
Is there a way to get the external connecting ip into the VM inside the container?
Greetings
Docker compose
services:
windows:
image: dockurr/windows
container_name: SCUM_Windows
environment:
VERSION: "10"
RAM_SIZE: "32GB"
CPU_CORES: "4"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
- SYS_ADMIN
security_opt:
- seccomp:unconfined
sysctls:
- net.ipv4.ip_forward=1
ports:
- 8025:8006
- 7777:7777
- 7778:7778
- 7779:7779
- 27015:27015
volumes:
- SCUM_WIndows:/storage
- SCUM_Windows_Data:/data
restart: unless-stopped
privileged: true
volumes:
SCUM_WIndows:
external: true
SCUM_Windows_Data:
external: true
Docker log
❯ Starting Windows for Docker v4.35...
❯ For support visit https://github.com/dockur/windows
❯ CPU: Intel Xeon E3 1275 v6 | RAM: 60/63 GB | DISK: 233 GB (ext4) | KERNEL: 5.15.0-151...
❯ Booting Windows using QEMU v10.0.0...
BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,4B060676-B922-4761-ADC1-46514F299898,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,4B060676-B922-4761-ADC1-46514F299898,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
❯ Windows started succesfully, visit http://127.0.0.1:8006/ to view the screen...
Screenshots (optional)
That looks to me like the IP of the network-interface between docker and the qemu-software.
Is there a way to get the external connecting ip into the VM inside the container?
If you talking about getting IP from your LAN, then read here.
Nope - Took me a while to figure this out, but I'm talking about Source-IP-propagation or -preservation so that the container is able to see the IP from which a request has been sent to it.
The easiest solution will be to use macvlan (see the readme). But from the looks of your compose file, you are using Podman, which doesnt support it. So I have no solution.
Yeah - I had to switch to vagrant with virtualbox to resolve this. But thanks anyhow. :)