Skip to main content

Tool to convert ethernet interface to bridge for emulation

Project description

brnet

These is a networking tool to make running emulated systems under Linux a little easier and more secure.

I have been using simh and klh10 a lot recently to emulate old computers and operating systems. Networking has been a particular pain because most of these systems require raw access to the network devices, and that typically means running the as root.

I didn't want to do that. So I wrote brnet.

What this script does is to take the interface you specify (defaulting to eth0) and turn it into a bridge device. The using a user and group you specify (it defaults to pi/adm, which is correct for a PiDP-11), it creates a number of tap interfaces (defaulting to 4), and connects them to the bridge too.

The point of doing that is so that you can run brnet with root privileges to create network devices that another user can own and have full control of without requiring escalated privileges.

After running brnet, you can therefore use, say, the tap0 interface in a guest system as your emulated ethernet device, and run as your normal emulator user without sudo, and still have the network interface work.

Installing

pip install brnet, or check out the repository and do a pip install -e . You probably want to do this in a virtualenv, and if you do that, you probably want to install a wrapper script as /usr/local/bin/brnet to activate the appropriate virtualenv and then run the brnet command (virtualenv activation will put the new stuff at the head of your $PATH). One approach to this is here.

Then you want to drop the following into /etc/network/interfaces.d to start the network after the physical interface comes up. I called my file 01-phys-to-bridge.

Examples

To run using the defaults, which should work for a Raspberry Pi running the PiDP-11 software: brnet start.

To run with a different user and group and more tap devices:

brnet -u adam -g wheel -n 8 start

To shut down the bridge and put things back the way they were:

brnet stop

brnet -h will give you a help message explaining all the parameters.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brnet-0.0.3.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

brnet-0.0.3-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file brnet-0.0.3.tar.gz.

File metadata

  • Download URL: brnet-0.0.3.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for brnet-0.0.3.tar.gz
Algorithm Hash digest
SHA256 08c1c7b73073d0d6ebcaaa7ba9030487d0c9e4b92df6efbeaf4614c11ad710bb
MD5 e7512cd892f42a87aff973e8d4197e5b
BLAKE2b-256 ea9a5535dd94b4bc23b60955e4bf1dc3de637fba3f4fca07384b70437739e651

See more details on using hashes here.

File details

Details for the file brnet-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: brnet-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for brnet-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bb9cf8a0469829376179eb214a8b20c38f4d7f3ade54955ac4602615700a3b7a
MD5 1fab966f93be35523fc96980aacb333f
BLAKE2b-256 4d05502b0f0ab9a8f93c27120f158200d31d53bc4d2ed365bd64f1933df37e46

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page