{"id":51,"date":"2026-02-17T23:19:20","date_gmt":"2026-02-17T22:19:20","guid":{"rendered":"https:\/\/blog.gindox.com\/?p=51"},"modified":"2026-02-17T23:19:20","modified_gmt":"2026-02-17T22:19:20","slug":"gl-inet-with-tailscale","status":"publish","type":"post","link":"https:\/\/blog.gindox.com\/?p=51","title":{"rendered":"GL.iNet with Tailscale"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">GL.iNet is a company that specializes in compact, open-source networking hardware \u2014 primarily travel routers, home routers, and IoT gateways. Their devices run a custom firmware called GL.iNet Admin Panel built on top of OpenWrt, giving you both an easy-to-use interface and full access to OpenWrt&#8217;s advanced configuration underneath.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One particularly powerful addition is the ability to install Tailscale directly on GL.iNet routers. <a href=\"https:\/\/tailscale.com\/\" data-type=\"link\" data-id=\"https:\/\/tailscale.com\/\">Tailscale <\/a>is a zero-config mesh VPN built on WireGuard that creates a secure private network across all your devices, handling NAT traversal and key management automatically. By running it on your GL.iNet router, every device on that network joins your tailnet without needing Tailscale installed individually \u2014 giving you seamless remote access to your home network and services from anywhere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Below you will find notes on how to properly install Tailscale on your GL.iNet router and allow full routing, not only from the device itself, but also allow LAN networks to reach other tailscale endpoints and other exposed subnets<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default, tailscale version shipped with the router is an old one<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"57\" src=\"https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-14-1024x57.png\" alt=\"\" class=\"wp-image-53\" srcset=\"https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-14-1024x57.png 1024w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-14-300x17.png 300w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-14-768x43.png 768w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-14.png 1056w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To fix that, you can use the following community updater, that will<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/Admonstrator\/glinet-tailscale-updater\">https:\/\/github.com\/Admonstrator\/glinet-tailscale-updater<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wget -q https:\/\/get.admon.me\/tailscale -O update-tailscale.sh ; sh update-tailscale.sh<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"54\" src=\"https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-15-1024x54.png\" alt=\"\" class=\"wp-image-54\" srcset=\"https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-15-1024x54.png 1024w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-15-300x16.png 300w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-15-768x40.png 768w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-15.png 1052w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><code>root@GL-MT3600BE:~# ping 100.100.100.100<br>PING 100.100.100.100 (100.100.100.100): 56 data bytes<br>64 bytes from 100.100.100.100: seq=0 ttl=64 time=0.401 ms<br>64 bytes from 100.100.100.100: seq=1 ttl=64 time=0.203 ms<br>64 bytes from 100.100.100.100: seq=2 ttl=64 time=0.251 ms<br>^C<br>--- 100.100.100.100 ping statistics ---<br>3 packets transmitted, 3 packets received, 0% packet loss<br>round-trip min\/avg\/max = 0.203\/0.285\/0.401 ms<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NAT<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"959\" height=\"345\" src=\"https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-16.png\" alt=\"\" class=\"wp-image-55\" srcset=\"https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-16.png 959w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-16-300x108.png 300w, https:\/\/blog.gindox.com\/wp-content\/uploads\/2026\/02\/image-16-768x276.png 768w\" sizes=\"auto, (max-width: 959px) 100vw, 959px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GL.iNet is a company that specializes in compact, open-source networking hardware \u2014 primarily travel routers, home routers, and IoT gateways. Their devices run a custom [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.gindox.com\/index.php?rest_route=\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.gindox.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gindox.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gindox.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gindox.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=51"}],"version-history":[{"count":2,"href":"https:\/\/blog.gindox.com\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":58,"href":"https:\/\/blog.gindox.com\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions\/58"}],"wp:attachment":[{"href":"https:\/\/blog.gindox.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gindox.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gindox.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}