All Projects → rgl → Pxe Vagrant

rgl / Pxe Vagrant

a Preboot Execution Environment (PXE) gateway

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Pxe Vagrant

Janusec
Janusec Application Gateway, Provides Fast and Secure Application Delivery. JANUSEC应用网关,提供快速、安全的应用交付。
Stars: ✭ 771 (+2236.36%)
Mutual labels:  gateway
Omnipay Pagarme
Pagar.Me driver for the Omnipay PHP payment processing library
Stars: ✭ 22 (-33.33%)
Mutual labels:  gateway
Zigbridge
Zigbee gateway implementation
Stars: ✭ 21 (-36.36%)
Mutual labels:  gateway
Moyasar Php
Moyasar PHP client library
Stars: ✭ 5 (-84.85%)
Mutual labels:  gateway
Vagrant Docker
A lightweight Docker based development environment
Stars: ✭ 17 (-48.48%)
Mutual labels:  vagrant
Hbc
API of homomorphic binary operations such as binary comparisons or binary divisions using the library HElib
Stars: ✭ 23 (-30.3%)
Mutual labels:  vagrant
Easy Php
A Faster Lightweight Full-Stack PHP Framework 🚀
Stars: ✭ 754 (+2184.85%)
Mutual labels:  gateway
Siem From Scratch
SIEM-From-Scratch is a drop-in ELK based SIEM component for your Vagrant infosec lab
Stars: ✭ 31 (-6.06%)
Mutual labels:  vagrant
Malboxes
Builds malware analysis Windows VMs so that you don't have to.
Stars: ✭ 900 (+2627.27%)
Mutual labels:  vagrant
Metta
An information security preparedness tool to do adversarial simulation.
Stars: ✭ 867 (+2527.27%)
Mutual labels:  vagrant
Ghtorrent Vagrant
A Vagrant box with Puppet provisioning for running GHTorrent locally
Stars: ✭ 6 (-81.82%)
Mutual labels:  vagrant
Vagrant Parallels
Vagrant Parallels Provider
Stars: ✭ 893 (+2606.06%)
Mutual labels:  vagrant
Gateway
🏰 Serving distributed Web Annotations from the decentralized web
Stars: ✭ 25 (-24.24%)
Mutual labels:  gateway
Thingsboard Gateway
Open-source IoT Gateway - integrates devices connected to legacy and third-party systems with ThingsBoard IoT Platform using Modbus, CAN bus, BACnet, BLE, OPC-UA, MQTT, ODBC and REST protocols
Stars: ✭ 796 (+2312.12%)
Mutual labels:  gateway
Magma
Platform for building access networks and modular network services
Stars: ✭ 913 (+2666.67%)
Mutual labels:  vagrant
Vagrant Lamp
My default LAMP development stack for Vagrant
Stars: ✭ 765 (+2218.18%)
Mutual labels:  vagrant
Deep Learning Vm
Sets up a VM with Keras, TensorFlow, TFLearn and Theano installed
Stars: ✭ 23 (-30.3%)
Mutual labels:  vagrant
Plugins
Plugins for SmartHomeNG - The device integration platform for your smart home
Stars: ✭ 32 (-3.03%)
Mutual labels:  gateway
Vagrant Caasp
Vagrant deployment of SUSE CaaS Platform (Kubernetes) v4.2
Stars: ✭ 30 (-9.09%)
Mutual labels:  vagrant
Hack Lang Hhvm Resources
Landscaping With Hack Lang & HHVM Resources
Stars: ✭ 10 (-69.7%)
Mutual labels:  vagrant

This is a Vagrant Environment for a Preboot Execution Environment (PXE) gateway.

Usage

Install the Ubuntu 20.04 base box.

Run create_empty_box.sh to create the empty environment (the PXE client machines use it as a base box).

Run vagrant up gateway --no-destroy-on-error to launch the gateway.

Run vagrant up debian_live --no-destroy-on-error to launch the debian_live (Debian Live) PXE client. This assumes you have ../debian-live-builder-vagrant/live-image-amd64.hybrid.iso built as described at the rgl/debian-live-builder-vagrant repository.

Run vagrant up linuxkit --no-destroy-on-error to launch the linuxkit (LinuxKit) PXE client. This assumes you have ../linuxkit-vagrant/shared/sshd-kernel (and sshd-initrd.img) built as described at the rgl/linuxkit-vagrant repository.

Run vagrant up tcl --no-destroy-on-error to launch the tcl (Tiny Core Linux) PXE client.

Run vagrant up winpe --no-destroy-on-error to launch the winpe (Windows PE) PXE client. This assumes you have ../windows-pe-vagrant/tmp/winpe-amd64.iso built as described at the rgl/windows-pe-vagrant repository. Note that vagrant wont be able to connect to it; the idea is just to see it PXE boot.

PXE boot

This is roughly how Debian Live Linux is booted on a PXE PC:

  1. The PC broadcasts an DHCP request
  2. The DHCP server offers the TFTP server address (10.10.10.2) in the Next server IP address field and the bootloader (debian-live/lpxelinux.0) filename in the Boot file name field
  3. The PC TFTP downloads the debian-live/lpxelinux.0 file
  4. lpxelinux.0 HTTP downloads ldlinux.c32 with a request similar to:
    GET /debian-live/ldlinux.c32 HTTP/1.0
    Host: 10.10.10.2
    User-Agent: Syslinux/6.03
    Connection: close
    Cookie: _Syslinux_ip=10.10.10.100%3A10.10.10.2%3A10.10.10.2%3A255.255.255.0
    Cookie: _Syslinux_BOOTIF=01-08-00-27-00-00-03
    Cookie: _Syslinux_SYSUUID=00000000-0000-4000-8000-000000000003
    Cookie: _Syslinux_CPU=6PXL
    Cookie: _Syslinux_SYSVENDOR=innotek+GmbH
    Cookie: _Syslinux_SYSPRODUCT=VirtualBox
    Cookie: _Syslinux_SYSVERSION=1.2
    Cookie: _Syslinux_SYSSERIAL=0
    Cookie: _Syslinux_SYSFAMILY=Virtual+Machine
    Cookie: _Syslinux_MBVENDOR=Oracle+Corporation
    Cookie: _Syslinux_MBPRODUCT=VirtualBox
    Cookie: _Syslinux_MBVERSION=1.2
    Cookie: _Syslinux_MBSERIAL=0
    Cookie: _Syslinux_BIOSVENDOR=innotek+GmbH
    Cookie: _Syslinux_BIOSVERSION=VirtualBox
    Cookie: _Syslinux_SYSFF=1
    
  5. lpxelinux.0 HTTP downloads the configuration from one the first addresses that return an HTTP 200:
    /debian-live/pxelinux.cfg/00000000-0000-4000-8000-000000000003
    /debian-live/pxelinux.cfg/01-08-00-27-00-00-03
    /debian-live/pxelinux.cfg/0A0A0A64
    /debian-live/pxelinux.cfg/0A0A0A6
    /debian-live/pxelinux.cfg/0A0A0A
    /debian-live/pxelinux.cfg/0A0A0
    /debian-live/pxelinux.cfg/0A0A
    /debian-live/pxelinux.cfg/0A0
    /debian-live/pxelinux.cfg/0A
    /debian-live/pxelinux.cfg/0
    /debian-live/pxelinux.cfg/default
    
  6. lpxelinux.0 HTTP downloads and loads linux and initrd into memory
  7. lpxelinux.0 transfers control to linux
  8. initrd HTTP downloads and mounts the root filesystem (filesystem.squashfs)

You can see all of this if you run the following command on your linux host before launching the debian_live vm:

vagrant ssh-config gateway >tmp/gateway-ssh-config.conf
wireshark -k -i <(ssh -F tmp/gateway-ssh-config.conf gateway 'sudo tcpdump -s 0 -U -n -i eth1 -w - not port 22')
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].