Add README.md
This commit is contained in:
parent
9dd62bde99
commit
5a036c6687
1 changed files with 228 additions and 0 deletions
228
README.md
Normal file
228
README.md
Normal file
|
@ -0,0 +1,228 @@
|
|||

|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before starting, ensure you have:
|
||||
- An Unraid server
|
||||
- A VPS (preferably in Dallas for optimal routing)
|
||||
- Tailscale installed on both Unraid and VPS
|
||||
- Root/sudo access on both machines
|
||||
- Basic command line knowledge
|
||||
|
||||
## Part 1: Initial Setup
|
||||
|
||||
### On Both Machines
|
||||
|
||||
1. First, install Tailscale if you haven't already:
|
||||
- On Unraid: Install from Community Applications
|
||||
- On VPS: Follow installation guide at [Tailscale's website](https://tailscale.com/download)
|
||||
|
||||
2. Log into Tailscale on both machines:
|
||||
```bash
|
||||
tailscale up
|
||||
```
|
||||
|
||||
3. Note down the Tailscale IPs:
|
||||
```bash
|
||||
tailscale ip -4
|
||||
```
|
||||
Save both IPs - you'll need them later.
|
||||
|
||||
## Part 2: Unraid Configuration
|
||||
|
||||
### Step 1: Create the Configuration Script
|
||||
|
||||
1. SSH into your Unraid server or use the terminal from the web interface.
|
||||
|
||||
2. Create a new directory for our scripts:
|
||||
```bash
|
||||
mkdir -p /boot/custom/scripts
|
||||
cd /boot/custom/scripts
|
||||
```
|
||||
|
||||
3. Create the configuration script:
|
||||
```bash
|
||||
nano unraid-config.sh
|
||||
```
|
||||
|
||||
4. Copy the Unraid script from above into this file.
|
||||
|
||||
### Step 2: Configure the Script
|
||||
|
||||
1. Modify these variables in the script:
|
||||
```bash
|
||||
VPS_IP="your.vps.ip.address"
|
||||
GAME_SUBNET="172.16.0.0/24" # Adjust if your subnet is different
|
||||
```
|
||||
|
||||
2. Make the script executable:
|
||||
```bash
|
||||
chmod +x unraid-config.sh
|
||||
```
|
||||
|
||||
### Step 3: Run the Configuration
|
||||
|
||||
1. Execute the script:
|
||||
```bash
|
||||
./unraid-config.sh
|
||||
```
|
||||
|
||||
2. Watch for any error messages in green or red text.
|
||||
|
||||
### Step 4: Make Configuration Persistent
|
||||
|
||||
1. Create a startup script:
|
||||
```bash
|
||||
nano /boot/config/go
|
||||
```
|
||||
|
||||
2. Add this line:
|
||||
```bash
|
||||
/boot/custom/scripts/unraid-config.sh
|
||||
```
|
||||
|
||||
3. Make it executable:
|
||||
```bash
|
||||
chmod +x /boot/config/go
|
||||
```
|
||||
|
||||
## Part 3: VPS Configuration
|
||||
|
||||
### Step 1: Initial VPS Setup
|
||||
|
||||
1. SSH into your VPS:
|
||||
```bash
|
||||
ssh username@your.vps.ip
|
||||
```
|
||||
|
||||
2. Create a directory for the script:
|
||||
```bash
|
||||
mkdir ~/scripts
|
||||
cd ~/scripts
|
||||
```
|
||||
|
||||
### Step 2: Create the Configuration Script
|
||||
|
||||
1. Create the script file:
|
||||
```bash
|
||||
nano vps-config.sh
|
||||
```
|
||||
|
||||
2. Copy the VPS script from above into this file.
|
||||
|
||||
### Step 3: Configure the Script
|
||||
|
||||
1. Modify these variables:
|
||||
```bash
|
||||
UNRAID_TAILSCALE_IP="your.unraid.tailscale.ip"
|
||||
WAN_INTERFACE="eth0" # Change if your interface is different
|
||||
```
|
||||
|
||||
2. Make the script executable:
|
||||
```bash
|
||||
chmod +x vps-config.sh
|
||||
```
|
||||
|
||||
### Step 4: Run the Configuration
|
||||
|
||||
1. Execute the script:
|
||||
```bash
|
||||
sudo ./vps-config.sh
|
||||
```
|
||||
|
||||
2. Check for any error messages.
|
||||
|
||||
## Part 4: Verification and Testing
|
||||
|
||||
### Step 1: Check Connectivity
|
||||
|
||||
1. From your Unraid server, ping the VPS through Tailscale:
|
||||
```bash
|
||||
ping your.vps.tailscale.ip
|
||||
```
|
||||
|
||||
2. From the VPS, ping your Unraid server:
|
||||
```bash
|
||||
ping your.unraid.tailscale.ip
|
||||
```
|
||||
|
||||
### Step 2: Test Game Server Ports
|
||||
|
||||
1. Check if the ports are open:
|
||||
```bash
|
||||
# On VPS
|
||||
sudo netstat -tulpn | grep LISTEN
|
||||
```
|
||||
|
||||
2. Test UDP ports (8766, 8767, 16261, 19132):
|
||||
```bash
|
||||
# From another machine
|
||||
nc -uvz your.vps.ip 8766
|
||||
```
|
||||
|
||||
3. Test TCP port ranges (16262, 27015-27050, 25500-25600):
|
||||
```bash
|
||||
nc -vz your.vps.ip 27015
|
||||
```
|
||||
|
||||
## Common Issues and Troubleshooting
|
||||
|
||||
### Issue 1: Ports Not Forwarding
|
||||
- Check iptables rules:
|
||||
```bash
|
||||
sudo iptables -L -n -v
|
||||
sudo iptables -t nat -L -n -v
|
||||
```
|
||||
- Verify IP forwarding is enabled:
|
||||
```bash
|
||||
cat /proc/sys/net/ipv4/ip_forward
|
||||
```
|
||||
|
||||
### Issue 2: Tailscale Connectivity
|
||||
- Check Tailscale status:
|
||||
```bash
|
||||
tailscale status
|
||||
```
|
||||
- Verify routes:
|
||||
```bash
|
||||
ip route show
|
||||
```
|
||||
|
||||
### Issue 3: Game Server Can't Connect
|
||||
- Check server logs
|
||||
- Verify firewall rules
|
||||
- Ensure correct IP forwarding
|
||||
- Check Tailscale ACLs
|
||||
|
||||
## Maintenance
|
||||
|
||||
### Regular Checks
|
||||
1. Monitor system logs:
|
||||
```bash
|
||||
journalctl -f
|
||||
```
|
||||
|
||||
2. Check iptables rules periodically:
|
||||
```bash
|
||||
sudo iptables-save > rules-backup.txt
|
||||
```
|
||||
|
||||
3. Keep Tailscale updated on both machines.
|
||||
|
||||
## Security Considerations
|
||||
|
||||
1. Keep SSH ports secured and use key-based authentication
|
||||
2. Regularly update both Unraid and VPS systems
|
||||
3. Monitor traffic patterns for unusual activity
|
||||
4. Keep backups of your configuration files
|
||||
5. Use strong passwords for all services
|
||||
|
||||
## Conclusion
|
||||
|
||||
Your game server routing setup should now be complete and working. This configuration provides:
|
||||
- Secure routing through Tailscale
|
||||
- Proper traffic separation
|
||||
- Optimized game server connectivity
|
||||
- Persistent configuration across reboots
|
||||
|
||||
Remember to test thoroughly before deploying game servers, and always keep backups of your configurations.
|
Loading…
Reference in a new issue