We all know how incredibly frustrating it is to be locked out of sites and apps you might rely on
for work or pleasure. TikTok, The Hub, and many other services
are being restricted or outright banned in parts of the world.
But don't fret, for there is a shining light in the darkness,
the VPN. Say a website is blocking users in your country.
By connecting to a VPN in a different country, that website will think you're there.
And boom, no more block. And today, we're going to show you a few ways
to do just that. Level one, where all you need is a credit card.
Level two, where you get to set up your own VPN. And don't worry, it's easy.
And then there's my favorite. Level three, where I tell you about our sponsor.
Before you decide how you're going to tackle a VPN, it's important to understand why you need one in the first place.
And I figure there's four main use cases. First, getting around throttling, blocking, or bans,
like your school or government blocking websites, accessing region-locked content, like a different country's
Netflix library, obscuring your IP address for privacy
or torrenting, legal stuff like Linux ISOs, of course,
and securely accessing a remote network, like your home or business, from somewhere else.
If you fall into any of the first three categories, especially torrenting, and you want the easiest solution,
there's level one. Using one of the many public VPN providers,
our personal favorite, is private internet access. And all you've got to do to get these going is sign up,
download their client, and hit connect. All right. Whoa, whoa, whoa.
There's nothing wrong with taking the easy route. But it doesn't mean you're not in control of your data.
And even a VPN provider who's trustworthy today
could change their behavior in the future. For instance, if they got bought out by a different company.
So let's talk level two, where you get to host your very own private VPN server.
While there are just about a million different ways to skin this cat, the setup I'm going to show you today
isn't scary, requires virtually zero maintenance,
and puts you in control. And you might even learn something along the way,
like this disclaimer. Anything we show you today is purely in the interest of education and privacy.
We aren't condoning or recommending piracy, bypassing legislative bans, or anything similar.
The illegal implications of your actions are your own responsibility. Thanks Riley.
If you're following along at home, you're going to want to check out the GitHub repo we have linked down in the description,
because that's where you're going to find all the necessary files, along with some step-by-step
instructions in case you get lost. Public VPNs work by tunneling your internet traffic
through a dedicated computer in a data center, and replace your IP address along the way.
That's the part that hides your location. And we're going to do basically the same thing
by renting a small piece of a computer from a cloud hosting provider.
They have data centers all over the world with thousands of servers that are split up
into what they call VPSs, or virtual private servers,
with the magic of virtualization. If you've seen us talk about virtual machines before,
it's the exact same thing. If you're comfortable using a Linux command line,
you should be able to replicate our setup with virtually any cloud provider.
But if you're not, and for the sake of simplicity, we're going to be using Vulture.
They're not a sponsor, but we had great results with their high-frequency tier.
So start by signing up there, and we'll come back to it in a sec. If we're being honest, traditionally setting up a VPN,
it's complicated, and it requires maintenance to keep things secure and reliable.
So instead of walking you through how to do all of that and keep it maintained, we distilled the entire setup
down into a single config file, literally this.
These 100-ish lines contain all the information our server needs to set up the VPN,
create a firewall to keep it secure, and handle automatic updates for both the operating system
and the VPN software, which is called Tailscale. It has a ton of cool features, but most importantly for us,
it makes the setup much easier, and it allows us to use existing accounts
like Google or GitHub to log in. And their free plan is good for three users
or 100 clients, so we're good there. Once you're logged into Tailscale,
head to the keys section of the settings and generate an auth key,
which is basically a fancy password our VPN server
is gonna use to log in. That auth key has to make its way into the config file I showed you earlier,
but that can be tricky and kinda easy to screw up. So we made a custom tool, which will be linked in the GitHub
that you can paste your key into, and then it'll spit out a config ready to go.
For the nerds out there who wanna be able to remote into the machine, you'll probably wanna add an SSH key,
but if you don't know what that means, just skip this step. So we've got our VPN software,
and we've got a config file. Now we need to get them on Vulture,
and that's where Flatcar, a lightweight operating system built for high security
and more importantly, low maintenance comes into play.
You see, it's like, it's a little train car with containers on it. The container, that's our VPN.
Anyways, back on Vulture, click deploy new server
and select the region you wanna use. If you're not trying to get around region restrictions,
you can pick whatever region is closest to you. If you are, pick whatever region is closest to you
in an area that doesn't have those restrictions. Now, there are a lot of plans to choose from,
but we found these shared CPU high-frequency ones to be the best bang for your buck.
Specifically, the $6 a month base plan, which includes a terabyte of bandwidth per month,
and can handle gigabit speeds without issue. You might be able to make it work with cheaper tiers,
so let us know down in the description how that goes. Disable automatic backup,
since we won't be storing any data on the machine. Select the stable version of Flatcar container Linux,
and then select cloud init user data. And that's where you're gonna be pasting
the configuration we generated earlier. Hit deploy, and while we're waiting for the VPN server
to show up in Tailscale's dashboard, it's a great time to download Tailscale
on whatever device you wanna use your VPN with. So go to their website, hit download, install,
and then once it's installed, log in. If you're on macOS, you have to agree to a few system prompts,
but once that's done, it should just connect.
Once you're logged in, you should see your client in the Tailscale dashboard, and hopefully by now, also your VPN server,
which we have to make a few changes to. First, you wanna go into edit route settings,
and then select use as exit node. This is gonna allow us to tunnel our client's traffic
to the VPN server, and then you want to disable key expiry.
And you might also wanna do this for your client as well. If you don't do this, after 180 days,
the VPN server will stop being able to connect to Tailscale
and just stop working as a VPN. Assuming you've done everything correctly,
you should have yourself a functioning, self-updating VPN server.
And I'm sure you did great, but now's a good time to check our work.
So open up command prompt or terminal, if you're on macOS like me, and run ping VPN server.
If everything's working, you should see responses with the latency listed, and if it's not,
well, go back a few steps and make sure you've followed everything correctly.
Assuming this is working, you're then gonna wanna run Tailscale status,
which if you're on macOS is a little bit more complicated.
We'll just copy paste that, boom, status.
And you should see direct in the response. That means you're making a direct connection
to the VPN server. If you see relay here instead,
you might have a funky or restrictive firewall that's blocking the connection,
and you can try asking for help on the LTT forum or Discord server.
If all looks good, like this WAN deskpad from LTTstore.com, you can go ahead and finally try it out.
So go to the Tailscale in your taskbar, select exit nodes, and then click on VPN server.
At this point, we're now tunneling our own traffic through our very own VPN server.
Assuming we still have internet, let me try pinging. Ping.
Hey, it's still working. Sick. Thanks.
We just have to try it out. Let's go, what is my IP address?
That's kind of the easiest way to figure it out. Hey, I see an IP address that's different
than the network that I'm actually on. And you can see our ISP shows us Vulture Holdings.
Great job. Now you should only have to select the exit node once per device.
It should remember the settings, but if you're ever unsure, it does actually change the icon in the taskbar,
or you can use a website like I just showed you to check your external IP address.
Now this setup can work great if your goal is to better protect your privacy
or to get around throttling or region blocks. And at this point, you can go ahead and test it out.
But if you're trying to get around a potential TikTok ban or maybe another app, for instance,
you might still be locked out since some of these services use other things
to determine your location, like the app store region you downloaded from,
sometimes GPS location, or maybe even your account billing information.
If that's the case, you can try changing your app store region and read downloading, for instance.
But if you can't get that to work, the web version in a webpage on your computer
or your phone should still work. Now, if you're trying to use another country's Netflix library,
they, like most streaming services, aggressively block hosting, VPN,
and data center related IP addresses. So this setup probably won't work.
Your best bet is one of the more streaming oriented public VPN providers,
or if you happen to have a friend in the country of choice, hosting a VPN at their house
could also be a workable solution. What's less workable is torrenting.
I mentioned earlier that torrenting is a great use case for public VPNs.
That's because whether you're trying to avoid DMCA notices
or circumvent ISP throttling, practically all big cloud providers
will forward abuse reports from your totally legal torrents directly to you.
And depending on their terms of service, they might even suspend your server.
There are hosting companies that operate in countries that don't abide by the DMCA and therefore don't care.
So if you're looking for that, Google is your friend, but you may have to get a little bit more manual on the setup.
Now, if you fall into the last camp of wanting to remotely access your home or business network
without having to port forward, like to check security cameras or stream video games,
or hell, run a Minecraft server. You can easily do that with tail scale,
no VPS required, and therefore for free. Just install the tail scale client directly
on the device you wanna access, like say your Minecraft server,
and then on your remote device and log them into the same account.
You can even run it in subnet routing mode and share services on other devices
or even your entire network. Just keep in mind that by default,
tail scale doesn't block any connections within the little tail scale network.
So if you do explore it, we recommend locking things down with their access control rules,
especially if you're inviting your friends. Put that all together and assuming you didn't take the easy route,
in just a few minutes, you've got your very own low maintenance,
automatically updating VPN server that's easily capable of reaching full gigabit speeds
where you're in control of your own data. And if you don't want it anymore,
just get rid of it. Delete, boom!
Now all you're left with is our sponsor. So thanks for watching. If you liked this video,
why not check out our last server room update? I think it was called Our Network Is Bigger Than Yours.
That was a good one, and you should watch it.