Skip to content

Instantly share code, notes, and snippets.

Avatar

braian87b

View GitHub Profile
@braian87b
braian87b / mwan3-notes.md
Last active Apr 8, 2021
How to get MWAN3 Working Properly on OpenWRT / LEDE
View mwan3-notes.md

In experience to get a proper working multiple wan configuration using mwan3 starting from scratch you should:

Important: this works well on OpenWRT 15.05.1, on newer versions there was some breaking changes, for example, the wan ifaces have ipv6 capability and now are named with letters ("wan, wanb... , wanc" instead of "wan, wan2... wan3" so wanb6 means 2nd wan ipv6.): https://github.com/openwrt/packages/blob/master/net/mwan3/files/etc/config/mwan3

The official documentation seems to be very detailed and up to date, I recommend reading those first: https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3 but I recommend to give a look at my config file below, since my approach for policyes is very nice.

First of all: Activate conntrack, docs says that is important and neccesary to get MWAN3 work properly, and it is needed to reboot:

@braian87b
braian87b / mwan-config.sh
Last active Apr 8, 2021
/etc/config/mwan
View mwan-config.sh
# My documentation:
#
# Important: this works well on OpenWRT 15.05.1, on newer versions there was some breaking changes, for example, the wan ifaces have ipv6 capability and now are named with letters ("wan, wanb... , wanc" instead of "wan, wan2... wan3" so wanb6 means 2nd wan ipv6.): https://github.com/openwrt/packages/blob/master/net/mwan3/files/etc/config/mwan3
#
# We have Interfaces, Members, Policyes y Rules:
#
# Interfaces: Allows to identify the wan interface, we just need to have it enabled`
# the others parameters are only to track if the interface it is up or down.
#
# Members: Can be defined in some metric and weight, both values will be important ambos when used in policyes.
@braian87b
braian87b / dumb-ap-wired-link.sh
Last active Apr 6, 2021
How to setup a Dumb AP, Wired backbone for OpenWRT / LEDE
View dumb-ap-wired-link.sh
@braian87b
braian87b / openwrt-lede-openvpn-client.md
Last active Apr 2, 2021
Setting an OpenWrt / LEDE Based Router as OpenVPN Client
View openwrt-lede-openvpn-client.md

These instructions should work for Streisand as well for others VPN providers (Streisand is a Software that automatically configures a VPS online server with OpenVPN and other VPN/Proxy Softwares in order to have a private VPN Server)

These instructions are for getting an OpenWrt Based Router working as OpenVPN Client (should work for LEDE, Gargoyle and another distributions). Computers connected to Lan Ports of the OpenWrt Router will navigate through the Internet connection of the OpenVPN Server (in this case the Streisand one previously set up) you need a working Router with OpenWrt based firmware flashed on it (LEDE or eko.one.pl could also work) steps works well on Chaos Calmer 15.05 or 15.05.1.

  1. You need to telnet 192.168.1.1 (OpenWrt Router) and set up a password using passwd You can skip this if you already have a password and can connect using ssh.
@braian87b
braian87b / image-builder-openwrt-lede.sh
Last active Apr 1, 2021
Image-Builder Procedure for OpenWRT - LEDE
View image-builder-openwrt-lede.sh
# ------------------------------------------------------------------------
# Image-Builder Procedure for OpenWRT - LEDE (In this case using Debian x64 NetInstall virtual machine)
# ------------------------------------------------------------------------
su
apt-get update # Optional, make and upgrade too in case it has too many old pakackes.
apt-get install make aria2 screen ncftp -y
screen -
cd ~
@braian87b
braian87b / pure_debian_on_iomega_ez.sh
Last active Mar 29, 2021
How to Install pure Debian on Iomega EZ Media and Backup Center
View pure_debian_on_iomega_ez.sh
# Relevant info about this:
https://forum.lede-project.org/t/lenovo-iomega-ez-media-backup-center/5031/ # "Lenovo Iomega EZ Media & Backup Center"
https://forum.doozan.com/read.php?2,35331,35434#msg-35434 # "Lenovo iomega EZ support" but read entire thread if it is possible
https://forum.doozan.com/read.php?2,15887 # "Debian on Iomega EZ Media & Backup Center" this is another thread about
https://forum.doozan.com/read.php?2,12096 # "Linux Kernel 4.14.1 Kirkwood package and Debian rootfs" Kernel and rootfs, thanks to this it is possible to run Debian
# Newer kernel guide:
https://gist.github.com/koczaj/a20ed52c969a8d0612986ca576067876
# Using a Debian box (it could be a VM) with the harddrive connected (it could be a minimal net-install Debian)
See ip with:
ip addr show
@braian87b
braian87b / wireless-link-wds.sh
Last active Mar 12, 2021
How to setup Wireless Links to avoid Wired backbone using WDS on Atheros for OpenWRT / LEDE
View wireless-link-wds.sh
@braian87b
braian87b / relayd-igmpproxy.sh
Last active Mar 12, 2021
How to setup Client Bridged / Client Mode / RelayD and IGMPProxy for OpenWRT / LEDE
View relayd-igmpproxy.sh
# Client Bridged / Client Mode / RelayD and IGMPProxy (It works)
# RelayD is to redirect packages and IGMP is for redirect IGMP packages
# Our network is 192.168.1.0/24
# Steps:
# Configure WAN as static
# We should edit our wan iface and put static IP
uci set network.wan='interface'
uci set network.wan.proto='static'
uci set network.wan.ipaddr='192.168.1.239' # Main Network IP
@braian87b
braian87b / stopwatch.py
Created Oct 8, 2020
Kenility - Python - Stopwatch context manager
View stopwatch.py
# We create a simple python context manager to log measure time of our code.
from timeit import default_timer as timer
class stopwatch(object):
def __init__(self, description, log_fn=None):
self.description = description
self.log_fn = log_fn
def __enter__(self):
self.start = timer()
return self
@braian87b
braian87b / openwrt-lede-on-wd-mbl.sh
Last active Sep 25, 2020
Install OpenWRT or LEDE on WD MBL Western Digital MyBookLive
View openwrt-lede-on-wd-mbl.sh
# Instructions to Install OpenWRT or LEDE on WD MBL Western Digital MyBookLive (Tested on Single, but it should work on Duo too)
# Recommended to use a Linux / Debian box with wget, dd, gunzip, lsblk
# Using a Debian box (it could be a VM) with the harddrive connected (it could be a minimal net-install Debian)
See ip with:
ip addr show
# connect remotely using:
user@outside:~/# ssh user@10.211.55.6
# We elevate permissions or even better install and config sudo
user@debian8vm:~/# su