Xentrk
Part of the Furniture
x3mRouting Version 2.4.0 now available! 29 September, 2020
Migrating from Version 1.0
Version 2.0.0 Update Process - update instructions
Version 2.0.0 Changes - see what's changed!
x3mRouting includes selective routing features for LAN Clients, OpenVPN Clients and OpenVPN Servers.
If coming from the first generation of x3mRouting, please read the updated instructions to become familiar with the new features and usage instructions. Refer to the Version 2.0.0 Changes section for a description of the changes and the Version 2.0.0 Update Process section for the update instructions.
Project Development
I used Amazon Prime, BBC, CBS All Access, Hulu, Netflix and Sling streaming media services in developing the project and include them in the usage examples on the x3mRouting GitHub repository.
Introduction
The features of x3mRouting include three selective routing methods to select from:
1. x3mRouting for LAN Clients
An alternative approach to automate and easily assign LAN clients to a WAN or OpenVPN Client interface using a list of DHCP Static Lease clients to assign interfaces. This method eliminates the need to enter the LAN Client information and IP addresses in the OpenVPN Client Screen.
Code:
#########################################################
# Assign the interface for each LAN client by entering #
# the appropriate interface number in the first column #
# 0 = WAN #
# 1 = OVPNC1 #
# 2 = OVPNC2 #
# 3 = OVPNC3 #
# 4 = OVPNC4 #
# 5 = OVPNC5 #
#########################################################
0 192.168.1.150 SamsungTV
1 192.168.1.151 Samsung-Phone
2 192.168.1.152 Asus-Laptop
2 192.168.1.153 iPad
1 192.168.1.154 Lenovo-Laptop
2. OpenVPN Client Screen, OpenVPN Event and x3mRouting Script
Provides the ability to create IPSET lists using x3mRouting script and selectively route the IPSET lists by entering the IPSET name in a modified OpenVPN Client Screen.
3. OpenVPN Event and x3mRouting Script
Provides the ability to
- Create and selectively route IPSET lists to the VPN Client interface for all traffic or specific devices.
- Bypass a VPN Client interface for all traffic or specific devices.
- Route VPN Server 1, 2 or both to one of the VPN Clients.
- Selectively route VPN Server 1, 2 or both to the same routing rules as an IPSET.
These two scripts can be used to analyze the domain names being used for a website or streaming service.
The getdomainnames.sh script will create a uniquely sorted list of domain names gathered from dnsmasq.log that you collect by accessing a website or streaming service. Use the script to help determine the domain names used by a website or streaming service.
The autoscan.sh script is used to search for one or more terms in dnsmasq.log. It will return the top level domain names if there is a match.
Detailed descriptions and usage examples of each method are available on the x3mRouting GitHub repository.
Requirements
- An Asus router with Asuswrt-Merlin firmware installed.
- A USB drive with entware installed. Entware can be installed using amtm - the SNBForum Asuswrt-Merlin Terminal Menu
- Policy Rules (Strict) or Policy Rules enabled on the OpenVPN Client screen.
You can install x3mRouting from an SSH command line or using amtm.
To install from the SSH command line, copy and paste the command below into an SSH session:
Code:
sh -c "$(curl -sL https://raw.githubusercontent.com/Xentrk/x3mRouting/master/Install_x3mRouting.sh)"
To access the installation menu, type the command x3mMenu on a command line. The x3mRouting programs are installed in the /jffs/scripts/x3mRouting directory.
Acknowledgements
Please see the GitHub repository for all of the Acknowledgements
Last edited: