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

Steam traffic is not being sent to the cache #45

Closed
golyalpha opened this issue Aug 28, 2018 · 8 comments
Closed

Steam traffic is not being sent to the cache #45

golyalpha opened this issue Aug 28, 2018 · 8 comments
Labels

Comments

@golyalpha
Copy link

Issue Description:
I'm trying to get the steamcache image running, but I am currently unable to get the traffic there, and when looking at the logs from the steamcache-dns container, I don't see any LAN IPs in steam related queries.

Docker Run Command Docker Compose file:
docker-compose.yml
Docker Container Output:

dns_1             | 28-Aug-2018 18:07:58.793 client @0x55c0674f40 192.168.1.1#24921 (steamcdn-a.akamaihd.net): query: steamcdn-a.akamaihd.net IN A + (172.18.0.5)
dns_1             | 28-Aug-2018 18:07:58.852 client @0x55c0674f40 192.168.1.1#53993 (valve1207.steamcontent.com): query: valve1207.steamcontent.com IN A + (172.18.0.5)
dns_1             | 28-Aug-2018 18:07:59.317 client @0x55c0674f40 192.168.1.1#32952 (valve1211.steamcontent.com): query: valve1211.steamcontent.com IN A + (172.18.0.5)
dns_1             | 28-Aug-2018 18:07:59.348 client @0x55c0674f40 192.168.1.1#36479 (valve1205.steamcontent.com): query: valve1205.steamcontent.com IN A + (172.18.0.5)
dns_1             | 28-Aug-2018 18:07:59.365 client @0x55c0674f40 192.168.1.1#21008 (valve1213.steamcontent.com): query: valve1213.steamcontent.com IN A + (172.18.0.5)
@JasonRivers
Copy link
Member

Have you configured your network to use the DNS? The logs say that you haven't, you probably want your DHCP server (Router) to point to the cache dns.

@golyalpha
Copy link
Author

The router is using the 192.168.1.2 IP (this is the IP where it's hosted at) as the primary DNS server, how else would it receive queries to show in logs?
If your issue is that the client is always 192.168.1.1, it's because the router sets itself as the primary DNS server over DHCP, and then queries 192.168.1.2 for any domains that don't end in .lan
Until I set that, the container output contained only the init logs and that was it.

@JasonRivers
Copy link
Member

Please could you add the environment of UPSTREAM_DNS to your compose.
Is there a reason why you're building the containers rather than pulling from Dockerhub?

@golyalpha
Copy link
Author

golyalpha commented Aug 31, 2018

It's running on an ARM64 CPU, that's why the containers are being built locally (image namespace is steamcache-arm64).
If I understood correctly, you want me to add the UPSTREAM_DNS variable to the DNS container?

If yes, this is the log output after starting a game download:

dns_1             | 31-Aug-2018 17:34:37.504 client @0x55bd92a700 192.168.1.1#50347 (valve1201.steamcontent.com): query: valve1201.steamcontent.com IN A + (172.18.0.9)
dns_1             | 31-Aug-2018 17:34:38.366 client @0x55bd91baa0 192.168.1.1#27108 (valve1211.steamcontent.com): query: valve1211.steamcontent.com IN A + (172.18.0.9)
dns_1             | 31-Aug-2018 17:34:38.391 client @0x55bd91baa0 192.168.1.1#48585 (valve1208.steamcontent.com): query: valve1208.steamcontent.com IN A + (172.18.0.9)

New docker-compose.yml

Container log with non-steam DNS queries removed
dns.log

Edit: I have also just made sure that the only DNS server set on the router is 192.168.1.2, and that my computer is in fact using either 192.168.1.1 or 192.168.1.2 as the DNS server.
No change.

@VibroAxe
Copy link
Member

@golyalpha you should set the DNS server field in your dhcp server (on your router) not as the router's primary dns server (this should probably be your ISP's)

Once you have done that we should see queries in the container logs from your actual computer, not just from the router. (your computer shouldn't be querying 192.168.1.1 directly). I would probably then set upstream_dns to be 192.168.1.1 which will mean internal name resolution for your network will still work.

I'm going to close this issue in two weeks if there's no further issue/response

@golyalpha
Copy link
Author

golyalpha commented Feb 21, 2019

@VibroAxe could've used this bit of help a few months ago. No matter. I'll try to set up the box for Steam cache again, and will update if this worked. That being said, I can't seem to be able to set up DHCP on DD-WRT to set other server as the DNS, which is kind of a shame.

@golyalpha
Copy link
Author

Well, I rebuilt the entire thing, ended up using Monolithic, and this is what came out:
dnslogs.txt
Also, I moved from the compose file to using a script to build and start the containers:

#!/bin/bash

docker kill $(docker ps -q)
docker rm $(docker ps -aq)

cd ubuntu
docker build . -t steamcache/ubuntu:latest
cd ..

cd ubuntu-nginx
docker build . -t steamcache/ubuntu-nginx:latest
cd ..

cd generic
docker build . -t steamcache/generic:latest
cd ..

HOST_IP=`hostname -I | cut -d' ' -f1`

cd steamcache-dns
docker build . -t steamcache-dns:aarch64
docker run --restart unless-stopped --name steamcache-dns --detach -p 53:53/udp -e USE_GENERIC_CACHE=true -e LANCACHE_IP=$HOST_IP steamcache-dns:aarch64
cd ..

cd monolithic
docker build . -t monolithic:aarch64
docker run --restart unless-stopped --name lancache --detach -v /cache/data:/data/cache -v /cache/logs:/data/logs -p 80:80  monolithic:aarch64
cd ..

cd sniproxy
docker build . -t steamcache/sniproxy:latest
docker run --restart unless-stopped --name sniproxy --detach -p 443:443 steamcache/sniproxy:latest
cd ..

echo Please configure your dhcp server to serve dns as $HOST_IP

Had to modify the ubuntu image slightly by removing the forced mirrors in overlay. Since it being there breaks apt on the arch I'm trying to run it on.

@unspec
Copy link
Member

unspec commented Feb 22, 2020

Closing due to inactivity, feel free to reopen if there is still something you think we can help with.

@unspec unspec closed this as completed Feb 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants