167 lines
3.6 KiB
Markdown
167 lines
3.6 KiB
Markdown
## 'pct' commands
|
|
```markdown
|
|
[pct commands](https://git.crazystorm.xyz/medusa/the_information_nexus/src/branch/main/docs/tech_docs/pct.md)
|
|
```
|
|
|
|
### Proxmox Container Creation
|
|
|
|
Use the following command to create a new container with reduced memory and storage:
|
|
|
|
```bash
|
|
pct create 101 /var/lib/vz/template/cache/openwrt-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype unmanaged --hostname openwrt-01 --tag network --storage local-lvm --memory 128 --swap 0 --rootfs local-lvm:1,size=512M \
|
|
--net0 name=eth0,bridge=vmbr0,firewall=1 \
|
|
--net1 name=eth1,bridge=vmbr1,firewall=1
|
|
```
|
|
|
|
### OpenWRT Firewall Configuration
|
|
|
|
```bash
|
|
passwd
|
|
```
|
|
|
|
```bash
|
|
vi /etc/config/network
|
|
```
|
|
|
|
```bash
|
|
config interface 'loopback'
|
|
option proto 'static'
|
|
option ipaddr '127.0.0.1'
|
|
option netmask '255.0.0.0'
|
|
option device 'lo'
|
|
|
|
config interface 'wan'
|
|
option proto 'dhcp'
|
|
option device 'eth0'
|
|
|
|
config interface 'wan6'
|
|
option proto 'dhcpv6'
|
|
option device 'eth0'
|
|
|
|
config interface 'lan'
|
|
option ifname 'eth1'
|
|
option proto 'static'
|
|
option device 'eth1'
|
|
option ipaddr '10.0.0.1'
|
|
option netmask '255.255.255.0'
|
|
```
|
|
|
|
```bash
|
|
130 dd
|
|
```
|
|
|
|
```bash
|
|
vi /etc/config/firewall
|
|
```
|
|
|
|
```bash
|
|
config rule
|
|
option name 'Allow-SSH'
|
|
option src 'wan'
|
|
option proto 'tcp'
|
|
option dest_port '22'
|
|
option target 'ACCEPT'
|
|
|
|
config rule
|
|
option name 'Allow-HTTPS'
|
|
option src 'wan'
|
|
option proto 'tcp'
|
|
option dest_port '443'
|
|
option target 'ACCEPT'
|
|
|
|
config rule
|
|
option name 'Allow-HTTP'
|
|
option src 'wan'
|
|
option proto 'tcp'
|
|
option dest_port '80'
|
|
option target 'ACCEPT'
|
|
```
|
|
|
|
### Applying the Configuration
|
|
|
|
After updating the configuration files:
|
|
|
|
- **Restart Network Services**:
|
|
```bash
|
|
/etc/init.d/network restart
|
|
```
|
|
|
|
- **Reload Firewall Settings**:
|
|
```bash
|
|
/etc/init.d/firewall restart
|
|
```
|
|
|
|
|
|
### Installing Packages via CLI
|
|
|
|
1. **Update the Package List**: Before installing any new packages, it's a good practice to update the list of packages to ensure you are installing the latest versions available. You can do this by running:
|
|
|
|
```bash
|
|
opkg update
|
|
```
|
|
|
|
```bash
|
|
opkg install qemu-ga
|
|
```
|
|
|
|
```bash
|
|
poweroff
|
|
```
|
|
|
|
---
|
|
|
|
OpenWRT Container (ID: 100):
|
|
```bash
|
|
pct create 100 /var/lib/vz/template/cache/openwrt-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype unmanaged --hostname openwrt-0 --tag network --storage local-lvm --cores 2 --memory 128 --swap 0 --rootfs local-lvm:1,size=512M --net0 name=eth0,bridge=vmbr0,firewall=1 --net1 name=eth1,bridge=vmbr1,firewall=1
|
|
```
|
|
Kali Linux Container (ID: 200):
|
|
```bash
|
|
pct create 200 /var/lib/vz/template/cache/kali-default-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype debian --hostname kali-0 --tag tools --storage local-lvm --cores 2 --memory 1024 --swap 512 --rootfs local-lvm:1,size=8G --net0 name=eth0,bridge=vmbr1,firewall=1
|
|
```
|
|
Alpine Container (ID: 300):
|
|
```bash
|
|
pct create 300 /var/lib/vz/template/cache/alpine-default-rootfs.tar.xz --unprivileged 1 --arch amd64 --ostype alpine --hostname alpine-0 --tag docker --storage local-lvm --cores 2 --memory 1024 --swap 256 --rootfs local-lvm:1,size=8G --net0 name=eth0,bridge=vmbr1,firewall=1
|
|
```
|
|
|
|
```bash
|
|
pct enter 300
|
|
```
|
|
|
|
```bash
|
|
passwd
|
|
```
|
|
|
|
```bash
|
|
pct console 300
|
|
```
|
|
|
|
```bash
|
|
apk update
|
|
```
|
|
|
|
```bash
|
|
apk upgrade
|
|
```
|
|
|
|
```bash
|
|
sed -i '/^#.*community/s/^#//' /etc/apk/repositories
|
|
```
|
|
|
|
```bash
|
|
setup-interfaces
|
|
```
|
|
Choose the appropriate network interface and configure it with DHCP or a static IP as required. Then:
|
|
|
|
```bash
|
|
service networking restart
|
|
```
|
|
|
|
```bash
|
|
apk add bash curl wget vim htop
|
|
```
|
|
|
|
```bash
|
|
apk add build-base gcc abuild binutils binutils-doc gcc-doc
|
|
```
|
|
|
|
## Notes |