Turn That Old Dell Optiplex Into A Gaming Machine

I first want to start by managing expectations here a bit before even diving into this. I would say you can achieve an entry level, half way decent gaming PC out of a project like this. You should be able to run most games on low to medium settings @ decent frame rates. I don’t want folks getting confused thinking they are going to get some high end gaming PC out of this because you will end up disappointed.

You can certainly upgrade these old Dell Optiplex computers beyond the level of what I have done here but then, IMO you are sort of crossing the threshold of what is even worth it financially. You get to a crossroads of worth – ‘well heck, if I’m going to spend that much upgrading this thing, I might as well spend a little extra and go for a brand new mid tier gaming pc’.

I would also like to note that this upgrade concept is not limited to Dell Optiplex 990’s and is applicable to most if not all older Dell Optiplex models. However, I will say to look out for the case form factor. I recommend always going for the larger full tower case models vs the slim chassis form factor on these guys. You want to be able to fit the larger more powerful graphics cards in the case right?

A project like this yields several benefits. To name a few off the top ->

  • It’s simply fun to do
  • You get to be resourceful and not waste an older computer
  • Great learning experience for those new to computer hardware
  • BIG savings – obtain a decent gaming PC without breaking the bank (I’ve seen Dell 990’s on ebay for as low as 99$)

Full list of parts used (with links) and estimated costs ->

  • Dell Optiplex 990 Tower – $126
  • 8GB of RAM – 31$
  • Acrylic sheet (for side window) – $10
  • x2 Bgears b-PWM 80mm Blue LEDs Gaming PC Cooling Fans – $24
  • Seagate BarraCuda 2TB Internal Hard Drive – $50
  • Kingston 240GB A400 SSD – $22
  • ASUS GeForce GTX 1050 Ti 4GB Phoenix Fan Edition – $190

Total -> $453

Caveats to be aware of ->

  • Upgraded blue LED fans are quite loud, so beware
  • Blue LED fan connectors do not natively fit the fan headers on the motherboard. Fan headers must be modified (break down and remove plastic brackets) in order for the upgraded fans to connect successfully
  • If you’re going to use a Dremel Tool to make your cuts, remember to use a metal cutoff wheel for metal and a plastic cutoff wheel for the acrylic. Seems like common sense but I found this easy to overlook and inexperienced users may just grab any cut off wheel. Of course using the right tools for the job is always optimal
  • To attach these metal/plastic cutoff wheels to your Dremel, you will need a mandril bit which is included in this kit
  • Motherboard fan headers are 5 pin, whilst the blue led fan connectors are only 4 pin. They will still fit (once you break down and remove the plastic bracket surrounding the pins) however, one pin is left exposed. Still works but I believe due to this exposed pin, you’re hit with a ‘cpu fan error, press F1 to continue’ every time you boot the computer. Doesn’t appear you can shut off this warning in the BIOS either unfortunately. You could possibly stick a jumper onto the exposed 5th pin and that may trick the error message into going away but I digress. The prompt is a bit annoying but not a deal breaker, simply hit F1 to continue an you’re good
  • Another sneaky challenge I ran into is removing the CPU fan. You will need to have a long skinny Phillips head screwdriver that can fit through the small cpu fan holes (below pic circled in blue) to reach and remove the Phillips screws

Ref. pic of black fan header bracket that needs to be removed  (circled in red) and the small cpu fan holes you will have to get through (circled in blue) ->

Conclusion ->

Over all I am quite pleased with this build and the performance. For a budget gaming PC with an i5 and a 1050 Ti in it, I’m averaging about 55-60FPS on low settings and then 45-50 FPS on medium with temps stable at 55-60c under load while playing ‘Hold Fast: Nations At War’ (graphic intensive game). So that should give you a basic overview of how this thing will perform.

Lastly I want to make a suggestion not mentioned in the video and that is, I recommend cleaning and applying a fresh coat of thermal paste to your Optiplex cpu if you notice your temps are running abnormally high. That may help out.

Reference video below for the ‘hands on’ build  and demonstration guide ->

 

How To Install Zabbix 6.0 On Ubuntu Server 20.04

Can definitely be a tricky process, especially if Zabbix is new to you. What can I say about Zabbix? Well, a fantastic free monitoring software. Monitor all sorts of parameters on your servers, firewalls (works great with pfsense, hehe), etc and receive email alerts automatically if a problem is detected. Love pulling and tracking data on your system(s) performance? Zabbix will spit out all kinds of graphs and data at you and provide a birds eye view of monitoring system parameters (i.e cpu usage, ram utilization, etc) over time, which can be essential in troubleshooting. I am actually quite new to Zabbix myself and besides the tricky somewhat complex initial setup, loving it so far. We’ll today, I’m here to help you sort through any challenges getting Zabbix 6.0 going on Ubuntu Server 20.04. In fact, I am going to cover how to install both.

