From: "Geneviève Bastien" <gbastien@versatic.net>
To: The list for a Better Approach To Mobile Ad-hoc Networking
<b.a.t.m.a.n@lists.open-mesh.org>
Subject: [B.A.T.M.A.N.] Internet gateway or not: dhcp or static ip?
Date: Wed, 18 Jul 2012 21:18:14 -0400 [thread overview]
Message-ID: <50076056.4050907@versatic.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]
Hi!
I had a chat the other day on IRC about how to assign ip addresses
whether there is an internet gateway available or not.
Here is the problem and the solution I came up with. Let me know if
that makes sense or if I'm complicating my life.
* Problem *
Our network is still small, there may or may not be an internet gateway
available on it, it doesn't matter. From what I read here
http://www.open-mesh.org/projects/batman-adv/wiki/Gateways for nodes to
have access to the internet, the internet gateway has to be a dhcp server.
The node requests an ip by dhcp and then knows what the default route
is. But if the gateway disappears, there is no more dhcp server, the
nodes do not have ip addresses and the mesh network is about useless.
But if I set nodes with static ips, then the mesh is routable all the
time, but nodes do not know the default route to reach the internet.
Am I right so far?
* Solution *
Someone on irc pointed me out to this page:
http://www.open-mesh.org/projects/batman-adv/wiki/Uevent
I use this uevent to send a dhcp request if a gateway becomes available
or go back to a static ip if all gateways are gone.
Attached is the hotplug script I use. It is in
/etc/hotplug.d/net/99-batman-adv-gw. It supposes the interface is
configured by default with a static ip.
It works perfectly, but I can't believe there is no simpler solution to
this. Our problem should be a quite common one. What is the general
solution to it?
Thanks,
Geneviève
[-- Attachment #2: 99-batman-adv-gw --]
[-- Type: text/plain, Size: 729 bytes --]
#!/bin/sh
# This is the interface as mentioned in the /etc/config/network file
IMESH="lan"
# This is the interface on which to ask for dhcp. May not be same as previous if interface is a bridge, like br-lan
IDHCP="br-lan"
hostname=$(uci get system.@system[0].hostname)
case "$ACTION" in
change)
if [ "$BATTYPE" == "gw" ]; then
case "$BATACTION" in
add)
logger "Now has a gateway available. Will request dhcp."
udhcpc -i $IDHCP -h $hostname
;;
del)
logger "No more gateway available. Will go back to static ip."
ifdown $IMESH
ifup $IMESH
;;
change)
logger "New default gateway. Will request dhcp"
udhcpc -i $IDHCP -h $hostname
;;
esac
fi
;;
esac
next reply other threads:[~2012-07-19 1:18 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-19 1:18 Geneviève Bastien [this message]
2012-07-19 1:34 ` [B.A.T.M.A.N.] Internet gateway or not: dhcp or static ip? HeXiLeD
2012-07-19 1:35 ` Guido Iribarren
2012-07-19 13:57 ` Geneviève Bastien
2012-07-19 21:28 ` Guido Iribarren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50076056.4050907@versatic.net \
--to=gbastien@versatic.net \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox