Files
linux-sysadmin-journey/projects/01-homelab-setup/README.md
T
2025-02-08 23:27:46 -06:00

163 lines
4.2 KiB
Markdown

# Project 1: Home Lab Setup
## Project Overview
This project documents the setup of a basic home lab environment using VirtualBox and Ubuntu Server 22.04 LTS.
## Environment Details
- **Host System**: Windows 11
- **Hypervisor**: Oracle VirtualBox
- **Guest OS**: Ubuntu Server 22.04 LTS
- **Resources Allocated**:
- CPU: 2 cores
- RAM: 2GB
- Storage: 20GB
- Network: NAT + Host-only adapter
## Setup Steps
### 1. VirtualBox Installation ✅
- Successfully installed VirtualBox
- Created project directory structure
### 2. Ubuntu Server VM Creation ✅
- [x] Download Ubuntu Server 22.04 LTS ISO
- [x] Create new VM in VirtualBox
- [x] Configure VM settings (CPU, RAM, Storage)
- [x] Configure network adapters
- [x] Install Ubuntu Server
- [x] Basic system configuration
- [x] Network setup
### 3. Network Configuration ✅
- [x] Configure NAT adapter for internet access
1. Verify IP address configuration ✅
2. Test internet connectivity ✅
```bash
ping 8.8.8.8 # Success
ping google.com # Success
```
- [x] Configure Host-only adapter for direct host communication
1. Verify second network interface ✅
```bash
ip addr show enp0s8
# Output shows:
# inet 169.254.0.2/16 brd 169.254.255.255 scope global enp0s8
```
2. Test host connectivity ✅
```bash
# Successfully pinged host (169.254.167.242)
# Round-trip time (RTT) avg: 2.846ms
```
- [x] Document network configuration:
- NAT adapter IP (enp0s3): 10.0.2.15/24
- Host-only adapter IP (enp0s8): 169.254.0.2/16
- Default gateway: 10.0.2.2
- Host IP: 169.254.167.242
### Current Status
- ✅ NAT adapter: Working (Internet access)
- ✅ Host-only adapter: Working (Host communication)
- ✅ Network connectivity: Verified
### Next Steps
Now that networking is configured, we can proceed to:
1. Basic Security Setup
- [ ] Create non-root user with sudo privileges
- [ ] Configure SSH access
- [ ] Set up UFW firewall
### 4. Basic Security Setup ✅
- [x] User Management ✅
- Created sysadmin user with sudo privileges
- Enhanced hugh user security
- [x] SSH Configuration ✅
- Installed and configured OpenSSH server
- Implemented key-based authentication
- Disabled password authentication
- Applied security hardening settings
- [x] UFW Firewall Setup ✅
- Installed and configured UFW
- Set default policies (deny incoming, allow outgoing)
- Allowed required services:
- SSH (port 22)
- HTTP (port 80)
- HTTPS (port 443)
- Host machine access (169.254.167.242)
- Verified connectivity
### 5. System Monitoring Setup (Next Phase)
- [ ] Monitoring Tools
- [ ] Install and configure htop
- [ ] Set up netdata for system metrics
- [ ] Configure log monitoring
- [ ] Maintenance Planning
- [ ] Create backup strategy
- [ ] Set up automated updates
- [ ] Implement log rotation
- [ ] Configure system alerts
### Current Status
- ✅ Basic VM Setup: Complete
- ✅ Network Configuration: Complete
- ✅ Security Measures: Complete
- ⏳ System Monitoring: Not Started
### Next Steps
1. System Monitoring Implementation
- Research and select monitoring tools
- Plan monitoring strategy
- Document monitoring requirements
2. Maintenance Procedures
- Design backup strategy
- Create maintenance schedule
- Document procedures
3. Future Enhancements
- Service deployment
- Automation implementation
- Advanced networking features
## Security Configuration Status
- [x] User Management
- [x] Admin user created
- [x] Sudo privileges configured
- [x] SSH Access
- [x] SSH server installed
- [x] Key-based authentication configured
- [x] Root login disabled
- [x] Firewall
- [x] UFW installed
- [x] Basic rules configured
- [x] SSH access allowed
## Commands and Configurations
### Network Configuration Commands
```
### SSH Configuration
```conf
# Key SSH configuration settings (/etc/ssh/sshd_config)
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin
```
### UFW Rules
```bash
# View UFW status
sudo ufw status verbose
# Basic allowed services
sudo ufw status numbered
```
## Additional Documentation
- [Security Setup Details](security-setup.md)
- [Lessons Learned & Challenges](lessons-learned.md)