171 lines
5.9 KiB
Markdown
171 lines
5.9 KiB
Markdown
## Links
|
|
- [Split A GPU Between Multiple Computers - Proxmox LXC (Unprivileged)
|
|
](https://youtu.be/0ZDr5h52OOE?si=F4RVd5mA5IRjrpXU)
|
|
- [Must-Have OpenWrt Router Setup For Your Proxmox
|
|
](https://youtu.be/3mPbrunpjpk?si=WofNEJUZL4FAw7HP)
|
|
- [Docker on Proxmox LXC 🚀 Zero Bloat and Pure Performance!
|
|
](https://youtu.be/-ZSQdJ62r-Q?si=GCXOEsKnOdm6OIiz)
|
|
- [stuff](url)
|
|
|
|
## 'pct' commands
|
|
```markdown
|
|
[pct commands](https://git.crazystorm.xyz/medusa/the_information_nexus/src/branch/main/docs/tech_docs/pct.md)
|
|
```
|
|
|
|
- [pct commands](https://git.crazystorm.xyz/medusa/the_information_nexus/src/branch/main/docs/tech_docs/pct.md)
|
|
|
|
---
|
|
|
|
Here are the structured sections for your document that cover the setup of OpenWRT, Alpine, and Kali Linux containers on Proxmox:
|
|
|
|
---
|
|
|
|
## OpenWRT Container Setup
|
|
|
|
### Description
|
|
This section details the process of setting up an OpenWRT container in a Proxmox environment. OpenWRT is optimized for network operations, making it ideal for routing and firewall tasks within a virtualized setup. The configuration provided keeps resource allocation minimal due to the constraints of an older hardware setup in a lab environment.
|
|
|
|
### Step-by-Step Configuration
|
|
1. Create the container using the provided template and specify initial settings like hostname, network tags, and storage options.
|
|
2. Start the container and access its console.
|
|
3. Update the container's package list and install necessary packages.
|
|
4. Modify network configurations and restart network services to apply the changes.
|
|
5. Set up firewall rules to secure the container's network interfaces.
|
|
|
|
### Commands
|
|
```bash
|
|
# Create and configure the OpenWRT container
|
|
pct create 100 /var/lib/vz/template/cache/openwrt-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype unmanaged --hostname openwrt-0 --password changeme --tag network --storage local-lvm --memory 256 --swap 128 --rootfs local-lvm:1,size=512M --net0 name=eth0,bridge=vmbr0,firewall=1 --net1 name=eth1,bridge=vmbr1,firewall=1 --cores 1 --cpuunits 500 --onboot 1 --debug 0
|
|
|
|
# Start the container
|
|
pct start 100
|
|
|
|
# Access the container's console
|
|
pct console 100
|
|
|
|
# Update and install packages
|
|
opkg update
|
|
opkg install qemu-ga
|
|
reboot
|
|
|
|
# Network and firewall configuration
|
|
|
|
```bash
|
|
vi /etc/config/network
|
|
```
|
|
|
|
```bash
|
|
/etc/init.d/network restart
|
|
```
|
|
|
|
```bash
|
|
vi /etc/config/firewall
|
|
```
|
|
|
|
```bash
|
|
/etc/init.d/firewall restart
|
|
```
|
|
|
|
```bash
|
|
vi /etc/config/firewall
|
|
```
|
|
|
|
```bash
|
|
uci add firewall rule
|
|
uci set firewall.@rule[-1].name='Allow-SSH'
|
|
uci set firewall.@rule[-1].src='wan'
|
|
uci set firewall.@rule[-1].proto='tcp'
|
|
uci set firewall.@rule[-1].dest_port='22'
|
|
uci set firewall.@rule[-1].target='ACCEPT'
|
|
|
|
uci add firewall rule
|
|
uci set firewall.@rule[-1].name='Allow-HTTPS'
|
|
uci set firewall.@rule[-1].src='wan'
|
|
uci set firewall.@rule[-1].proto='tcp'
|
|
uci set firewall.@rule[-1].dest_port='443'
|
|
uci set firewall.@rule[-1].target='ACCEPT'
|
|
|
|
uci add firewall rule
|
|
uci set firewall.@rule[-1].name='Allow-HTTP'
|
|
uci set firewall.@rule[-1].src='wan'
|
|
uci set firewall.@rule[-1].proto='tcp'
|
|
uci set firewall.@rule[-1].dest_port='80'
|
|
uci set firewall.@rule[-1].target='ACCEPT'
|
|
```
|
|
|
|
```bash
|
|
uci commit firewall
|
|
```
|
|
|
|
```bash
|
|
/etc/init.d/firewall restart
|
|
```
|
|
|
|
---
|
|
|
|
## Alpine Container Setup
|
|
|
|
### Description
|
|
This section outlines the configuration for an Alpine Linux container, which is lightweight and suitable for running Docker containers. The settings are designed to optimize Docker performance with adequate CPU and memory allocation, while also ensuring that system resources are not overly taxed.
|
|
|
|
### Step-by-Step Configuration
|
|
1. Set up the Alpine container with specified resources and networking capabilities.
|
|
2. Enter the container to configure the system and Docker settings.
|
|
3. Update system packages and enable community repositories.
|
|
4. Install Docker and related tools, and configure network settings.
|
|
5. Set up a non-root user for Docker management.
|
|
|
|
### Commands
|
|
```bash
|
|
# Create and configure the Alpine container
|
|
pct create 300 /var/lib/vz/template/cache/alpine-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype alpine --hostname alpine-0 --password changeme --tag docker --storage local-lvm --cores 2 --memory 1024 --swap 256 --rootfs local-lvm:1,size=8G --net0 name=eth0,bridge=vmbr0,firewall=1 --keyctl 1 --nesting 1 --cpuunits 1000 --onboot 1 --debug 0
|
|
|
|
# Enter the container
|
|
pct enter 300
|
|
|
|
# System update and Docker installation
|
|
sed -i '/^#.*community/s/^#//' /etc/apk/repositories
|
|
apk update && apk upgrade
|
|
apk add qemu-guest-agent newt curl openssh mc sudo build-base gcc abuild binutils binutils-doc gcc-doc docker
|
|
rc-service docker start
|
|
rc-update add docker default
|
|
|
|
# Configure network and SSH
|
|
setup-interfaces
|
|
service networking restart
|
|
apk add openssh
|
|
rc-update add sshd
|
|
service sshd start
|
|
|
|
# Configure and start SSH service
|
|
vi /etc/ssh/sshd_config
|
|
service sshd restart
|
|
|
|
# Create a system user and add them to the docker group and sudoers
|
|
adduser -s /bin/ash medusa
|
|
addgroup medusa docker
|
|
visudo
|
|
|
|
# Test Docker installation
|
|
docker run hello-world
|
|
```
|
|
|
|
---
|
|
|
|
## Kali Linux Container Setup
|
|
|
|
### Description
|
|
This section provides instructions for configuring a Kali Linux container, geared towards security professionals and penetration testers. This container is set up with increased resources to support the intensive tasks typically performed on Kali Linux, including various security tests and analyses.
|
|
|
|
### Step-by-Step Configuration
|
|
1. Create the Kali Linux container with enhanced CPU and memory settings to handle demanding security tools.
|
|
2. Start the container to ensure it is running smoothly.
|
|
3. Perform system updates and install necessary security tools as required.
|
|
|
|
### Commands
|
|
```bash
|
|
# Create and configure the Kali Linux container
|
|
pct create 200 /var/lib/vz/template/cache/kali-default-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype debian --hostname kali-0 --password changeme --tag tools --storage local-lvm --
|
|
|
|
cores 2 --memory 2048 --swap 1024 --rootfs local-lvm:1,size=10G --net0 name=eth0,bridge=vmbr0,firewall=1 --cpuunits 1500 --onboot 1 --debug 0 --features nesting=1,keyctl=1
|
|
``` |