Hang tight while we fetch the video data and transcripts. This only takes a moment.
Connecting to YouTube player…
Fetching transcript data…
We’ll display the transcript, summary, and all view options as soon as everything loads.
Next steps
Loading transcript tools…
Using a Raspberry Pi to hide from my ISP | Spencer's Desk | YouTubeToText
YouTube Transcript: Using a Raspberry Pi to hide from my ISP
Skip watching entire videos - get the full transcript, search for keywords, and copy with one click.
Share:
Video Transcript
This is my brand new Raspberry Pi
router. It connects to my apartment's
Wi-Fi and forwards internet to all the
devices behind it, hiding them from my
ISP. But why am I hiding them from my
ISP? So, about a year ago, my wife and I
moved into our new apartment, and they
provide a community Wi-Fi solution. That
means that you don't need to set up
routers or modems. You can just connect
your devices instantly. Now, while this
is great for the average resident, it
means that I don't have the ability to
configure my router and do any sort of
networking things. So, I haven't been
able to connect to devices over Wi-Fi,
like Raspberry Pies, or update my 3D
printers or even host something like a
Minecraft server. So, I called up my ISP
and I asked them if I could just connect
my own router to the Ethernet port in
our apartment and just, you know, use
that as an access point to share Wi-Fi
to my devices, but they said that they
scan the network and kick off anything
that looks like a router. So, that
wasn't an option. Now, I was pretty
defeated, but I went ahead using a
router offline for a few months just to
connect with my 3D printers. But one
day, I decided that I had enough. I
decided that I would figure out how to
get around the no router rule. Enter the
Raspberry Pi. Raspberry Pies are small
single board computers that run Linux
and can be used to do a variety of
things. The first step was to choose an
operating system for the Raspberry Pi. I
decided to go with a headless version of
Raspberry Pi OS. The light version of
Raspberry Pi OS doesn't come with a
desktop environment, so there's a lot
less processing to be done by the CPU on
the Raspberry Pi, and it comes with
about a gigabyte less of packages and
stuff. After booting it up and
connecting a keyboard and monitor, I got
it connected to the Wi-Fi by using a
tool called Network Manager. Using
Network Manager, I was able to list all
the available Wi-Fi networks and connect
to our community Wi-Fi. I also used it
to give the Ethernet port of the Pi a
static IP address, which will come in
handy later. By the way, if you want to
create your own Raspberry Pi router,
check out my website, spensorsdesk.com.
I've got all the project files and code
there. Once I got connected to the
internet, I unleashed the two most
notorious commands known to Raspberry Pi users.
users.
Yeah, I updated the Pi. Once the Pi was
updated, the next step was to install a
tool called DNS Mask. This gives us the
ability to create a DNS forwarder and a
DHCP server. The DNS forwarder kind of
acts like a DNS server like Google or
Cloudflares. So when our Pi wants to
reach out to a website like google.com,
it sends that request to the DNS
forwarder which sends that to a DNS
server and then the DNS server says,
"Oh, google.com is this IP address and
returns it to the DNS forwarder." The
DNS forwarder will cache that IP address
and then return the IP address to the
device that requested it. And then in
the future, every time someone requests
google.com's IP address, the DNS
forwarder has it cached so it can um
return it much faster and doesn't have
to reach back out to the DNS server. The
DHCP server, on the other hand, is what
is actually acting as our router. It's
handing out IP leases and getting
devices connected. With DNS mask
installed, I just needed to create a
configuration file. First, I tell the
DHCP server to only listen on the
Ethernet port. So, it will only listen
to devices that are physically connected
to it. Next, I explicitly tell it not to
listen on the wireless port. Next, I
give the server a range of IP addresses
that it can hand out. So, I went with 10
to 100 for 12-hour leases. I think you
can do anywhere from 2 to 255, but I
wanted to reserve the first 10. Um, and
I don't see myself needing more than 100
devices, so I just went with 10 to 100.
The final thing we need to configure
with DNS mask is the IP address for both
the um gateway and the DNS forwarder.
The gateway is pretty much just the IP
address of the router. You can think of
it as that. And then the DNS forwarder
will also be the router's IP. So since
we assigned that IP address to the
Ethernet port, we're just going to point
the gateway and DNS forwarder to that
Ethernet port. So now when a device is
connected to the PI router, it will know
that the PI router's Ethernet ports IP
address is what it should be reaching
out to. After finishing the
configuration file for DNS mask, I just
restarted and enabled the DNS mask
service. And now we technically have a
router. You're now able to connect from
one device to another across the router.
But we still aren't passing internet
from the router connected to the
internet to the devices behind it. To
enable this, we need to use something
calledNNAT or network address
translation. So if I have a device here
like a 3D printer or a Pi running a 3D
printer and I have my router here, then
if this wants to make a request to the
internet, it will send a request to the
router with its IP address. So, what the
router needs to do is rewrite that
request to have the router's IP address
and then it sends that off to the
community's Wi-Fi and then, you know,
all of it is handled downstream.
But right now, we're not doing that. So,
network address translation is going to
do the rewriting of that IP address. So,
with the router rewriting all these IP
addresses, it looks like the router is
just a single device connected to the
internet. This is called masquerading.
We're going to do NAT by installing
something called NF Tables. This is a
packet filtering tool. You can think of
it like a firewall. So after installing
NF Tables, we just need to do a little
bit of configuration. We're just writing
a rule that says that the packets that
go from our devices out of the router
need to be masquerad. After that, we
just need to enable IP forwarding in the
Linux kernel and then we should be good.
Now we have a router that functions
perfectly well. But I wanted to take it
a step further. So, I installed
something called Tailcale on my Pi.
Tailscale is a VPN or virtual private
network. Not like the ones that you see
advertised here on YouTube. It acts more
like the Wi-Fi on our local network,
kind of like the network I'm setting up
with the Pi, but this network can
be forwarded across the internet so that
I can connect to that from any device.
This means that if I want to, I can
connect to my Pi router if I'm out
somewhere at like a local coffee shop.
As a final security measure, I
configured NFT Tables to only allow port
22 requests from the Ethernet port and
from my tail. I did this so that in the
weird case that someone was going
through the community's network, um,
they wouldn't have the ability to SSH
into the Pi router across the community
Wi-Fi. you would only be able to SSH in
if you got into the tailet or if you
physically connected to the router. So
now the router is done. It is doing
exactly what I needed it to. It is
connecting my devices to the internet
and my ISP has not yet kicked it off the
network. I can also connect to it from
anywhere in the world and do whatever I
like on it. But even though I had the PI
router set up, I wasn't quite satisfied
yet. It felt pretty unpolished. So, I
hopped into Fusion 360 and after
printing out a few iterations, I landed
I also ended up getting these small OLED
screens to display like device stats and
network stats on the case itself just to
see how well the Pi was running and if
the network was still up. But mostly, I
added it because screens are cool. I
also ended up adding a small button to
the case and a knock to a fan to keep
everything cool. After getting the pie
mounted and everything wired up, I
closed it up with the lid.
Now, I know for a router that this seems
pretty big, but it's nowhere near as big
as Yama. [Music]
[Music]
So, with the router assembled, it was
time to work on the software to run the
screen to display the stats of the Pi. I
just wanted a couple of scrolling pages
to show how the Pi was doing, how much
traffic there was on the network, and
whether things were healthy or not. I
also wanted a button to toggle the
screen on and off, but somewhere along
the way, I ended up deciding to add a
Raspberry Pi screen saver as well. So,
there's that. The final step was to have
that screen script run every time the Pi
was booted and to turn off when the Pi
was shut down. This was simply done by
creating a service in systemd and adding
a small little power down script. And
with that, the Pi router was finally
complete. I've left it running for a few
days now and have had a few computers
connected to it streaming video and the
Pi really hasn't gotten above about 42
C, which is very respectable. I can't
tell you how excited I am to get all of
my devices and printers connected back
to the internet. If you want to learn to
create your own Raspberry Pi router,
then check out my website. I've got
links to the code for the screen, the 3D
models for the case, and all of the
different commands I had to run to get
everything installed on the Pi. If you
enjoyed this video, then I'd appreciate
if you'd leave a like and subscribe so
you don't miss future projects. And if
you're looking for something else to
watch, check out this video where I
programmed my 3D printer to play Furiss
and came up with an entirely unnecessary
programming language to program music.
Click on any text or timestamp to jump to that moment in the video
Share:
Most transcripts ready in under 5 seconds
One-Click Copy125+ LanguagesSearch ContentJump to Timestamps
Paste YouTube URL
Enter any YouTube video link to get the full transcript
Transcript Extraction Form
Most transcripts ready in under 5 seconds
Get Our Chrome Extension
Get transcripts instantly without leaving YouTube. Install our Chrome extension for one-click access to any video's transcript directly on the watch page.