In my previous job I was a junior network engineer for two and a half years.
The majority of work was on-site with clients improving and maintaining their systems with off-site work involving troubleshooting over the phone and/or using screen sharing tools.
My job included:
- Working in a team to move a client's server and networking infrastructure from their old office to their new office.
- Active Directory (including configuring machines with Group Policy), D.H.C.P., D.N.S., file and printer services on Windows Server 2012 (R2 and non-R2) and Windows Server 2008 (no Active Directory).
- 'pfSense' firewalls/routers with D.H.C.P., D.N.S. and V.P.N. services.
- Managed Netgear switches.
- 'ESXi' and Proxmox hypervisors.
- Windows 7 and 8 render nodes and workstations.
- Mac workstations.
- Ubiquiti wireless access points.
- Samba file servers.
- Single-service Linux virtual machines:
- Interactive websites.
- Licence servers.
- Postfix mail server.
Custom Configuration Management
Over time I have created a series of scripts which I used for configuring my Linux-based machines.
These were originally made to propagate my scripts to various V.P.S.s but evolved into configuration management.
This is extremely useful as re-setting up servers is much faster and their configuration becomes backed up and tested as a result.
I hope to learn Ansible or another configuration management solution in the future.
Small Home Server
Anything not explicitly stated to be a virtual machine is running on bare-metal.
K.V.M./'libvirtd' hypervisor controlled with 'virt-manager'.
Firewall (iptables) which segments the edge router/modem, printer, Wi-Fi. and machines in my room from each other for security reasons.
Print server to easily submit P.D.F.s to the printer using S.M.B. and a web browser (virtual machine).
Samba file server (virtual machine - hypervisor uses software R.A.I.D. 1).
- Automatically backs up my V.P.S.s using Rsync and some custom scripts.
- Daily backups using Rsync to external hard drives which rotate between on and off-site once every two weeks.
Root and forwarding D.N.S. server using Bind (virtual machine).
D.H.C.P. and forwarding D.N.S. server using 'dnsmasq'.
Amazon Web Services
I run a Minecraft server for some friends primarily to learn about A.W.S. (Amazon Web Services).
As part of this I have learned the following:
- Creating complex 'systemd' services with inter-dependencies so services are only run when needed (e.g. Minecraft server archives are only made when the server runs).
- Using the A.W.S. A.P.I. to:
- Start, stop and change the instance type of the Minecraft server automatically to reduce hosting costs.
- Update Route53 records when the Minecraft server starts to avoid using static I.P. addresses for instances.
For the Minecraft server, the A.P.I. is either controlled directly by the instance or using a second instance.
Automatic V.P.N. OpenVPN configuration on A.W.S.
While being away from home for a week I made a series of scripts to create an A.W.S. instance, install and configure an OpenVPN server send the client configuration to my laptop and connect to the V.P.N.
Once OpenVPN stopped on my laptop (or the configuration failed), the instance is terminated.
This project is called 'makeEC2VPN'.
Due to a mixture of privacy and tinkering, I run a lot of the online services I depend on using a V.P.S. running Debian (Linux) in Sydney.
These services are:
- Website (using Apache).
- E-mail (using Dovecot, Postfix and Roundcube).
- Jabber/X.M.P.P. (using Prosody).
- Voice Chat (using Mumble).
- Calendar and contact synchronisation (using Radicale).