Makefile, plausible and tailscale post
parent
a9de2628ad
commit
cb102f98eb
|
@ -0,0 +1,7 @@
|
|||
all: build sync
|
||||
|
||||
build:
|
||||
hugo
|
||||
|
||||
sync:
|
||||
rsync -avz --delete public/* $(REMOTE_USER)@$(REMOTE_HOST):/opt/dist/til
|
|
@ -4,4 +4,8 @@ date: 2021-06-27T14:01:56+05:30
|
|||
draft: false
|
||||
---
|
||||
|
||||
This site will usually have what I have I learned over the years.
|
||||
This site will usually contain what I have learned or tried over the years.
|
||||
|
||||
It includes a lot of experiments, so be cautious in doing copy-paste.
|
||||
|
||||
> The site uses self-hosted version of simple and privacy-friendly analytics [Plausible.io](https://plausible.io/).
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
title: "Tailscale"
|
||||
date: 2021-07-12T13:47:33+05:30
|
||||
draft: false
|
||||
tags: ["til","vpn","wireguard","tailscale"]
|
||||
---
|
||||
|
||||
> tl;dr: Tailscale is awesome, give it a try if you use WireGuard® often!
|
||||
|
||||
WireGuard® was something that I have been using a lot from the time it was yet to merge in linux kernel, and it was great, had a lot of improvements over my old OpenVPN Setup.
|
||||
|
||||
WireGuard® is great and I have never been thrilled with the quick and easy setup with few configurations here and there, but when the number of servers/peers are increasing it is harder to manage.
|
||||
|
||||
# Enter Tailscale!
|
||||
|
||||
I was watching this service for a while and it was a great concept, plus coming from the people I follow, [@bradfitz](https://twitter.com/bradfitz) and [@davidcrawshaw](https://twitter.com/davidcrawshaw).
|
||||
|
||||
The major takeaway is the automation and simplicity. Before using WireGuard® in production I tried it for a year and when I was confident enough I rolled it out to the users, and I am hoping to do the same with Tailscale once I see if it's feasible to replace our current VPN workflow.
|
||||
|
||||
## Advantages
|
||||
|
||||
* Quick sign-up and getting started [doc](https://tailscale.com/kb/1017/install/)
|
||||
* Easy to use command-line utility
|
||||
* Packages are available for most of the distributions and platforms
|
||||
* Raspberry Pi plus Arch Linux.
|
||||
* Feature Rich (and they are configurable!)
|
||||
* DNS
|
||||
* Management
|
||||
* ACL (not tried though...)
|
||||
* VPN (ofcourse...)
|
||||
* and so on...
|
||||
* Nice [Explanation](https://tailscale.com/blog/how-tailscale-works/).
|
||||
|
||||
I remember that previously it took me a couple of days to setup an exit-node on WireGuard® work properly and in Tailscale it took me about half-hour.
|
||||
|
||||
## My bad
|
||||
|
||||
Despite of all the advantages I ran into few problems when trying out the
|
||||
tunnels on various devices.
|
||||
|
||||
I connected 4 devices, and all of them are running without errors but when I tried to
|
||||
create a configuration for exit nodes and using one of them somewhere else,
|
||||
it created and issue.
|
||||
|
||||
Though it was my mistake that I created a Subnet and exit-node on the same device
|
||||
that could have led to that issue.
|
||||
|
||||
## Works perfectly
|
||||
|
||||
I didn't mention this previously but my laptop already had WireGuard® up and running with three peers across three different data centers, and I was running Tailscale without any problems. I had different routes for both so it worked.
|
||||
|
||||
The DNS was something I had to struggle with as I have a custom DNS setup in my local and had to use `tailscale up --accept-dns=false` to avoid breaking my configuration.
|
||||
|
||||
---
|
||||
* WireGuard is a registered trademark of Jason A. Donenfeld.
|
||||
* More about Tailscale at https://tailscale.com
|
|
@ -0,0 +1,32 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{{ with .Site.Params.description -}}
|
||||
<meta name="description" content="{{ . }}">
|
||||
{{ end }}
|
||||
{{ printf `<link rel="shortcut icon" href="%s">` ("favicon.ico" | absURL) | safeHTML }}
|
||||
{{ with .OutputFormats.Get "rss" -}}
|
||||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s">` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
||||
{{ end -}}
|
||||
|
||||
{{ $resources := slice -}}
|
||||
|
||||
{{ $resources = $resources | append (resources.Get "css/main.css") -}}
|
||||
|
||||
{{ $resources = $resources | append (resources.Get "css/min770px.css") -}}
|
||||
|
||||
{{ $dark := .Site.Params.dark | default "auto" -}}
|
||||
{{ if not (eq $dark "off") -}}
|
||||
{{ $resources = $resources | append (resources.Get "css/dark.css" | resources.ExecuteAsTemplate "dark.css" .) -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Site.Params.highlight -}}
|
||||
{{ $resources = $resources | append (resources.Get "css/syntax.css") -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ $css := $resources | resources.Concat "css/style.css" | minify }}
|
||||
{{ printf `<link rel="stylesheet" href="%s">` $css.RelPermalink | safeHTML }}
|
||||
|
||||
<script async defer data-domain="til.dcpri.me" src="https://t.dcpri.me/js/plausible.js"></script>
|
||||
<title>{{ .Title }}</title>
|
||||
</head>
|
Loading…
Reference in New Issue