Code Monkey home page Code Monkey logo

Sebastian Majewski's Projects

aws-terraform-ansible-lab icon aws-terraform-ansible-lab

AWS based lab designed to be automatically deployed using Terraform. All hosts inside of the lab are initially configured with CloudInit scripts and later on managed by Ansible. I am usually using this lab for acloudguru.com AWS classes. It can be quickly deployed, modified to fulfill class requirements and torn down after class. Access to the lab is possible via management host placed in one of public subnets. This is also the host that configures other VMs via ansible.

azure-paloalto-automation icon azure-paloalto-automation

Azure lab configuration used for automatic deployment of PaloAlto virtual firewall appliances in HA mode into the Azure VNet. Automation process uses mix of bash scripting and Azure ARM templates. Each pair (one interface from each node) of PA interfaces is put into separate transit subnet and the actual host deployment subnets are attached to those transit subnets by appropriate configuration of subnet routing tables. Each host subnet has deployed virtual machine in it. Those are being used to test connectivity over the PA firewalls. One virtual machine is also deployed directly into WAN transit subnet to test connectivity from on-prem to the LAB before the traffic hits PAs. All virtual hosts after deployment are reconfigured by Ansible to add lab users and install diagnostic tools like Nmap or IPerf. PaloAlto firewall initial configuration at this point is loaded manually but in future this will be done by PaloAlto Bootstrap process.

blackbird icon blackbird

My first network related project back from 2001. Blackbird is a packet sniffer developed originally on OpenBSD UNIX system and later ported to IBM AIX and Linux. This was the very project that started my networking career. No active development, just more like vintage curiosity from the times when Wireshark was called EtherReal. Named after SR-71 Blackbird spy plane :)

linux-ospf-lab icon linux-ospf-lab

Goal of this project is to create fully functional OSPF lab solely using Linux virtualization. It is going to use KVM to host the router VMs and the OVS to switch traffic between them. Also i want each of the router VMs to have separate management IP address connected to my home LAN so i can connect to them from my laptop. The LAN connectivity will use existing Linux Bridge and the lab traffic will be contained in OVS. This hybrid solution is used for couple reasons... First i need to use OVS for lab because i don't want to be wasting time on creating new Linux bridge for each of the lab vlans i want to use for OSPF. With OVS i can just create single switch and plug trunk port from each router inyo it. Why not to use OVS for home LAN connectivity as well then ? Well... technically i could, but i have already existing Linux bridge configuration that i have been using to share my LAN with regular VMs. On top of that (and this is the main reason) setting up OVS with Netplan is somewhat challenging and i simply have no time for it at the moment. This project is intended to be OSPF lab not OVS/Netplan lab after all :)

netcat-backup icon netcat-backup

NetCAT stands for Network Configuration Automation Tool. The set of Python programs can be used to backup configurations, poll command output status, deploy config snippets, and perform automatic software upgrades on Cisco, Palo Alto, and F5 devices. Results can be saved into either local/remote MongoDB database, AWS DynamoDB or Azure CosmosDB.

netcat-webapp icon netcat-webapp

Web front end to NetCAT Backup system. Includes device inventory, network status (BGP, device links, DNS, etc...), IP to MAC address lookup, and MAC address to switch port lookup for the devices polled by NetCAT Backup. It can read data from local/remote MongoDB database, AWS DynamoDB or Azure CosmosDB.

netwolf icon netwolf

NetWolf is a proof of concept for the distributed real time network monitoring and automation system capable of simultaneously interacting with thousands of network devices using vertical and horizontal scaling of resources. It consists of the manager program and number of agents. Agents can be spread out over multiple machines and bind separate processes to every available CPU core. Each of those processes maintains SSH connectivity to multiple network devices. To achieve high number of connections per core and the same time consume least amount of memory possible agent is internally based on Asyncio. Agent registers with manager and receives jobs that contain the hostname for the network device it's supposed to connect to and the set of commands that need execute on it. For the purpose of monitoring job can also contain filters that need to be applied to command output before its sent back to the manager.

pybgp icon pybgp

PyBGP is Python / Asyncio based BGP implementation. At this time it fully supports Finite State Machine and its able to open and maintain connectivity to BGP peer in either passive or active mode. Connection collision detection is already implemented so it's able to drop less desired connection if two of them form simultaneously. Can support connectivity to multiple peers at the same time.

pydevcon icon pydevcon

Goal of this project is to illustrate various ways of device connectivity for network automation purposes. This is shown based on program that in parallel connects to multiple devices, executes set of commands and records output of those commands.

pytcp icon pytcp

PyTCP is a fully functional TCP/IP stack written in Python. It supports TCP stream-based transport with reliable packet delivery based on a sliding window mechanism and basic congestion control. It also supports IPv6/ICMPv6 protocols with SLAAC address configuration. It operates as a user space program attached to the Linux TAP interface.

rush icon rush

Linux shell written in Rust. Project aimed as a learning experience toward better understanding the Linux shell and kernel inter-workings.

rustcp icon rustcp

RusTCP RusTCP is an attempt to rewrite some of the PyTCP stack functionality using Rust language. Currently, the main goal of this project is to create a stable IPv6 platform that could be used to facilitate the process of testing the SRv6 technology.

seatcp icon seatcp

SeaTCP is an attempt to code the lightweight TCP/IP stack in C and Assembly languages. Its main goal is to achieve the lowest possible latency of packet processing. Implementation is based on experience gathered during the performance of the PyTCP project.

sort_speed_test icon sort_speed_test

Goal of this project is to implement bubble, selection, insertion, merge and quick sort algorithms using Python, Rust, C and Assembly languages to compare the performance of each implementation. Implementations are supposed to take advantage of every available feature of each language that may speed up code execution.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.