Thursday, December 21, 2023

2023-12-21 - Adding my roommates livingroom laptop to my VPN for server access

  •  My roommate, Nate, has wanted to put a TV in the livingroom and connect it to a laptop to watch stuff on YouTube because he wanted to have another place other than his room where he could sit comfortably, maybe with others, and watch something. I had the idea of connecting it to my server so that we could watch anything I have on my server too. This turned out to be way more complicated than I thought and it took me a couple of days to figure out why I was having so much trouble. But I have done all of this before. What is the problem? Why was I so hazy on this? 

  • I tried to connect his laptop through Samba to my server. It's on the same network, what's the problem? I opened file explorer and right-clicked on This PC, selected Map to Network Drive, a window popped up asking what drive letter to assign it on my local machine and also what folder, and there was a button to browse to the folder. I seemed to recall that I was supposed to type "\\" and then the network name of my server. I did. I typed "\\<my servers ip address here>\<insert folder name here>", no spaces in the command. I dug up my credentials for my server so I could log in. I did so successfully. And then it told me that there was a network error. It took me until the next day to realize that I had my own router in my room and in order to use my file server, I would need to do one of two things. One of these thoughts was a flash in the pan and I paid little attention to it. I could just connect my roommates laptop to my bedroom WIFI router. No VPN would be necessary because it is on the same network. But I preferred to have the computer connect to my other roommates router because mine was upstairs and the signal would probably suffer, and my roommates router was right next to the laptop in the livingroom that I was working on. So I realized I had to add it to the VPN so it would have the best WIFI connection. 
  • I thought, not too big of a problem, I already did that multiple times now. Shouldn't be too much trouble. I'll do it when I get home next. I got home from school late and decided that for the ten minutes my cat would be outside in the cold to go to the bathroom, I would just go ahead and set up the VPN for this laptop real quick, just knock it out. I was on that couch troubleshooting for the next two or three hours. Nate got home and walked in and let my cat in for me. 
  • I tried everything, I even figured out how to replicate most of the process without Doug's help whatsoever. But I installed Wireshark on Nates laptop and used my laptop to SSH into my server and after a tremendous amount of troubleshooting, I finally discovered something. 

"Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Users\Christian> ssh fileserver1@192.168.50.153
fileserver1@192.168.50.153's password:
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
Last login: Sun Dec 17 02:14:17 2023 from 10.237.105.3
fileserver1@MinasTirith:~$ pivpn -a
[sudo] password for fileserver1:
Enter a Name for the Client: DESKTOP-38AD3SM
::: Client Keys generated
::: Client config generated
::: Updated server config
::: Updated hosts file for Pi-hole
::: WireGuard reloaded
======================================================================
::: Done! DESKTOP-38AD3SM.conf successfully created!
::: DESKTOP-38AD3SM.conf was copied to /home/fileserver1/configs for easytransfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================
fileserver1@MinasTirith:~/configs$ cd
fileserver1@MinasTirith:~$ pivpn
::: Control all PiVPN specific functions!
:::
::: Usage: pivpn <command> [option]
:::
::: Commands:
:::    -a, add              Create a client conf profile
:::    -c, clients          List any connected clients to the server
:::    -d, debug            Start a debugging session if having trouble
:::    -l, list             List all clients
:::   -qr, qrcode           Show the qrcode of a client for use with the mobile app
:::    -r, remove           Remove a client
:::  -off, off              Disable a client
:::   -on, on               Enable a client
:::    -h, help             Show this help dialog
:::    -u, uninstall        Uninstall pivpn from your system!
:::   -up, update           Updates PiVPN Scripts
:::   -bk, backup           Backup VPN configs and user profiles
fileserver1@MinasTirith:~$ -l
-bash: -l: command not found
fileserver1@MinasTirith:~$ -h
-bash: -h: command not found
fileserver1@MinasTirith:~$ -qr
-bash: -qr: command not found

fileserver1@MinasTirith:~$ pivpn -qr DESKTOP-38AD3SM
::: Showing client DESKTOP-38AD3SM below
=====================================================================
QR CODE WAS SHOWN HERE!
=====================================================================
fileserver1@MinasTirith:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether d4:3d:7e:93:e8:5b brd ff:ff:ff:ff:ff:ff
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/none
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:cd:bb:30:89 brd ff:ff:ff:ff:ff:ff
fileserver1@MinasTirith:~$ pivpn DESKTOP-38AD3SM sudo wg-quick up wg0 > /path/to/your/config/file.conf
-bash: /path/to/your/config/file.conf: No such file or directory
fileserver1@MinasTirith:~$ pivpn sudo wg-quick up wg0 > /path/to/your/config/file.conf
-bash: /path/to/your/config/file.conf: No such file or directory
fileserver1@MinasTirith:~$ pivpn sudo wg-quick up wg0/path/to/your/config/file.conf
::: Control all PiVPN specific functions!
:::
::: Usage: pivpn <command> [option]
:::
::: Commands:
:::    -a, add              Create a client conf profile
:::    -c, clients          List any connected clients to the server
:::    -d, debug            Start a debugging session if having trouble
:::    -l, list             List all clients
:::   -qr, qrcode           Show the qrcode of a client for use with the mobile app
:::    -r, remove           Remove a client
:::  -off, off              Disable a client
:::   -on, on               Enable a client
:::    -h, help             Show this help dialog
:::    -u, uninstall        Uninstall pivpn from your system!
:::   -up, update           Updates PiVPN Scripts
:::   -bk, backup           Backup VPN configs and user profiles
                                       "
  • If none of this was easy to translate, I discovered a long way through the process but roughly halfway through this CLI session that I needed to type pivpn at the beginning of every command related to the VPN commands. I thought you just typed pivpn and then you were in the program and could type any related command at that point and it would work but there was a point where no matter what I typed after looking at the commands that were listed under "help", it would keep telling me every single time that the command I had just typed wasn't recognized. Why? You just told me these are the commands to use. How can they possibly be unrecognized? You're supposed to type pivpn, a space after that, and then type the command. Then it started working just fine. That wasn't it. Once I figured that out, there were plenty of other problems. I managed to create a new VPN addition using pivpn -a. Then I typed the name of the compter I was trying to add because I didn't realize this was just what I wanted to call the VPN tunnel, not the means by which the computer would be added to the VPN. So I typed DESKTOP-38AD3SM. It told me: 
"
::: Client Keys generated
::: Client config generated
::: Updated server config
::: Updated hosts file for Pi-hole
::: WireGuard reloaded
======================================================================
::: Done! DESKTOP-38AD3SM.conf successfully created!
::: DESKTOP-38AD3SM.conf was copied to /home/fileserver1/configs for easytransfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================"

  • I was so excited and then I thought, this is where it works! But then I realized that there was still nothing in WireGuard. How does this work. I saw the thing in there where it said I could type -qr for a qr code to connect a smartphone, but the laptop wasn't a smartphone and so this was not helpful information. I spent maybe an hour and a half on this.
  • I kept finding online that PiVPN was creating a file that I somehow needed to transfer to WireGuard and I had no idea how to do that because I was doing everything through a CLI. How do you transfer files through a command line interface?
  •  I had put my laptop to sleep twice before I remembered to try connecting his laptop to my bedroom WIFI. It worked. I entered the credentials for Samba to map the network drive on my server, and it worked. Nate and I watched something for twenty minutes together and went to bed. 

  • I woke up this morning and realized I hadn't watched any YouTube videos on how to connect the VPN tunnel to the laptop. Crosstalk Solutions on YouTube had a video on this very thing called PiVPN + WireGuard Complete Setup - Build Your Own VPN Server!
  •  At about 14 minutes and 59 seconds, there's a chapter for this video labelled Add VPN Users. This cleared things right up. How could I not think of this last night? Why wasn't this solution so obvious? 
  • He said something I didn't realize too, that you could just re-use these VPN tunnels on multiple devices. HOWEVER...however, you don't want to do that because if say you lost a device such as your phone and it was using the same tunnel as your computer, you want to be able to disable that tunnel from the CLI and only have it affect that one device, not all of the devices because they are sharing tunnels. I never learned that before. I thought a tunnel could only support one device. So what do I know. But I never would have realized this anyway and then done otherwise, so that's a good thing I guess. 
  • Then at 17 minutes and about 21 seconds in a chapter called Connect Devices, he said to go into WireGuard on the desktop and select Import Tunnel(s) From File. Click the button. Importing this file is the thing I was having so much trouble with because all my research pointed to this very solution but I refused to look further into it because it sounded daunting, but worse, it sounded absolutely not like what Doug and I had done when we connected my phone and laptop to this VPN. In the video, Crosstalk Solutions said that we need a way to copy those files off the VPN server, and so we need to use something like WinSCP. This is a program that is used for situations like this. Now as I looked at this I discovered that this doesn't look familiar to me at all so whatever Doug had me do, this must be different. I look forward to him getting back from his vacation and class to start back up again after Christmas and New Years break to tell me.<<<<<<<<<______________________________________
  • Under the session area of the window the appears, you go to the dropdown menu at the top of the screen and select SCP. He explained that this is sort of a way to log into a Linux device with a Windows file browser. In the Host name field you enter the IP address of the server. For the Port number you use 22 for SSH. You enter the username of the PiVPN and the password and then click login. Press update and then accept, if not already logged in. A window  similar to File Explorer will appear, but with two windows in tandem. In the right-hand window, click on the configs folder. Within the folder will be the tunnels you created for each device and you select the one named whatever you named the tunnel when you added it to PiVPN. In the video however, he dragged the desired file over towards the edge of the left-hand window, which was set to Desktop of his Windows machine he was trying to add to the tunnel. So when he went to the main WireGuard window, he selected Import tunnel(s) From File again and he browsed to the file he copied to his desktop. 
  • He also happened to say that if you ping your devices while connected to the VPN and you get nothing, what you can do is type in the CLI for the VPN: "pivpn -d", this will debug. It will run some checks and can tell you things that can be resolved if they weren't already. Like it might say that the Iptables MASQUERADE rule is not set for example, and there are others it can resolve. It'll ask Y/N if you want to fix it. Make sure to reboot when done. 


This has been Truncat3d 00000000111100010100110______________end of line

2023-12-20 - Team Effort Proxmox Pi Hole w/ class Prank Added

  •  This week we only had three classes and a "Hybrid" instead of the usual four plus a hybrid Friday. Hybrid is where we do three homework assignments from home between Thursday and Monday before class the next week so we can enjoy our Friday nights instead of being in class. The assignments are a Scrum Team research assignment, which we decide the topic of first thing when we come to class before we start working on that weeks projects for Project Day, my favorite. The other two hybrid assignments are a self evaluation comment and a comment on what you did to help yourself get employed that week, plus photo proof of it. I do this blog, which no one else in my class does--even if they think it's a good idea, so my instructor, Doug, is glad to have me do blog work as my effort to get employed or improve my employment potential. 
  • I told you all that so I could say that instead of project day being Thursday this week, it was instead. Christmas is this coming Monday and there's a staff-only Christmas party on Thursday instead of classes. Plus Doug went on vacation with his wife to Hawaii. This will become an important detail later. So he told us that if we needed anything since he is sort of on-call for his class, we all have his phone number, we can still text, but he will most likely not respond for about 24 hours. And in my case, maybe longer because I pepper him with questions that are more complex than others tend to ask. I'm not the smartest in the class--just the most curious. 
  • So Doug's friend and our on-call substitute teacher, Zack, was there. Zack and Josh are both previous graduates of the same class, and Zack got occasional employment from MTEC and Josh is still looking for a job and has no car, so he often comes and they both hang with Doug in class a once or twice a week whether Zack subs or not. They're pretty cool. And Owen is the security guard, whom I've mentioned before and gave me the idea for doing the PiVPN so I could get remote Pi Hole DNS blocking for my phone and laptop. He also hangs occasionally. 
  • Yesterday, all three were present and Owen security-guarded less than he usually does because he spent the whole class in our classroom working on projects with us. He used to be apart of our class but only wanted the COMPTIA Fundamentals certification I guess. He doesn't want to go into IT for a living, he just wanted to know more and got to take the class for free since he's an MTEC employee. We joking asked, "What if someone comes in blasting rounds into empty classrooms while he's in the classroom with us?" 
  • He leaned way over from the chair he was sitting in to see into the large foyer of the first floor, which our classroom is attached to from one side, and claimed, "I have a good view from here if anything were to happen!" 
  • Of course this doesn't matter much. The other night-class in the building was for a nursing certification or something, located upstairs. We're the only ones that would immediately face any trouble if someone came to cause trouble. But the only real reason we have an armed guard at our campus is really because of vagrants that try to hide and sleep in empty classrooms. 
  • Zack didn't have us meet in Scrum Teams, he just started off with project day. He told us that we needed to do projects and instead of doing a highly organized approach where there are mostly set projects for everyone to do and Doug would normally divvy them out and assign tickets and complete them and prioritize certain tickets over others for future potential project days, Zack just walked passed Jack and myself, saying that we needed a Pi Hole virtual machine in Proxmox. I thought, oh, I know how to do both of those things. But I have never created a Pi Hole in a virtual machine before and thought that sounded more challenging. But before he moved on, I thought about the capacity of the Pi Hole to block certain sites, and because of some pranks that have been going on with the day-time IT class in our classroom, I had an idea. 
  • I don't mean to get too carried away here, but for a long time now, at the two student computers in the far back right side of the room, next to one of the server cabinets in our classroom, where Jack likes to sit since our crop of students that came in August are now more advanced students and that is where the advanced students like to sit, on the right side of the classroom, which has a few computers that connect to the servers directly and do not run Deep Freeze. (Deep Freeze is a software that restores and protects the condition of a computer, so every time it boots, it reverts automatically to a predefined state. Nothing installed or loaded to that computer remains, not even added folders. Those changes are only in RAM, and then when the computer boots next, those changes are gone.) The fact that these are the only four computers at these two tables on the right side of the classroom that don't run Deep Freeze is also kind of crucial to the story. All other student computers run Deep Freeze and are located all along the left side of the classroom and this is where all the Fundamental students typically sit for the first month or so of class. 
  • After Jack moved away from the computers on the left with Deep Freeze and these annoying cardboard partitions between every computer, he started noticing this annoying Goose wallpaper or something, it might have been "Desktop Goose", which someone from the day class kept installing both of the computers closest to the servers in the far back right side of the room, one of which Jack sat at. Desktop Goose in particular is a prank thing you can install to annoy your friends when they use that same computer. It will appear and a goose, leaving tracks across the screen, getting in the way of your work, will track all over the screen and even steal the mouse pointer as it goes. 
  • Jack got annoyed about a month ago and decided he wanted to retaliate. This prank could only be done on this computer because its one of the few that doesn't use Deep Freeze and this also means that whatever prank Jack decides to use will also remain after a fresh reboot. So he started researching scripts he could write in order to get back at the day students that kept reinstalling the Goose prank on the computer. He happened to tell Doug and I because he was proud of his invention, and so Doug also got creative. Jack installed his iteration of rebellion on the computer he always sat at, and the computer across from his had the same problem every day despite uninstalling it all the time, which caused Ronald to complain too. So Doug installed his punishment on the other computer. 
  • Doug created a script that was devious even if I feel like initially, it doesn't seem to have that much teeth. But let me explain. About every ten or fifteen minutes, once Goose is installed, a window appears on the screen telling the user that they had just won a free cupholder, and the CD/ROM drive pops open. However, this is only where it gets started. He was really pleased with himself for doing the CD tray popping out every ten or fifteen minutes. Then this is where it gets super devious. If you try to uninstall it, there's nothing to uninstall. If you check the task scheduler, which he utilizes to create this attack, it's hidden and renamed as a required system file that no one would want to touch incase they bricked the computer, and if you still deleted it, it would simply reappear with the next reboot of the computer, it'll reinsert itself in Task Scheduler because of a hidden script that runs in PowerShell, which automatically runs at bootup, which is also renamed as an important system file, and so the computer doesn't get rid of it during an update or something, he has hidden it in one of the system folders for the Edge Browser, because that is one thing Windows refuses to get rid of. And so if you mess with that folder, you will mess up the operating system and have to reinstall it so it will work properly again. This is due to Microsoft's intentional integration of Edge into the OS so it cannot be removed. And so this is turned into a useful mechanism that also protects his secret script that always runs at bootup. This is so deep in the computer, that no one would hope to ever actually uninstall his prank. And when you thought that this could potentially mess with other students, such as Ronald, who uses that particular computer at night, no worry because this script and its subsequent Task Scheduler job are both set so it will only work between the hours of 12PM and 3PM, when the day-class, the only other class to use this classroom, will be using it. Points to Doug for being so devious and the potential to really demoralize the offending student. 
  • Jack created a script that I like that messes around less but it makes this prank immediately unthinkable with serious consequences. He created a task in Task Scheduler that launched the "Anti Goose" application every time the system started. He named it as a system file that no one would want to touch, called something with One Drive in the name.
  • Jacks script automatically and immediately shuts down the computer every time goose is typed on the keyboard. The script automatically runs at all times on the computer. See, since the student that keeps installing the Goose Prank is the only one that will likely type the word "goose" into the computer anywhere whatsoever, despite that this script runs twenty-four/seven on this computer, it would only ever affect the student that typed the word goose. So points for simplicity, but also points for getting to the point, which is why I like Jacks. Although they both win in my book. It's just that Jack's method seems to have a higher potential for visibility, like clearly if you keep trying to type goose on the keyboard whether your typing it in a document or a google search or even just typing letters while starring at the blank desktop, Jacks script will take immediate affect. In fact last night when Owen was about to shut down the computer for whatever reason, I think to fix a problem, Jack told him to just type goose instead of going through all the trouble to do it the traditional way. This script is so affective, that the offending student can't even attempt to successfully install the Goose Prank on Jacks computer. 
  • So this happened about a month ago. We asked Doug what the likelihood was that this would get resolved by the day class and he said none. The instructor that runs the class is a good guy and Doug likes him, but he's not as advanced as Doug is because Doug is one of those guys that at his other job, he knows more than his supervisors. According to Doug, IT is a job where you can get cushy real easily and just do the same things all the time and never be challenged. Once you learn all the stuff they will need you to do most of the time, that's it, you're good, and you're not terribly likely to get fired because that business will have a sort of proprietary approach to how they do things so once you have learned that approach, they will always need you. But Doug is the guy that wants a challenge and so whenever there's a problem that comes up and no one else knows how to do it, he's the guy that they go to. It is sort of common at Doug's other job to hear the words: Oh, that's a Doug Problem. But as Doug outlines it, they see it as though they benefit because they can do all the stuff Doug doesn't want to do, and Doug does all the stuff they don't want to do. But the way Doug sees it is that he is constantly advancing his understanding and abilities which gives him a lot of fulfillment, but which coincidentally also gives him a lot of job security. 
  • I'd like to do what Doug can do, but Doug is sort of hard working all day every day and even works on his days off for fun. He has tons of IT projects he does at home. He wants to do a sort of room presence tracker that turns lights on according to what room is occupied and turns lights off in rooms that are not occupied. I told him it'd be funny if like in Harry Potter where the Weasley's have that clock in the kitchen that tells, not the time, but each hand of the clock will tell the location of a member of the family. So Arthur works at the Ministry and so when he steps in the fireplace and goes to the Ministry, the Arthur hand moved to "Ministry". When he comes home, his arm moves to "Home". And there are other locations such as Hogwarts and so on on this clock. I told Doug that he should do the same thing somehow and he joked back that as a joke, for a present to his wife for her birthday or something, he could just make a clock hand for her, and it only tracks her movements. "So you're going to add a Doug hand?" "Oh yes of course....one of these days." 
  • Doug actually created a cool Harry Potter themed Halloween It project a few months ago where he #D printed a wand with an IR (infrared) sprayer in the tip with a battery pack in the handle, and a Pi camera in his livingroom, and when you do one of four spells with the wand, it activates one of four things in the room. He has a players piano which he connected to a vacuum motor in his garage so when you flourish the wand in a certain shape, it activated the piano for like fifteen seconds and it played something Halloween themed. Another one lit up a cauldron with dry ice flowing out of it, and then there were two others. So he had to use a Pi camera to catch the video of what you do with the wand, and that transmits the video to his server in another room of his house, which is running a script in python that he taught to recognize shapes made with the tip of the wand in IR from one frame to the next and activate a script to turn something on whenever it recognized the shape. It was really cool and it took him like a few weeks to figure out from scratch. Yes I know the Harry Potter theme park does this too, but Doug only used the idea, not the code or anything else. I went to his house and saw it in action and did it myself and it worked. It was really cool. But he's not a Harry Potter fan so this isn't something that he wants to do, his wife wanted to do it so he did it as a favor since she didn't know how. 

  • So Zack told me and ack to make a Pi Hole on a Proxmox virtual machine. Jack liked the challenge of doing it on the server rather than one of the Pi's we had lying around the classroom. And so did I, so I was going to do something else to catch up on all my tasks, but I had to do this, which is turning out to be my downfall, every single time I go to class. Then Hector sat down next to Jack and joined in. There were actually some aspects to this that I had no clue how to do, and so we all played our own parts. I created the virtual machine and was going to install Ubuntu server too, but Jack beat me to the console and I got kicked out of the console, so I told him what command to type to install Pi Hole: "curl -sSL https://install.pi-hole.net | bash".
  • Jack is way faster than me so he had this done in a very short period of time. He didn't know at first what to do with all the questions that pop up throughout the installation process, but I told him most of the time you're just going to press yes or ok, like Doug told me four months ago multiple times. It worked. We weren't going to install a VPN like I did though because we only wanted this to act as our DNS server for this classroom. Which brings me to the prank I asked about doing when Zack gave us the task. 

  • I suddenly had an idea when Zack was casually assigning this task to me and Jack and as Hector walked up, I said, "Just for fun, wouldn't it be cool if we also configured the Pi Hole to block something on the network to give the day class a little grief? Not anything that is really intrusive, but just something minorly annoying." That's when Zack said the thing that might damn him. He said we could block Spotify, which Doug uses every class to play lo-fi music on the projector screen speaker all throughout class, which most of the time isn't annoying. But for me there is one song that comes up on his playlist that I find kind of annoying. We all jumped on it, yes, lets block Spotify from every computer in the classroom, and any computer that uses the IT student project server WIFI network called "HiddenNetwork". This is when Owen had walked in and started going on and on, which Josh joined in on, telling me about how you don't want to go to war with Doug. He will ruin your life. He vaguely told a brief story about how that's all they do at his other IT job, is they play IT pranks on each other, and Doug is the best one at it. He always comes out on top. We plowed ahead while I occasionally commented that we can just tell Doug that it was Zacks idea. They thought that I was actually worried but I didn't think Doug would do anything particularly bad to me. 
  • Jack quickly figured out the installation process of Pi Hole and didn't need much of my help anymore, I only told him a few things he needed to do in order to do it. Once Jack gets going, he has a lot of motivation and doesn't get stuck on things for very long, as far as I can tell. And he works quickly. Sort of the opposite of me. I have determination to do these things before they start happening, like I really want to do that project and I just can't figure out how, so I need a lot more help along the way then he does and I work slower. 
  • There were some server things that Hector was good at and so he did his part. I didn't understand the stuff he knew, but we all played an equal part in this way, so we all played our parts and were useful. I haven't had a team experience like that before. 
  • Then we had Pi Hole installed and they didn't know what to do after that and I told them how to access the Pi Hole interface, just like a router, and how to set it up and to give it a static IP address, although I don't know if this still applies if it's on a Proxmox server, which I would assume probably already has a static IP address, but maybe the DNS server somehow separately needs it's address statically created or something. Then I told them how to add the Blocklist Project from GitHub to the Pi Hole. They added a couple, but the only one we really needed was for blocking ads, and this project had all sorts of different clockers for Adobe, smart TVs, vaping, ransomware, pornography and so on. It wasn't blocking very much, I showed them how to test it, and so we were sort of confused why it wasn't blocking anything. I explained that in this classroom, people probably weren't doing that much, which required blocking, since we were all focused on projects. It's not like we were all surfing the internet or something. Some were working on server racks, others were installing things in the Linux CLI, others were working on hardware, so I didn't think there'd be much blocking happening. But then Jack went back to GitHub for the Blocklist Project and found a content blocker that simply blocked everything Blocklist Project could block, altogether in one adlist. Suddenly it was working real well and blocked tons of stuff. I was afraid that because I was instructed to give the virtual machine for this project one gigabyte of RAM, that it might not be able to handle such a large adlist and searches online would get bogged down. But this didn't happen. 
  • In the middle of my worry that I had not given the virtual machine enough RAM, I tried to see if I could upgrade it during usage or maybe after usage. I asked them if they could stop using the machine for a minute so I could change it. But then I started having problems. I went back to Proxmox on my laptop, which was still open from before, and I tried to test a theory I had about the RAM as well as the virtual ethernet for the virtual machine, and when I clicked on the option to add a machine, the window appeared but two fields that were usually automatically filled, were not filled, and I tried to name the device real quick and move on but it wouldn't advance to the next tab to continue setting up the new virtual machine. It said that the two empty fields needed to be filled. I clicked on them and one of them automatically filled, and then the other caused everything to freeze and a wheel endlessly spinned. 
  • Then we got stuck on how to block Spotify. Jack tried typing Spotify.com into the Adlist window and adding it to the list of adlists. I thought that this was fruitless because the adlists were basically scripts that included all sorts of things, a lot of data that was used to block queries. He then asked Zack why this wasn't working. They kept navigating the Spotify and it was still working. Jack tried a few things. 
  • But I had heard just a week earlier from Doug that if there was network traffic from my smart LG air conditioner that tried to update and cause me trouble, then I could just go to the logs in the Pi Hole interface and watch for any traffic from my AC to the internet and then block those. I tried for ten minutes to tel Jack and Hector and Zack about this, and for some reason they ignored me every time. So finally I got their attention one more time before they disregarded my idea to check the logs, and I asked them to do me a favor real quick and click on this one log on the interface. 

  •  I had just looked this up. I clicked on it while they were trying other things and tested it by navigating to Spotify on my laptop. 

  • Spotify showed up, and very handily, there was a block button all the way to the right of it. I asked them to navigate to this as a favor and look at this log, and then navigate to Spotify real quick because it showed up on my laptop for my own VPN network from my server at home. It should work the same here. It worked. Jack intuitively pressed the block button and Spotify was blocked. We tested it on our computer, we tested it on Doug's computer, and it still worked. The trick to this however, since it wasn't working on all computers, was that if a computer on the HiddenNetwork had another DNS server set up to resolve domain names for it other than our Pi Hole, then this wouldn't work. All computers on the network, including WIFI, will use the Pi Hole automatically unless they are configured in settings to use another. 
  • And there was one other rub. Typically, Doug's computer runs off of the Staff WIFI network, and so this computer would have to be set beforehand to use HiddenNetwork. But usually this isn't something that someone checks when they load up the computer and start using it, they would only check this if something was wrong with the network or internet because they were trying to do something and it wasn't working. Zack said that he could make sure it stays set to Hidden Network for us. 
  • I had the idea of leaving a post-it note on his desk saying if something was wrong, just ask Christian, Jack or Hector. I had just realized that Doug had access to my VPN on his personal laptop in case there was a problem that needed to be troubleshooted. But I know a way to cut off his VPN access. I could navigate to my server and type "pivpn" followed by something like "-l" for list or something like that, and then "-d" or something like that to disable one of the entries in the list. 
  • I went to do something else and there were problems. I was supposed to still be connected to the HiddenNetwork, and I went to check with Zacks curiosity, and for some reason my laptop had automatically switched back to the student WIFI. SO I switched back to Hidden Network. This not only fixed my current problem, but I thought I'd go back to Proxmox to see if I could now create a virtual machine without problems, and I could. The two empty fields were automatically filled like before and the process was opened right up for me. Zack was curious about that too and sounded according to his observation of the discovery. 