First we need to install Ubuntu Server 20.04 LTS

Download the iso from here -> https://ubuntu.com/download/server

In my case, I will be installing this on a VM using Hyper V.

  • configure your virtual machine software to boot from the iso you just downloaded
  • proceed with installing Ubuntu  Server 20.04 LTS. Yes this is a headless (no gui) install in my example which is fine because if the server is literally just running Zabbix, no real need for a GUI

(reference the beginning of video for more details on installing Ubuntu Server)

Installing Zabbix

Now that we have our nifty fresh and clean Ubuntu Server all installed and up and running, it’s time to install Zabbix.

1 ssh to your new Ubuntu Server and prepare to run linux commands the rest of the way to install Zabbix

2 Install Zabbix repositories

sudo wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update 

NOTE –  as in my case, this may not install correctly for you. This was due to a certificate error. You will need to comment out: mozilla/DST_Root_CA_X3.crt

located in /etc/ca-certifiates.conf. Skip to 9:10 in the video for details.

3 Install Zabbix server, frontend, agent

 sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

4 install sql server

sudo apt-get install mysql-server
sudo systemctl start mysql-server

5 Create database for Zabbix

sudo mysql
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password'; 

Note – put your own password in between those quotes

grant all privileges on zabbix.* to zabbix@localhost;
quit;

6 import initial schema and data
You will be prompted to enter your newly created password.

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

When running the above zcat command, you will be asked for the db password you created in step 5

NOTE – importing the schema data make take some time to complete and can be confusing as to if it’s actually working or hung. In one case i’ve even seen this take hours, but I just let it run and went to bed. Got up in the morning and it was successful. Not sure what the unique problem was there in that case but I digress. Usually it shouldn’t take more then 5 min max though.There is no confirmation that it completes but be patient and what you want to look for is for the system to return you to the command prompt. That is a sign it completed successfully. Skip to 12:55 in the video for details on this.

7 Configure the database for Zabbix server

(you need to specify the DB password in zabbix_server.conf file)

Edit file located here: /etc/zabbix/zabbix_server.conf
I use VIM to edit files = # sudo vim /etc/zabbix/zabbix_server.conf

Find and uncomment/edit the following line

DBPassword=password <---change to your db password you set in step 5 
8 Start Zabbix server and agent processes

Start Zabbix server and agent processes and make it start at system boot.

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
9 Configure Zabbix frontend

Connect to your newly installed Zabbix frontend: http://server_ip_or_name/zabbix
Straight forward here but skip to 15:50 in the video for details

If you need help or have any questions at all, feel free to contact me. Hey that’s what I’m here for. I do this!

 

How To Terminate Remote User VPN Connections From A pfSense Firewall

*Update* The ‘halt’ functionality is now enabled by default in the latest releases of pfsense (v22.01 and greater). No more need to apply a patch manually.

If however you are stuck on older versions of pfsense and you wish to fully terminate a remote access vpn user connection and or you’re simply seeking a ‘how to’ terminate remote user connections, please read on ->

Often times, a network admin may want to disconnect remote access VPN users from a pfSense firewall for various reasons. Maybe users have stale connections and they simply forgot to log off and they’re sucking up resources/bandwidth unnecessarily. Maybe the person got fired but is still connected to the VPN from somewhere that may be difficult to find such as in a shared ‘field laptops’ environment. Whatever the case, pfSense disappointingly does not natively offer the option to fully terminate connections. If you’re thinking you can get away with it by using the kill command (blue x) ->

Well, you can forget about that because it only temporarily kills the connection on the server side. The client side VPN will then auto-reconnect itself shortly after putting you back to square one. The ‘kill’ command is pretty much useless in other words. What you need is the ‘Halt’ command. This will actually terminate the connection on the client side and force the user to manually sign back in if they want to reconnect. Essentially this is the real solution to punting remote access VPN users OFF your firewall!

But how do I enable the ‘halt’ command in pfSense? We’ll, I’m glad you asked. This is accomplished by installing the ‘Sytstem_Patches’ package from the package manager. ‘System_Patches’ then allows for patches to be applied to your firewall. Then, yep you guessed it, we will apply a patch to the firewall which enables the ‘halt’ command functionality. See the video below for a demonstration.

Once patched successfully, the ‘halt’ command function will become available here, indicated by a new red X (or white x in  a red circle, whatever) ->

*Patch contents + url/commit ID can be downloaded here.

Also recommend updating to pfSense software version 21.05.0 and above (otherwise patch may not apply successfully).