• [6.12.0] Tailscale: SMB, SSH, and Gui unable to connect


    DC_Interstellar
    • Closed Annoyance
    Message added by EDACerton,

    tailscale0 is the interface used by the Docker version of Tailscale. Per the container author, using Docker to access Unraid services remotely is no longer supported.

     

    Users should use the Tailscale plugin for Unraid builds after 6.12.0; the plugin automatically configures Unraid to allow access via the Tailscale IP. (Note: for SMB, "Enable NetBIOS" in SMB settings must be set to "No".)

    Hello everyone!

     

    I have followed the steps in "HOW TO SETUP TAILSCALE OR ZEROTIER COMMUNICATION" documentation how to get Tailscale to work on Unraid 6.12.0. However, there is a brick wall I keep running into. When I restart my server or turn on/off the array. Tailscale's IP address to the server stops working unless I go into Settings>Network Settings>Include listening interfaces and remove "tailscale0" and re-add back in. Then I am able to access it via SSH and the GUI, but SMB I'm having no luck at all. I have added the code to the "go" file above the emhttpd daemon. I removed Tailscale docker container and re-add it back in, issue still persists. Is anyone having this issue? Is this a known bug?

     

    Thank you! 
     

    ***ISSUE HAS BEEN RESOLVED***:

    Please follow the steps at "HOW TO SETUP TAILSCALE OR ZEROTIER COMMUNICATION" for 6.12.0 & higher. This is NO longer an issue if you follow the steps in the documentation.

     

     

    diagostics has been attached

    dcc-server-diagnostics-20230616-2139.zip




    User Feedback

    Recommended Comments



    To make this work you need to have the docker service and autostart for tailscale containerr enabled

     

    There is a bug in SMB not properly updating when interfaces change, this will be corrected in the next release.

     

    Link to comment
    7 minutes ago, bonienl said:

    To make this work you need to have the docker service and autostart for tailscale containerr enabled

     

    There is a bug in SMB not properly updating when interfaces change, this will be corrected in the next release.

     


    Alrighty, I made the changes to the docker service & autostart for Tailscale container. It did start the container successfully. However, it’s still denying me to use SSH & the GUI. Unless I delete the tailscale0 then re-add it back in, then it works. 
     

    I’ll be looking forward for the next release for SMB! 
     

    Thank You! 

    Link to comment
    10 minutes ago, DC_Interstellar said:

    However, it’s still denying me to use SSH & the GUI. Unless I delete the tailscale0 then re-add it back in, then it works. 

     

    This requires additional scripting.

    What do you have in your 'go' file?

     

    Link to comment
    34 minutes ago, bonienl said:

     

    This requires additional scripting.

    What do you have in your 'go' file?

     

    I’ve added this code above the emhttpd in the go file

     

    # reload services after starting docker with 20 seconds grace period to allow starting up containers
    event=/usr/local/emhttp/webGui/event/docker_started
    mkdir -p $event
    cat <<- 'EOF' >$event/reload_services
    #!/bin/bash
    echo '/usr/local/emhttp/webGui/scripts/reload_services' | at -M -t $(date +%Y%m%d%H%M.%S -d '+20 sec') 2>/dev/null
    EOF
    chmod +x $event/reload_services

     

    Edited by DC_Interstellar
    Link to comment

    That looks alright and should enable tailscale properly.

     

    For me GUI and SSH access over tailscale work fine after array stop/start. I access by IP address.

     

    Link to comment
    17 minutes ago, bonienl said:

    That looks alright and should enable tailscale properly.

     

    For me GUI and SSH access over tailscale work fine after array stop/start. I access by IP address.

     


    Interesting… It might be my coding?  To double make sure of myself. This is what I currently have in my “go” file. Please correct me if the coding is incorrect. 

     

    #!/bin/bash
    # Start the Management Utility
    # reload services after starting docker with 20 seconds grace period to allow starting up containers
    event=/usr/local/emhttp/webGui/event/docker_started
    mkdir -p $event
    cat <<- 'EOF' >$event/reload_services
    #!/bin/bash
    echo '/usr/local/emhttp/webGui/scripts/reload_services' | at -M -t $(date +%Y%m%d%H%M.%S -d '+20 sec') 2>/dev/null
    EOF
    chmod +x $event/reload_services
    /usr/local/sbin/emhttp &

     

    Link to comment
    9 hours ago, bonienl said:

    To make this work you need to have the docker service and autostart for tailscale containerr enabled

     

    There is a bug in SMB not properly updating when interfaces change, this will be corrected in the next release.

     

     

    Okay that is very good to know, because I can't get SMB to work at all with any interface that is not the default bond0.

    Edited by Spiritreader
    Link to comment

    I also have the SMB not working issue with ZeroTier.

     

    This seems to be an urgent problem for many, as many seem to use Zerotier, Tailscale, Netbird, Netmaker or others. GUI and FTP work fine, but SMB not.

    Edited by TBT
    Link to comment

    Yup. I'm encountering this issue as well (both ZT and Tailscale). The only temporary workaround for me at the moment is downgrading back to 6.11 since everything was working up until this 6.12.0 update. 

     

    Issue persists with both the plugin Tailscale and the docker Tailscale/ZeroTier

    Link to comment

    Have the same issue here with Tailscale for both plugin and docker

    Edited by harguna
    Link to comment

    I wonder if this is an IPv6 issue as mentioned here:

     

    I'm also having trouble connecting to SMB over the Tailscale plugin. With SSH I am able to connect by patching the rc.d file while the server is running. Maybe SMB requires a similar patch/fix?

    Link to comment

    UPDATE: v6.12.1 was just barely released to fix the SMB issue. Retesting to confirm that after reboot of the Unraid Server that the "go" file code will allow the "Include listening interfaces" in Settings>Network Settings to work and stay the same without manually editing it every time the server restarts.

    Link to comment

    The code in the 'go' file needs a small revision.

    The 'at' command does not support a waiting time in seconds, eventhough it can be given.

    The updated code below properly waits 20 seconds.

     

    # reload services after starting docker with 20 seconds grace period to allow starting up containers
    event=/usr/local/emhttp/webGui/event/docker_started
    mkdir -p $event
    cat <<- 'EOF' >$event/reload_services
    #!/bin/bash
    echo 'sleep 20;/usr/local/emhttp/webGui/scripts/reload_services' | at -M now 2>/dev/null
    EOF
    chmod +x $event/reload_services

     

    Link to comment
    12 minutes ago, bonienl said:

    The code in the 'go' file needs a small revision.

    The 'at' command does not support a waiting time in seconds, eventhough it can be given.

    The updated code below properly waits 20 seconds.

     

    # reload services after starting docker with 20 seconds grace period to allow starting up containers
    event=/usr/local/emhttp/webGui/event/docker_started
    mkdir -p $event
    cat <<- 'EOF' >$event/reload_services
    #!/bin/bash
    echo 'sleep 20;/usr/local/emhttp/webGui/scripts/reload_services' | at -M now 2>/dev/null
    EOF
    chmod +x $event/reload_services

     

     

    Perfect! That worked!! Thank you so much @bonienl and the Unraid development team for all the hard work ya'll put in!!

     

    Marking issue as resolved. Closing it in a couple of days from now.

    Edited by DC_Interstellar
    Link to comment
    6 hours ago, bonienl said:

    The code in the 'go' file needs a small revision.

    The 'at' command does not support a waiting time in seconds, eventhough it can be given.

    The updated code below properly waits 20 seconds.

     

    # reload services after starting docker with 20 seconds grace period to allow starting up containers
    event=/usr/local/emhttp/webGui/event/docker_started
    mkdir -p $event
    cat <<- 'EOF' >$event/reload_services
    #!/bin/bash
    echo 'sleep 20;/usr/local/emhttp/webGui/scripts/reload_services' | at -M now 2>/dev/null
    EOF
    chmod +x $event/reload_services

     

     

     

    Sorry, really stupid noob question: Where is this 'Go' file and how do I configure/access it from a Mac?

    Link to comment
    2 hours ago, calvintse said:

     

     

    Sorry, really stupid noob question: Where is this 'Go' file and how do I configure/access it from a Mac?

    /boot/config/go

    Best if you do this change directly into your Unraid GUI

    Edited by DC_Interstellar
    Link to comment
    On 6/22/2023 at 8:37 PM, DC_Interstellar said:

    Changed Status to Closed

     

    I'm sorry, but I disagree with this issue being closed. Tailscale used to work perfectly fine on Unraid 6.11.x and now it's broken even on 6.12.3 (which is what I'm on), due to whatever reason that didn't exist on the previous minor release.

     

    I don't see myself fuzzing in the go file just to get a particular docker container working that should be working out of the box as it used to be.

    Link to comment
    39 minutes ago, drdebian said:

     

    I'm sorry, but I disagree with this issue being closed. Tailscale used to work perfectly fine on Unraid 6.11.x and now it's broken even on 6.12.3 (which is what I'm on), due to whatever reason that didn't exist on the previous minor release.

     

    I don't see myself fuzzing in the go file just to get a particular docker container working that should be working out of the box as it used to be.

    So, you’re saying you will not go into the go file & add the short script that’ll take you a couple seconds? If you can’t do that. Then okay.

    Not be rude or anything, we can’t help you if don’t add it in. All of us were able to get working & it’s great! I, myself, suggest adding it in, but again. It’s up to you if want to or not. 

    • Like 3
    Link to comment
    40 minutes ago, DC_Interstellar said:

    So, you’re saying you will not go into the go file & add the short script that’ll take you a couple seconds? If you can’t do that. Then okay.

    Not be rude or anything, we can’t help you if don’t add it in. All of us were able to get working & it’s great! I, myself, suggest adding it in, but again. It’s up to you if want to or not. 

     

    It's definitely not that I couldn't add something to the go file, quite to the contrary.

     

    The problem I have with this is that this feels like an ugly hack that should not be necessary. I really don't understand what has changed from 6.11.x to 6.12.3 that suddenly prevents Unraid from listening to the tailscale network without having its services reloaded in the go file. Something this fundamental should be made available somewhere in the Unraid settings IMHO, especially if people confronted with this new behaviour see downgrading to the previous minor release as their only option.

    Link to comment
    On 7/19/2023 at 8:57 AM, drdebian said:

     

    It's definitely not that I couldn't add something to the go file, quite to the contrary.

     

    The problem I have with this is that this feels like an ugly hack that should not be necessary. I really don't understand what has changed from 6.11.x to 6.12.3 that suddenly prevents Unraid from listening to the tailscale network without having its services reloaded in the go file. Something this fundamental should be made available somewhere in the Unraid settings IMHO, especially if people confronted with this new behaviour see downgrading to the previous minor release as their only option.

     

    +1 on this sentiment.

     

     

    Link to comment



    Guest
    This is now closed for further comments

  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.