-
Notifications
You must be signed in to change notification settings - Fork 49
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
Automatic hostname resolving #16
Comments
We'll need to look into this. cc @crcastle for state. |
Hey @mmachatschek - Interesting idea. I have some questions to better understand what you want.
Thanks! |
@crcastle thanks for reaching out
correct. I want my machine (that is connected to my tailscale network that has a subnetrouter to render) to automatically resolve the render service hostname visible in the UI, to the render service IP address 10.x.x.x
To get the 10.x.x.x IP address of the render service (even private services or background workers), I would need a DNS from inside my render private network.
|
Hi @mmachatschek, this makes sense and we'll figure out how to make this possible in Tailscale. Until then, would SSH tunneling be an option? Here's an example: https://render.com/blog/ssh-vscode-remote-debugging. You can get the SSH URL for any service (not just web services) from the dashboard. |
Agreed. DNS support would be super helpful. For us the goal is simply giving the developers a similar experience but over the VPN instead of public internet. This would allow us to protect certain admin pages and DBs connections behind the VPN. Currently they tend publicly expose services that should be kept private or have to whitelist their own IPs. |
I spoke too soon. It looks like this is working now but took a little digging. I was able to lookup the IP of the DNS server in the private network and add it as a DNS server in Tailscale. Then I had to find the FQDN and add the domain as a Search Domain in Tailscale. |
Alright I spent way too many hours on this setup so I figured it would be nice to share. Render network
Tailscale setup
Files
services:
- type: worker
plan: Starter
region: oregon
name: tailscale-router
env: docker
dockerfilePath: ./applications/tailscale/Dockerfile
dockerContext: ./applications/tailscale
numInstances: 1
autoDeploy: false
envVars:
- key: ADVERTISE_ROUTES
value: '10.205.195.0/24,10.205.98.0/24,10.204.123.0/24,10.204.69.0/24'
- key: TAILSCALE_AUTHKEY
sync: false
disk:
name: tailscale-state
mountPath: /var/lib/tailscale
sizeGB: 1
#!/bin/sh
tailscaled --tun=userspace-networking --socks5-server=localhost:1055 &
PID=$!
ADVERTISE_ROUTES=${ADVERTISE_ROUTES:-10.0.0.0/8}
until tailscale up --authkey="${TAILSCALE_AUTHKEY}" --hostname="${RENDER_SERVICE_NAME}" --advertise-routes="$ADVERTISE_ROUTES"; do
sleep 0.1
done
export ALL_PROXY=socks5://localhost:1055/
tailscale_ip=$(tailscale ip)
echo "Tailscale is up at IP ${tailscale_ip}"
wait ${PID}
|
cc @iandouglas |
@anurag I posted in community forum https://community.render.com/t/render-internals/17888 |
Is it somehow possible to get automatic resolving of the internal hostnames of render to its internal ip address?
It would be great to configure a secondary DNS or something.
Maybe someone that already has a workaround for this could share it, how to configure this (probably something in the tailscale ui too)
@anurag maybe you can help.
The text was updated successfully, but these errors were encountered: