rlinklayer

module
v0.0.0-...-46547a1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2019 License: ISC

README

Richard Linklayer (rlinklayer)

experimental userspace network overlay designed for serverless functions that tunnels through Amazon Cloudwatch Logs or AWS Lambda tags that uses Google's netstack library.

You could use this library to:

  • Run non-privilged servers inside of AWS Lambda and access them over TCP/IP (slowly)
  • Establish a (slow) TCP or UDP connection between function(s)
  • Bridge a network running inside of AWS Lambda functions with a normal network.

The current state of this project is proof-of-concept/experimental. This isn't meant for anything production.

running on AWS Lambda

Currently, this is only supported with a custom runtime. See examples/template.yaml for a sample function that runs an HTTP server in node.js.

A publicly-deployable AWS Lambda Layer is also provided for running with your own functions.

running locally on Mac OS X

Special permissions are needed in Docker to create a tun or tap network interface. Because AWS Services are used as a link layer transport, AWS credentials are needed:

First, build the docker image:

    docker build -t smithclay/rlinklayer .

Next, run the container with AWS credentials that can write and read to Amazon Cloudwatch Logs.

The start-server.sh script automatically creates a tun or tap network interface in the docker container, if one does not exist.

    docker run --env AWS_ACCESS_KEY_ID=<<access key id>> env AWS_SECRET_ACCESS_KEY=<access_key>>--name richard-linklayer --privileged smithclay/rlinklayer ./start-server.sh

Then, run do networking stuff that interacts with an IP address that's a running function.

    docker exec -ti richard-linklayer ping 192.168.1.21

examples

Examples are in the examples directory.

Directories

Path Synopsis
examples
cwlink_bridge command
cwlink_client command
taglink command
link

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL