How can I find out how tailscale was started? (on linux)

Going back to play with a router and tailscale I’d like to know how the running instance of tailscale was started on this particular device. I am interested in which parameters I added when starting i.e., exit nodes and the likes.

Hello.

If you run tailscale up it will tell you to specify the parameters, and print how it was run previously if it was run with command line switches.

Alternatively, you can run tailscale debug prefs to get a JSON list of the switches and how they are currently set.

1 Like

I just tried this. I definitely did start tailscale advertising as an exit node and certain subnets and now if I run tailscale up on the same machine, it returns nothing, I’m simply back at my shell.

root@nas:/# tailscale up                                                                                                                 
root@nas:/#

Yes, I was wrong about that, it will only report the flags used if you try to change anything.

So the tailscale debug prefs would be the solution.

Thanks, that worked. Just one more thing I am unclear about.

From machine A, a tailscale status shows machine B as: linux idle; offers exit node

Now what attribute would machine B show if I did a tailscale debug prefs top indicate that it offers itself as an exit node?

Nothing looked right and when grepping I didn’t get any hit for these two tries:

tailscale debug prefs | grep exit                                                                                             
tailscale debug prefs | grep node

here is what machine B reports:

tailscale debug prefs                                                                                                        
{                                                                                                                                                    
        "ControlURL": "https://controlplane.tailscale.com",                                                                                          
        "RouteAll": false,                                                                                                                           
        "AllowSingleHosts": true,                                                                                                                    
        "ExitNodeID": "",                                                                                                                            
        "ExitNodeIP": "",                                                                                                                            
        "ExitNodeAllowLANAccess": false,                                                                                                             
        "CorpDNS": true,                                                                                                                             
        "RunSSH": false,                                                                                                                             
        "WantRunning": true,                                                                                                                         
        "LoggedOut": false,                                                                                                                          
        "ShieldsUp": false,                                                                                                                          
        "AdvertiseTags": null,                                                                                                                       
        "Hostname": "",                                                                                                                              
        "NotepadURLs": false,                                                                                                                        
        "AdvertiseRoutes": [                                                                                                                         
                "0.0.0.0/0",                                                                                                                         
                "::/0",                                                                                                                              
                "10.0.0.0/8"                                                                                                                         
        ],                                                                                                                                           
        "NoSNAT": false,                                                                                                                             
        "NetfilterMode": 2,                                                                                                                          
        "Config": {                                                                                                                                  
                "PrivateMachineKey": "privkey:0000000000000000000000000000000000000000000000000000000000000000",                                     
                "PrivateNodeKey": "privkey:0000000000000000000000000000000000000000000000000000000000000000",                                        
                "OldPrivateNodeKey": "privkey:0000000000000000000000000000000000000000000000000000000000000000",                                     
                "Provider": "google",                                                                                                                
                "LoginName": "me@myself.tld"                                                                                                      
        }                                                                                                                                            
}

btw. why are all the keys zeroed out?

the AdvertiseRoutes line includes 0.0.0.0/0 - which is shortcut for “Everything” - making this an exit node.

In practice, it actually means “Everything except private IP addresses” which is why you would need to specify the 10.0.0.0/8 separately as you’ve done here, since we handle private subnet routing and public internet routing differently in most circumstances.

1 Like

Thank you so much for explaining all this so patiently.

1 Like

did that command change? Its no longer working for me:

root@travel:~# tailscale debug prefs
unknown arguments

This works now:

tailscale debug -prefs

1 Like

How can I figure out from this output if “–accept-dns=” has been set to false or true?

Btw. can I not set these startup parameters for tailscale in some config file, so I don’t have to go hunting every time I want to change something and can’t remember the last parameters I used more than 6 months ago?

On Debian I found this file: /etc/default/tailscaled

can I adapt it and copy it somewhere for tailscale to use on its own?