This has been Truncat3d 00000000111100010100110______________end of line

2023-12-14 - Create Linux Cluster Virtual Machines

  • I would usually just worry about my own personal projects on project day, but a bunch of stuff needed to be done that would allow us to do other cool projects in class in the future. Part of the batch of projects that really needed to be done was creating Linux Cluster virtual machines. 
  • Why would you do this? I don't know but throughout this assignment I will hopefully edit this portion to make this sound really cool and something you would totally want to do, or you will have to make a decision about leveraging your time and potential risk of ultimately not caring. 

  • Here are my instructions: 
    • We are going to begin using Linux servers in order to manage company sites and services.  The first thing we need to do is create a web server cluster.  This cluster will consist of five machines that will work together to host our company website for public users:

      • Production Web Server
      • Production Database Server
      • Production Reverse-Proxy Server
      • Development Web Server
      • Development Database Server
    • Using this cluster method, we will be able to secure our data while still providing easy access to what is needed through the website.
    • The first thing that we need to do is create and set up the virtual machines that will be these servers.  Please create three new virtual machines on our company hypervisor.  The virtual machines should have the following hardware configuration:
      • 1 CPU
      • 2GB RAM
      • 16GB Storage
    • The machines you are creating are the three production servers.  Please adhere to the naming scheme we have decided upon for these servers.  You can ask Tier 2 employees about this if you are not yet aware.
    • Each machine should have a bridged network connection so it will receive a real IP address on our subnet and can be accessed from that network.

  • As a side note, I was talking to Doug about doing this assignment and asked him if I could simply SSH into the server to do this from my laptop and he said yes, but I would have to be connected to the "hidden network" student project WIFI, and all of the sudden I thought, oof, and due to my experience with previous projects and needing to use the student router WIFI which always goes down, I asked him if there was a way to be connected to two WIFI's at the same time. He said yes...if you have two WIFI cards. I said, hey, I have a WIFI card and a WIFI  dongle at home. But then he said that windows isn't good at load balancing so I would have to do something that sounded complicated. I thought it sounded like a cool project for the future. But then he asked why I don't just use the student WIFI for my internet access if I want to ask questions or write in my blog at the same time and I mentioned the student routers questionable performance and he said well we're not doing anything to it today that would cause problems. Okay. Here we go. Firstly, I have to have his help connecting to the hidden network to do this because I tried to connect to it last week because I was going to help Jack finish the hackathon project from a month or so ago and I couldn't connect. 
  • Apparently I was on drugs because it worked without any problems this time. For good measure, the problem I had connecting to hidden network last time was that Jack asked me to connect to "HiddenNetwork" and I tried, and then I couldn't access anything, and then I would go back to WIFI settings to check the connection, I would be connected back to the regular WIFI network for some reason, and then I would reconnect to it like five times and started noticing as I went that my WIFI list was creating HiddenNetwork1, 2, 3, 4, and 5. I gave up at that point. Not the issue this time. 
  • I will be following the instructions from the project ticket above. I just connected to the server and I have a screen that says Proxmox on it. I.ve heard of this from various classmates and never actually touched it myself, which is why I am not objecting to being diverted to another project now. Ever so often I see other students working on projects that I would actually like to be doing if only it didn't conflict with the project that I am currently doing. But I just thought today, hey, why not do these regular class projects on Thursday project days, and then do my own projects on all other days since I am after all doing all my classwork from home in order to have this privilege. 
  • I clicked on a link from our Talos student ticketing interface Doug set up for us. It just occurred to me, is Talos a database? He diverted me to another page on Talos which held a link to the server, where I am now. Proxmox  is a Windows server that we're running in our classroom, and it is a type 1 hypervisor!
  • I was about to name my first virtual machine "Production Web Server" and all the options at advance to the next window for creating a virtual machine remained grayed out. Then Doug then explained that you want to abbreviate words and not capitalize or use spaces, so instead type something like "prodwebserver" because you're going to be typing it a lot. And then he explained you want to add something to the name that differentiated it from other virtual machines and everyone can keep them straight. I changed it to "biff-prodwebserver". Biff is an old nickname of mine from high school and stuff. So everyone like my buddy Josh from back then all call me biff every time they see me. It's still one of my common email addresses so I am used to it. But then to actually be called Biff is always a shock because I haven't heard it uttered from someone else's mouth with any regularity for a few years. Doug approved of my modification and all the Next buttons and everything that were grayed out were suddenly reenabled. 
  • For the OS tab, Linux was already selected, CD/DVD disc image (iso) was already selected, storage had "local" selected, I didn't touch the Kernel type, but for the specific ISO image dropdown menu of what we had available, which was Ubuntu 22-04 and Ubuntu-server, and then a few Windows servers and things that didn't apply here, I selected Ubuntu-server from the available images we had. I clicked next. 
  •  For the System tab, I left it as is and then went to the hard disk tab, left everything as the default but I changed the hard drive space to 16GB. On the CPU tab, I left everything as default, sockets and cores were all set at 1. On the memory tab it was set by default to 2048 in  MiB, and we need 2GB so I left it at 2048. For the network tab, all the defaults were pretty much already set as what I needed. I knew we needed a bridged network connection for a real IP address on the subnet so that we would be able to access it from the network in class. So Under Bridge, it was already set to vmbr1, which is virtual machine bridge 1, or it might be virtual management bridge. Under Model, VirtIO (paravirtualized) was already selected. This means that it uses part of the actual hardware and runs parallel to it. <<<<<<_______________________??????????????? MAC address was set to auto which is good, No Network Device was not selected, which is what we want. 
  • I pressed finished after I checked the confirmation tab. 
  • I progressed to do the same thing with the other four VM's. 
  • I decided to help the student that was then going to install Ubuntu server on each of the machines. 
  • I installed ubuntu server twice before class ran out. I really need to find a way to say what I'm saying faster so I don't waste so much time. The other student that was going to actually install the operating systems on each of the virtual machines had only a half hour of class left after I was done configuring the virtual machines. The first one took me considerable time because I had never done it before and  didn't realize how simple the process actually was. So I was being overly cautious, but still trying to make sure I understood everything before I did anything. However it was still a waste of time in this particular case. 
  • I only left Cade, the other student, like a half hour to install the operating systems on the machines I just created. I had no idea that he had a part to do that relied on me getting my part done in a timely manner--I thought I had all class to do my part even though it turned out to be a simple thing to do. 
  • Cade looked irritated, so I decided to help him with his task. I installed two machines by the time class was over but he left early.  
This has been Truncat3d 00000000111100010100110______________end of line

2025-07-10 - BYU Wi‑Fi captive portal troubleshooting

  BYU Wi‑Fi Captive Portal Troubleshooting What happened I had used BYU Wi‑Fi just fine before, but at some point, the captive portal star...