Commit Briefs

86a0e64904 gonzalo

Add LICENSE file (master)


a9a2c1f132 gonzalo

fix some stuff, now we are on 6.4


83886dc7c9 gonzalo

initial vmm_setup


Branches

Tags

This repository contains no tags

Tree

LICENSEcommits | blame
Makefilecommits | blame
README.mdcommits | blame
dhcpd.confcommits | blame
hostname.bridge0commits | blame
hostname.vether0commits | blame
pf.confcommits | blame
sysctl.confcommits | blame
vm.confcommits | blame
vmm.shcommits | blame

README.md

# OpenBSD vmm(4) example setup

The idea of this repo is to setup an example vmm(4) environment to run VMs over OpenBSD, with OpenBSD.

For debian on vmm(4) you can also see @vext01:

https://github.com/vext01/recipes/blob/master/recipes/debian9_inside_vmm.md


# WARNING: This will override your files if exists

## hostname.vether0

You can set your VMs network here, for now is 10.10.10.0/24 and runs the DHCP server on 10.10.10.255

## hostname.bridge0

This file bridges your network so the VMs can talk to vether0 to get a DHCP address and be forwarded to the internet.
In the new syntax, ```add vether0``` has been removed and replaced with ```interface bridge0``` so now the network looks like this:

``` vm ---> bridge0 ---> vether0 ---> internet```

## pf.conf

A typical pf.conf, $ext_if are our inet interfaces, and $int_if are our 'internal', in this case, the
internals interfaces are the ones connected to VMs, in this case vether0 and tapX. You need to edit this
according to your machine.

## sysctl.conf

Now our machine is our VMs GW, so we need to permite the ip forwarding.

## dhcpd.conf

A regular dhcpd setup, for our VMs, setting our network and nameservers.

## vm.conf

Our VMs file, has comments, this is the main file, you need to edit this to your taste.

## Makefile usage

Assuming you have comp6X.tgz installed.

```
# cd /tmp
# ftp -V https://raw.githubusercontent.com/gonzalo-/vmm_setup/master/Makefile
# make vmm

[+] Downloading files from https://github.com/gonzalo-/vmm_setup

hostname.vether0	100% |*********************************************************|    39       00:00
dhcpd.conf		100% |*********************************************************|   420       00:00
vm.conf			100% |*********************************************************|   216       00:00
pf.conf			100% |*********************************************************|  1882       00:00
sysctl.conf		100% |*********************************************************|    25       00:00

[+] Installing files...

[+] Enabling vmd & setting dhcpd...

[+] All done, you can reboot now and play with vmm(4).

# reboot
```

## vmm.sh usage

```
# cd /tmp
# ftp -o - https://raw.githubusercontent.com/gonzalo-/vmm_setup/master/vmm.sh | sh -
Trying 151.101.24.133...
Requesting https://raw.githubusercontent.com/gonzalo-/vmm_setup/master/vmm.sh
1329 bytes received in 0.00 seconds (6.12 MB/s)

[+] Downloading files from https://github.com/gonzalo-/vmm_setup

hostname.vether0	100% |*********************************************************|    39       00:00
dhcpd.conf		100% |*********************************************************|   420       00:00
vm.conf			100% |*********************************************************|   216       00:00
pf.conf			100% |*********************************************************|  1882       00:00
sysctl.conf		100% |*********************************************************|    25       00:00

[+] Installing files...

[+] Enabling vmd & setting dhcpd...

[+] All done, you can reboot now and play with vmm(4).

# reboot
```

# vmm(4) running
```
$ vmctl status
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER NAME
    7 25839     1    512M    161M   ttyp1         root OpenBSD_Test.vm
    6 96312     1    2.0G    733M   ttyp0         root OpenBSD_Ports.vm
    3 30269     1    2.0G    401M   ttyp6         root Alpine_Linux.vm
```

```
$ doas vmctl console 7

OpenBSD/amd64 (test.vm.incre.host) (tty00)

login:
```

```
$ doas vmctl console 3


Welcome to Alpine Linux 3.6
Kernel 4.9.32-0-virthardened on an x86_64 (/dev/ttyS0)

sonarr login: gonzalo
Password:
Welcome to Alpine!

The Alpine Wiki contains a large amount of how-to guides and general
information about administrating Alpine systems.
See <http://wiki.alpinelinux.org>.

You can setup the system with the command: setup-alpine

You may change this message by editing /etc/motd.

alpine:~$
```