Giter Site home page Giter Site logo

kristrev / multi Goto Github PK

View Code? Open in Web Editor NEW
40.0 40.0 16.0 192 KB

MULTI is a command line network manager for Linux with multihoming support.

License: GNU General Public License v3.0

C 92.65% CMake 1.74% Makefile 0.16% Shell 1.44% Objective-C 0.12% C++ 3.90%

multi's People

Contributors

kristrev avatar relet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multi's Issues

License is missing

Under which license this code is distributed. Would be required for packaging.

Change metrics at runtime

Is it possible to change metrics for the default route at runtime?

I have an application that I would like to run generating traffic over one interface at a time, so I need to promote and demote the routes to get the traffic generated over the correct one.

I can listen to netfilter messages to make sure the correct thing has happened and that nothing is interrupted, but I'm not sure how to make the correct thing happen to begin with.

Will a SIGHUP cause the yaml file to be reloaded, or is there another way to perform runtime reconfiguration?

Install Path and Process

I'm interested in giving this a try, but I'm not clear on where the results of the compile need to be placed. I see that make produced an executable file called multi_client. It would be ideal for me to run this as a daemon and make a configuration file, but I don't know what goes where to make it all play. If I can figure it out, I'd be glad to add an install target to the make. Thanks for any help.

Scott

multi_client: Limit reached, cannot add more links

I was trying to add a wlan interface to a monroe node, and didn't get an address. Got this in the syslog:

Dec  5 16:04:55 Monroe000db93f812c kernel: [254789.257958] wlan0:
associated
Dec  5 16:04:55 Monroe000db93f812c multi_client: Interface wlan0 (5) is
RUNNING, length 32
Dec  5 16:04:55 Monroe000db93f812c multi_client: Limit reached, cannot
add more links

These are the links on the system:

monroe@Monroe000db93f812c:/$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode
DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:0d:b9:3f:81:2c brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode
DEFAULT group default qlen 1000
    link/ether 00:0d:b9:3f:81:2d brd ff:ff:ff:ff:ff:ff
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:0d:b9:3f:81:2e brd ff:ff:ff:ff:ff:ff
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
mode DORMANT group default qlen 1000
    link/ether 04:f0:21:1b:5e:5a brd ff:ff:ff:ff:ff:ff
7: wwan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
    link/none
8: wwan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode
DEFAULT group default qlen 1000
    link/ether fe:62:78:a4:cf:ea brd ff:ff:ff:ff:ff:ff
654: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP mode DEFAULT group default qlen 1000
    link/ether 12:a9:61:9a:e4:98 brd ff:ff:ff:ff:ff:ff

Great work! Question about setting bcast & network

Okay, so: I've got a network configured thus:

<---residential fiber--->
<---residential fiber---> All 3 go to (NAT / LB) -----(16 servers: 192.168.100.200-15 on server eth0)
<---residential fiber--->

<---slow-ass commercial fiber---> BGP Stuff ------>(16 servers: 106.53.94.200-15 on server eth1)

Of course, I'm trying to use multi.... wait as sec.... is the problem as I now suspect: it is indeed that in /etc/network/interfaces the eth1 should come first, because it is a public address, and that I should be allowing multi to connect to eth0 as an "other" so that the public IP takes precedence?

Presently I don't have broadcast set. Here's my multi.yaml

eth0:
proto: 'static'
address: 192.168.100.202
netmask: 255.255.255.0
gateway: 192.168.100.1

eth1:
proto: 'static'
address: 103.52.94.202
netmask: 255.255.255.0
gateway: 103.52.94.1

/etc/network/interfaces:

This file describes the network interfaces available on your system

and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down

iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down

And BTW-- this is highly impressive code. As this is discovered, I expect it to change some things in server-land. Congrats!

Support for settings nameserver from dhcp?

Hi,

I would love to see multi with the ability to configure nameservers provided dhcp.

I started toying around with multi in combination with mptcp and really like it. The only thing that is missing in order to completely replace my old setup is the ability to set nameservers provided by the dhcp servers.

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.