 Tom here for more systems, and we're going to talk about WireGuard VPN and by no coincidence I'm wearing a shirt that says simplicity is genius And I thought this was something that really applied to WireGuard and I grabbed this shirt figured Hey This is a good shirt to wear doing this video because WireGuard has a simplicity to it that makes it very attractive and one of the reasons It's very popular What we're going to discuss in this video is how to set up your own WireGuard server I have all the time indexes below if you don't want to hear me talk about some of the fundamentals WireGuard and want to skip right to the tutorial part and I will be discussing some of the shortcomings of WireGuard That's the first part that I'm going to ramble on a little bit about and I want to make sure all the Understanding of the WireGuard VPN protocol is there, especially some of the fundamentals before we dive into all this Let's first feel like to learn more about me or my company head over to Lawrence systems calm If you like to hire short project, there's a hires button right at the top If you like to help keep this channel sponsor free and thank you to everyone who already has There is a join button here for YouTube and a patreon page. Your support is greatly appreciated If you're looking for deals or discounts on products and services we offer on this channel Check out the affiliate links down below. They're in the description of all of our videos Including a link to our shirt store We have a wide variety of shirts that we sell and new designs come out well randomly So check back frequently and finally our forums forums.laurancesystems.com is where you can have a more in-depth discussion about this Video and other tech topics you've seen on this channel now back to our content We'll start here at wireguard.com wireguard is a modern fast secure VPN that uses modern cryptography Pretty straightforward in terms of all the details they have and you know why you should use it It's simple and easy to use cryptographically sound minimal attack surface high performance well-defined Thoroughly considered and people that have followed my channel for a while may ask about formal verification They do have formal verification on the protocols themselves They have several white paper several write-ups and it's gone through quite a bit of review But one thing I want to mention here and we'll get into the known limitations in a second But they have an entire white paper that breaks down exactly how it works Lots of really good details I've actually spent a lot of time reading to make sure I understand every aspect of it Which is also why I want to get to known Limitations and some of the challenges with wire guard now they have a whole page on this But I'm just gonna speak to it one of the problems with wire guard is it does not have a username or password implementation They have left this up to third party and this may be a problem for some people because I've been asked Well won't this just automatically replace open VPN and not exactly those mechanisms that are well-defined and well open VPN for example has been around for a long time and Username password plus key authentication Multiple factors here has been around and very popular and well thought out in open VPN Wire guard just kind of left that aside and basically decided they were going to create a very basic protocol Have really solid implementation But leave it up to third party for all the other features around it and many firewall vendors will then come up with how they Want to implement wire guard now wire guard is a very easy replacement for something like IP sex So if you have the option to use wire guard and it has a full kernel space implementation in your distribution currently Linux has a full kernel space Implementation as of November 2020 the BSD one is coming for other firewalls that are ready to fully implement this in kernel space That are based on BSD But the firewall vendors are going to have to leave it up to them if they want to integrate username password in there And this is going to be a challenge because this is where the attack surface comes in wire guard The protocol is sound and just like open VPN the protocol is very sound but many vendors start doing their own thing of how they implement it and that System they create around it for username and password is where there may be some attack surface So even though the protocol is solid and if you were just to do a site-to-site VPN You probably wouldn't how much to worry about if each firewall vendor will have to examine how they do Implementation of things like username password because it's not part of the wire guard protocol It'll be their implementation of it and I bring this up because there's also a company called tail scale now the goal in the end of this video is you're gonna have a completely working VPN server to Connect to and wrap all your traffic in but we're doing this a hundred percent manual because the goal is also to have an Understanding of the fundamentals of how wire guard works Tail scale is well It's gonna be a solution for the majority who go I don't want to know the inner workings I want to secure VPN, but I don't want to deal setting it up And they're just a company that I have not used I bring them up because well They were just in the news for this and I tweeted this out talking about the embrace of money and people gasping to review it It's a paid service that just is a wrapper for wire guard. So it's not anything. I really I mean it might be a cool solution It's not something I plan on deploying anytime soon or actively using as far as I'm concerned Opa VPN is gonna be around for quite a while a couple other limitations one of them is deep packet inspection There is nothing in wire guard to support Obstocation what that means is anyone doing any type of really basic Deep packet inspection is going to be able to recognize the traffic as wire guard traffic TCP mode same problem open VPN all throughout there's an example again open VPN has some methods to one switch it to TCP mode and then hide it to make it look like SSL to try to fool deep packet inspection systems It's not like foolproof, but it's a way to hide the type of traffic wire guard makes nothing In no attempts to hide this and this may be a problem for some people So it's not likely to be a protocol that's getting around so to speak any type of filtering matter of fact It's quite easy to filter not based on the port but based on the definition of the traffic because any type of Obstocation will have to come from a third party and add on for wire guard. It's not something where guard has any native support for Well, they have a few other details in here I'm not going to dive into but they are really solid though on overall and I will at least mention on performance Well hardware crypto is a thing that helps some of the other protocols It's not even really needed in wire guard But maybe it will make it even faster in the future as of right now It does not have any well right now I should say it doesn't really have any need for hardware crypto Which is good because it then it works on a general-purpose CPU, but this is actually where potential Maybe someone will develop some type of processor that makes it even faster So that's some future thinking stuff, but I'll leave you links to all this Of course, it's all at wire guard calm of some of the things we talked about And if you want to dive even deeper than I plan to dive into the white paper now We're going to go to the tutorial part and I'm going to break down how to set up a server in digital ocean and The accompanying for your forum post so all the commands that I'll be typing you'll be able to find In the forum pulse that'll be linked below in the descriptions video So let's get started on building our server and getting routing set up Now we're going to be doing this in digital ocean because I've had an account for a while And I've always been happy a digital ocean It's where my forums and other projects I have are hosted We do have an affiliate code down below that does help out and give us some resources to create these and it helps out The channel if you want to use the affiliate link to sign up not required, but appreciate it now choose an image We chose a bunch of 20 dot 10 Basic and their $5 a month plan here really straightforward New York option and or choose region year Wherever you want to come out for your VPN. I chose New York for the purpose of the demo I already have my SSH keys installed in digital ocean And I've got a video if you were looking for more information on how SSH keys work Now I just check this box to say yes load those keys and then we give it a name Now I've already created the project and I have actually more than one I've created Specifically the one we're going to be using is this YouTube WG for a wire guard demo and the public IP address is 192 241 141 25 and no for anyone that may not be completely familiar with how Private IP space works just because it begins to 192 doesn't mean it's private IP It's as public IP is this one six dive one below it, but specifically this is the one we're going to be using Now we're going to go over here and walk you through what was changed in here So this is the YouTube WG demo and then we have The write-up that will be linked as well. This is this step by step write up So if you see me typing commands, you know, I'll have to grab them off the screen There's a link below to this right up in my forums and this video is embedded within so you whether you started at the forums I started this video. There's links back and forth to both now server site set up create the droplet load of onto 2010 Update it. We've already taken care of that, but I recommend it people ask How do you get your command prompt to look like that? Well, I do have the dot files and how that works So it's easy enough to go through and change those command prompt looks like that optional Maybe you don't want to change it But that's something that I have linked and listed in there The first thing we need to do is enable IP forwarding to have this server act as a Forwarding server so you can connect your computer to it and forward all the traffic So it comes out of that as a public IP address you need to enable forwarding. So to enable it right here We do the edit the ETC sysctl.cn C-o-n-f so sysctrl.conf in the Etsy folder. So go over here. We're gonna go to Vim drop that in there and Right here where it says net IPv4 forward equals one. So normally That's commented out all they did was get rid of it use Vim use nano use whichever you're one here comfortable with and that's how you turn it on So that's all we have to do is enable the forwarding Next step you can run sysctl-p activate it or reboot the server once you change that it doesn't change immediately It changes next time that's loaded But sysctl-p will activate the changes or like I said rebooting the server app to get install wire guard Pretty straightforward there just to go after get install wire guard. We've already got the latest one installed So no big deal pretty straightforward. This is all built right into Ubuntu. This is one of the reasons I chose it Everything's already in here now this part's really important You want to regenerate where I should say generate private keys if I did it again It would regenerate them you mass 077 WG Gen key now the way wire guard works WG is the server command so it starts up WG. There's also WG quick It's part of the command structure that we'll be using for this and what we have is we want to We'll go to CDSC wire guard and we want to create these So they have you mass 077 so the permissions are proper the default you mask would create them with other Permissions that could be a problem you have But there's the public key and there's a private key and don't worry this server when I'm done with this video We'll get destroyed so it's okay that I show these public and private keys Next step after you've created the keys is you're gonna want to Cat private key and I'll show you what that does so if we go here to cat private key There's the private key that we need from there. We need to create the WG0.com file so little Vim WG0.com now if it's not created Vim and typing a blank file name or nano the file name will create the file Then we got to put these settings in but we need to make sure we have this right here this private key I recommend copying it pasting it in To the configuration because you have to get that private key set up here So here is our private key and this is the settings for the While your guard server we're gonna ignore this part for now the peer settings We're gonna focus on the top part interface address 192.1 6869.1 you have to set up an internal IP address for the routing to take place It's kind of like an intermediary So this is an internal IP that we have then we need this right here This is a very important line for Masquerading to work properly in that so this allows the servers that are connecting Well, I should say the clients that are connecting to route through here via essentially NAS So they're gonna be able to come through from their location come through as Nat Assume the IP address of this particular server and then go back out post up versus post down post up means turn on all these Features when the wire guard interface comes up post down means shut this interface down when you're done You don't really need to post down but I left that in here that way It shuts everything down and turns everything off on this server whenever you stop the where guard interface Listen port I'm using the default listen port of 51820 use whichever listen port you want But you have to modify this tutorial of course everywhere that listen port comes up and there's that private key So when we said cat private key and dump that out that just simply goes here So straightforward private key, please note. There's a private key space Equals space then the private key and yes, there's an equals at the end So don't add a space there. It's very important that the formatting is right and I have the formatting in here Exactly the same because this is all copy and pasted other than your private key goes here So someone doesn't try to use my private keys and mess things up They are private and public key pairs if you were to copy some of the settings I have and put my private key but have a different public key you'll get problems with this system. All right Now that's pretty much it for the interface setup and essentially the server side set up peers are those Systems you're going to have connecting to you and we're going to go and look at our peer settings, which are pretty much the same We go over here and same thing. This is a Debian Server that I set up just for this and it's behind a firewall It's just one of my lab systems that I had conveniently located and it's running Debian Linux bullseye so by and a kernel 5.9 which has the Wireguard client built in we did the same thing updated it loaded wire guard And now we can go over here and actually we can just jump right to the edit at see wire guard And we're gonna create a config over here. We're gonna call it youtube.com I just wanted to make sure there are two different names. I could have called this anything I want We called it WG zero. I don't know about anything, but within reason you can give it different names we're calling this one YouTube VPN dot co nf and I did this to try to be as clear as possible when I'm on The client side, which is this Debian machine versus the Ubuntu machine That's gonna act as a server that waiters kind of a distinction between them. So when we're in here We have the peer as in this is its peer. So this is the server side This is essentially the client config the YouTube VPN So this is where the public key is and the public key and we'll actually exit out of this real quick And we can go cat slash at see wire guard Public key There's the public key of the Debian client system They want to connect and you can see we'll just look at the last couple Z zero pkw and we see Z zero pkw So this is what allows us to have this system connect to it So we did the same thing generate those keys and we got to put the public key of this server over here And let's before we go any further jump into this This is kind of a layout so those of you that like me mapping it out in a tool This is done in draw.io and you can see this is the interface config for the Ubuntu wire guard server This is the interface config for the Debian test server and both of these are also laid out in that forum post So this particular box is behind a firewall It's gonna go through here go out to the internet and connect to this the same thing the public key of this server is Located in the config of the Ubuntu server and vice versa. It's true the public key of the Ubuntu server is going to be what we put Into the Debian test server So that's all you need in terms of how wire guard authenticates as I said, it doesn't have a username and password It does all of this with peered authentication with public key. So there's just a Public key over here a public key over here as long as we know each other public keys We heat the private keys private. That's all we need to know to have these connecting So let's go back over to our config I'm gonna go here look at it now comes the endpoint and so we have the public key over here the endpoint There's that 192.241.192.241 141.25 colon 51820 for the ports now we have allowed IPs Allowed IPs forward all traffic to server is what I have here But if you were to say we'll insert another line afterward and we need to do allowed IPs equal 192.168.69.0 24 Then whatever other networks we could then and we'd have to comment this one out This would allow for essentially a split tunnel type of routing you would specify what networks and IP addresses are allowed And this means the client would connect and only route that particular traffic But where guard has the option to route all traffic through so this is where if you were doing split tunnel You would just split it here if you're not doing split tunnel you on a full tunnel where all traffic you do 000 slash zero and forward all traffic to server This is it. This is one of the beauties of wire guard is that's all the config we need to get that working So we'll go ahead and exit that And then we'll go ahead and exit this Now one more thing that's in the tutorial here is getting this set up so it works on boot So one of the things that we have here is if you want the WG zero interface to be active on boot You need to run system control enable WG dash quick at WG zero so this command right here Let me talk about what that does so where guard when it's up and running and we'll actually go over here We're on the server the digital ocean server clear and We use the WG quick command to down The interface so we went down the interface. So there's nothing in here. So if you do WG show Wire guard show, there's no connections. There's no tunnels. There's nothing here. So we're gonna go WG quick We're gonna up and we're gonna up that interface WG zero That's it. There's the entirety of it and we do W show The interface is just sitting here waiting for something to happen So it dumps out the public key right here the listening port all UDP This is the peers that are allowed. So currently there's this peer right here is allowed persistent keep alive every 25 seconds Now I won't get too much into it persistent keep alive You may or may not need that depending on if the client is One behind nat and two whether or not you're worried about those connections going stale what that means is if you have a client and we'll explain this really quickly here and You have like this deviant test client and we have it connecting to here because Silence is a virtue according to the documentation of wire guard, which means it does not make a bunch of noise to keep the tunnels alive and It doesn't really need to so if both devices are on public IP addresses anytime they initiate traffic it automatically renegotiates and starts passing traffic, but They keep alive if you want the Ubuntu Wire guard server in digital ocean to be able to talk to the deviant server whenever it wants to even though It's behind a firewall you need to occasionally send a keep alive to keep the state table alive If not, this will go quiet over here and then this will not be able to initiate a connection over here That's if you need that Let's say and we'll use the phone as an example if I'm using a phone Which is behind a firewall and I want it to connect well I only want my connections initiated from the phone So in that case I wouldn't want to keep alive or if I didn't care whether or not this server could talk back to this I don't need to keep alive because as soon as this server initiates a connection It'll go through and create its own state table or a fresh one if the old one expired and go through there So they have a better explainer if you look up the keep alive options inside of wire guard It goes more in depth of different scenarios, but we'll go ahead and leave it in for purposes of this video But it just of note if you were using a phone less likely you'll be using it there So this is up and running if we go to if config There is wg0 wire guard just adds an interface once you bring these up So we have our standard e0 e1 which is an internal shared your local and then wg0 Now let's go over here and we'll do wg quick and you're probably thinking I want to up the Make sure you probably have an interface up. No, none of them are up. So We actually go here wg quick up and we'll type in YouTube vpn before we type that let me show you what if config brings up. There's e0. There's our local ip address And there's the local interface. So there's only the couple interfaces, but when we do wg quick Up and we type in youtube vpn Then we type if config again We have a interface called youtube vpn Now this is actually kind of neat and we'll play something real quick here wg quick down youtube vpn And we'll go over to Let's see wire guard and we'll list. I have a handful of different ones in here. I have a wg1 Let's even do this. We're just going to copy the youtube vpn to tom.com Now we're not changing anything about it. We're just creating a copy, but now when we do wg quick again up We'll call it Tom and then we go in if config now. There's a tom interface Wg0 makes the most sense from a logical standpoint like we have over here Because it's wire guard interface zero and yes, you can have multiple interfaces because we can even do wg quick And then Up and then we can do the youtube one and then we go if config and now we have a tom vpn and a youtube vpn So this is kind of a fun thing about wire guard is you can just create creating all these different interfaces This is also why wire guard Is not a protocol that's very big because after this once it creates interface all the other routing information everything else It's just standard linux networking and routing to configure this. So now we'll go back to wg quick Down and we'll take down the youtube one All right and with all the interfaces brought down we're back to just the basics Now let's bring the interface pack up so we can actually do some wire guard commands here So wg quick we'll up and we're going to just use youtube vpn like we have in the write up And I want you to notice something here. There's not anything really to show So if we Look at it latest handshake six seconds ago, and we should be able to ping now 192 168 dot 69.1 Which I can ping it and 69.1 if you didn't notice is this ip address here There's not anything to tell you or do anything about the interfaces Like making noise as a matter of fact Without restarting this particular one. We're going to stop this one. So we'll do wg quick we'll do Down wg zero. So we took it down broke the connection And now we're just going to go ahead and wg quick bring the connection back up Now normally and once again, I'll use open vpn example You would have to go to the client and tell it to reconnect re-establish those connections There might be some type of delay In the world of Simplicity and it's going to take a second here because it's realizing that old state table Probably broke But it will renegotiate without any noise without you having to re-authenticate and just start talking again to that server And that's it all done in real time. I didn't edit that or make a jump ahead That's this slow delay from this server starting it to the route and connection being re-established It's really fast overall when you're doing Things get moved around matter of fact if there's any type of roaming because we did not specify like a specific ip that this has to come from in terms of this Debian client so if it were to move or it's behind a different ip address That can happen relatively seamlessly because as soon as you negotiate the negotiation process extremely fast And you don't have to actively take it up and down So we didn't have to do anything on here. It tried the old state table. It waited It realized it was broken it established as a new one automatically and now we're talking Of course the next question is If we go here to if config actually we want to know the ip address this let's uh if config and We see that 69.2 is where we're routing everything over but if we type the route We're now pushing out everything over here So 192 68 is now the default route the youtube vpn This means all the traffic is going to be tunneled there now if you're not familiar with the website If config.co It's a really handy and i've blurred out my Information here, but this website tells you what's your ip address very similar to what's my ip But the cool thing is you can use curl to find out what your public ip address is now i've blurred out my public IP address at my office here, but let's go over here and we're going to type curl if config That's co After I spell it right if config.co And it gives me 192 241 141 Dot 25 and if we do wg quick down The youtube vpn And then we go back to curl i have config.co I'm blurring it out, but that's my public ip address So that quick we can bring it up and down and actually let's go Wg quick and go up actually clear Then we're going to go curl if config.co And we're back to routing traffic all back out of our digital ocean vpn It very quickly brings these services up and down. There's not much delay Especially when you already have the server running. I can take this down bring it back up There's not a long negotiation process wire guard goes through to get connected and routing again Now the next thing I want to do and we're going to leave this depian client Up and running and it has the ip address of 192 168 69.2 internally And we're going to leave it up and running while we connect another system and Working in linux is pretty easy for me, but I know a lot of people are going to be using windows So I have a windows client that I'll show how to do this as well And the nice thing is there's already a wire guard client for windows pretty straightforward We go here to wire guard wire guard dot com slash install I downloaded the windows installer and then we ran through the installer Really just a couple next and yes and now we have to build our tunnel So we're going to go here and we're going to add an empty tunnel and call it youtube Demo so we can call it whatever you want youtube demo sounds good to me And we have here the public key don't worry about the private key once again I'm going to be destroying all these when I'm done with this video But we need to get the public key over to the other server So here's that public key and let's get the server setting set up. So we're going to switch back over and this is our youtube wg demo server and we're going to go ahead and take down the VPN so we'll go wg Down wg zero Them such the wire guard wg zero And now we have to add another peer. So here's that test debbie and client peer public allowed persistent keep alive And we're going to create another peer over here. Let me call this peer Windows client. Here's the public key. There's the allowed ip's 69.3 Because we're going to increment up Lee now as I stated before There's not any type of DHCP system or any IP addressing system inside of wire guard natively You can rely on external services for it in this case because we're mainly creating the files We're just going to increment to the next IP address But you can set these however you want as long as you're within the address range here, which is 192 168 69.1 slash 24 giving it a slash 24 range. So we'll go to dot three here There's that public key And there's the IP address that we want go back over to here There's that same public key that we copied over there and now we got to put some settings inside of here And we got to put the peering settings in And it's the same as it was on our Linux system There's the public key that public key is related to the public key of a bunch of server And we put that public key allowed ip's endpoint 192 168 141 dot 25 And the same thing colon 51 280 one more thing we have to add up here is we got to assign the IP address So we're going to say address equals 192 168 69.3 slash 24 And we we go so here we go hit save Block untunnel traffic kill switch. I like that they built this right in that means once we wrap this system It is going to lock in all the traffic and send it out over through that tunnel So if you're looking for the whole vpn solution, this is the way to implement it So we're going to hit save but we're not going to activate it just yet And the reason why is because well, we didn't Save this yet. So we're going to go ahead and Save this and then we do wg quick Up wg zero All right, so now this is turned up and running Go back over here Go to our wire guard and we're going to hit activate Simple as that. It's activated now. We should be able to go to What's my ip? And that didn't work meaning we did something wrong. So let's troubleshoot this real quick and figure out which command Tom copied and pasted wrong I found it. I mistaped the public key right here because I copied and pasted a wrong one So this public key we'll go back over here Did not match inside of here. So we're going to go here and vim where guard comf Delete this public key and replace it with the right one. So I figured I'll leave this mistake in the video instead of editing it out So there we go. There's the public key now we can do wg quick down Whoops down wg zero And we'll do a quick up wz zero Oh and for those wondering, yes, we could do a system control and restart it as well I just started using wg quick and starting familiarizing myself with the wire guard commands But now this should bring the tunnel back up and running We'll go back over to our windows with the correct one in now And toggle the tunnel. So we'll hit save Activate we'll do a ping test real quick feel weird using Oh, look, it's working feel weird. Sometimes using windows. I've used linux so much Sorry about the little typos there. Now, let's do it. What's my ip And we see the 192 and of course I prefer to go to if config.co Which failed this time for a different reason The dns isn't set I have it blocked a tunnel and I had it forced to be a local ip local dns address Which we can fix pretty quickly. We're going to go change your network settings for that And you can specify dns settings right inside of here I'm just choosing to use cloudflare's dns to make it simple But you can specify another dns server or even other local servers, etc. However, uh, you want to specify them But we'll go ahead here and hit activate now Make sure dns is working Hey, look it's resolving and that means I have config.co should work now And it does and the ip address is the same as our digital ocean server So I left all these little mistakes in here because these are some of those troubleshooting things you'll find And of course go through the documentation I encourage you to do that if you want to know all the extra features that are available inside of wire guard of note So this ip address is 192 168 69.3 and if you remember our debbie and linux client was 69.2 So if we go back over to that Make sure the tunnel is still up and running Yes, it's still getting the right ip address We'll go back over to windows. Let me go over here and we're going to do a ping dot too And now i'm actually pinging all the way out to the wire guard server round trip and coming back So i'm able to talk to the servers on there This is one of the natures of the way the default settings are is all the clients that Attached to this same interface are all in that same 192 168 69 subnet There's no rules written between them now You could write rules between them not necessarily in wire guard, but with other firewall utilities That are built into linux But by default just so you know if you build this out all of the clients that you connect Also will be able to talk to each other that may be a feature you want that may be a feature You don't want one of the ways to easily get around this is we can build multiple tunnels on the wire guard Server so we can build like a tunnel for one group and another group and another group That way those groups don't necessarily talk to each other or you can go out and build rules between them Now hopefully this is helpful for setting up your wire guard server I know it's a lot to go through there's a lot of documentation But i wanted to do this video To talk about the raw settings of wire guard having these fundamentals to me really helps understand When you start using it inside of a firewall or inside of another Deployment or integrated with something else like i said There's popular tools out there tail scale being one of them that i mentioned at the beginning That offer basically an interface to put on top of this as the wire guard protocol becomes more popular And we see more vpn companies implementing it each one of them will do their own thing on top of it But whenever you want to get deep into network troubleshooting I always find it helpful to understand the fundamentals of how these things work And that's what i wanted to cover in this video So of course i'll leave link to the forum post feel free to comment down there But this should be enough to get you started and start playing with it and gain better understanding of it Also because everything is run from the command line with this with wire guard You'll probably find if you spend some time on github A lot of automatic deployment utilities And of course you can think of ways to automatically deploy this yourself by being able to script all these installs And all the functionality of it. It's actually a pretty Very much powerful system To get up and running for you know tying seams together even if they're behind firewalls Hopefully this was helpful and thanks And thank you for making it to the end of the video If you like this video, please give it a thumbs up if you'd like to see more content from the channel Hit the subscribe button and hit the bell icon if you like youtube to notify you when new videos come out If you'd like to hire us head over to laurancesystems.com fill out our contact page And let us know what we can help you with and what projects you'd like us to work together on If you want to carry on the discussion head over to forums.laurancesystems.com Or we can carry on the discussion about this video other videos or other tech topics in general Even suggestions for new videos. They're accepted right there on our forums, which are free Also, if you like to help the channel out in other ways head over to our affiliate page We have a lot of great tech offers for you. And once again, thanks for watching and see you next time