Dual DNS/DHCP server addon for Netgear ReadyNAS

Posted by Michael on June 5th, 2011

The dualserver ReadyNAS addon is a packaged version of the dualserver project by Achal Dhir (released under the GPL2 license).

Over the past few days, I’ve built this addon as an exercise, and because I am actually using this server. I’m making the addon freely available here, but without any warranty whatsoever – consider yourself warned. This first version is simply an installer/deinstaller for the most recent dualserver version with basic status display, start/stop through the front end, and some commodity features thrown in.

Download the addon here: dualserver_6.83-T1

Target platform: ReadyNAS x86 only.

Addon Features:

  • Dualserver 6.81: DHCP Server DNS Server Open Source Freeware. Works as DHCP or DNS Server or both. Using both services adds DHCP allotted hosts automatically to DNS Server. Support Relay Agent, PXEBOOT, BOOTP, Zone Trasfer, DHCP Range Filters.
  • Out of the box, server will work as caching DNS server. Configure more complex scenarios by editing /etc/dualserver.ini and restarting the addon
  • If you use DHCP, connecting to http://your.nas.hostname:6789 will display the status of leases.
  • Logging: Dualserver logs into /var/log/dualserver.log and /var/log/dualserver.. Log files are rotated by logrotate

Dualserver features (from the dualserver README file):
PURPOSE

DHCP Server allots the IP addresses to local computers, while DNS server resolves
them.

You need DHCP Server if you do not want to manually maintain IP Addresses or
you have less IP Addresses than number of machines you have, as dynamic DHCP Server will
recycle IP Addresses on machines.

DNS Server is needed for resolving hostnames to their IP addresses. Normally your
ISP will provide you with DNS Service. You may have your own DNS Server, which will
resolve hostnames by forwarding them to ISP’s DNS Server and cache the addresses also.

If you have home/small office network with some Unix/Linux machines, these machines will
not be resolved from each other, as Unix/Linux machines do not support NBNS protocol
and you need your own DNS Server.

Now how about resolving your local machines ?. Your ISP’s DNS Server will not have
this list and your own DNS Server wont have this either. Most DNS Servers cannot do this.
(unless you configure dynamic updates, or use static IP addresses and manually enter them).

THIS SERVER RESOLVES DHCP ALLOTED LOCAL MACHINES AUTOMATICALLY, IN ADDITION TO EXTERNAL
HOSTS, WITH THE ADDED ADVANTAGE BEING, BOTH DHCP AND DNS SERVER ARE ALLWAYS IN SYNC.

You may also like to use this DNS Server as caching proxy over your IPS’s server for fast
response. You can disable DHCP Server, if you use static addresses or there is another
DHCP Server being used. Even if you have only one machine you can try it. Enable only
DNS Service, specify remote DNS Servers in ini file and set DNS Server of your machine
to itself. If you only have dialup, create loopback adaptor for testing.

ENHANCEMENTS in 6.83

1) DHCP Logging improved
2) Interface status detection in Linux fixed.
3) Shell script in Linux improved

ENHANCEMENTS in 6.81

1) DHCP Replication bug on address release fixed.
2) Program has been renamed as dualserverd, to resolve service command issues.

ENHANCEMENTS in 6.80

1) Minor Bux Fixes in DHCP Options

ENHANCEMENTS in 6.75

1) DHCP Bug on 64 bit systems fixed.

ENHANCEMENTS in 6.70

1) ANY type of DNS Query support added.
2) Bug about DHCP replicated operation fixed.

ENHANCEMENTS in 6.60

1) Can also work in 64 bit and Big Endian Systems.
2) Code Cleanup.
3) Automatically Detects and Redetects Listening Interfaces, as these change.

ENHANCEMENTS in 6.5

1) Bug about loading the hosts in DNS section fixed.
2) Options can be specified as byte array too.
3) Changes in Option Loading
4) Now supports 125 listening interfaces, 125 DHCP ranges and 125 forwarding servers
5) General Bug fixing in Zone Replication.

ENHANCEMENTS in 6.4

1) Logging Mechanism changed. Now there can be a daily new log file, Do achive this,
please include %Y for full year or %y for 2 digit year, %m for month, %d for day
of month. Log file will never be overwritten. Log file for DHCP should be archived
for finding out the Mac Address against an IP in future. You can also include just
%m and %Y if you want monthly log file like …/dualserver%Y%m.log
2) Multiple filters of each type can be specified in a range. If any filter matches,
it would be match.

ENHANCEMENTS in 6.3

1) Minor Bug Fixes

ENHANCEMENTS in 6.2

1) Vendor Class Filter has been added to filter DHCP-RANGE sections.
2) User Class Filter has been added to filter DHCP-RANGE sections.
3) Mac Range has been added to filter DHCP-RANGE sections.
4) DHCP Replication minor bug fixes.

ENHANCEMENTS in 6.0

1) Http Interface for lease status has been introduced.
2) DHCP Lease time can be different for any client or for entire DHCP Range.
3) Minor Bug Fixes in DHCP area.

ENHANCEMENTS in 5.2

1) DHCP Options can be specified on DHCP Range Basis also.
2) ClientID, if sent by Client, is returned with DHCP messages.

Bugs Fixed in 5.1

1) Zone Replication Bugs.

ENHANCEMENTS in 5.0

1) This release supports Zone Transfer and Replication.

BUGS Fixed in 4.1

1) BootP Support fixed.

ENHANCEMENTS in version 4.0

1) Multiple Ranges can be specified.
2) Different physical network can be served by this server using DCHP Relay Agent.
3) Single host can have multiple IPs and single IP can have multiple hosts.
4) Zone based DNS Query routing [DNS-PROXY] is introduced.
5) Logging added.
6) Multiple listening interfaces can be specified for multihome servers.

Other features

1) Requires little configuration and no need to create zone files.
2) Provides both DHCP and DNS Service, can also use one of them only.
3) Automatic built-in dynamic updates. DNS Server includes DHCP allotted names.
4) Unlimited no. of hosts and aliases can be specified.
5) No limit to cached external hosts.
6) Both global and client specific DHCP Options.
7) Network PXE Boot and BOOTP support.
8) Zone based DNS Query routing (DNS Proxing) to different DNS Servers.

Wordled: My talk at XP Day London

Posted by Michael on January 22nd, 2011

Here’s what I told the audience at XP Day London 2009 about how we use Scrum in Science, courtesy of transcribr.com and wordle.net:

Wordle: interesting people like scrum

Interesting, isn’t it? By grouping the most prevalent words from the presentation, we get “Interesting people like scrum”. But you knew that already, I’m almost certain.

Homebrew A/C

Posted by Michael on July 9th, 2010

Monday, our office’s air conditioning broke down, just in time for the summer heat wave. But nothing fazes our system administrators:

Homebrew cooling

Recycling packaging, used computer and rack fans has never been more attractive…

PS: I am not sure their office is much cooler than ours. But for sure, it is louder now.

How to benefit from Miles and More credit cards

Posted by Michael on May 25th, 2010

The Swiss Airlines Miles & More loyalty program offers several credit card bundles through a special website. The promise is that these cards allow you to collect frequent flyer miles and provide interesting bonuses to you. I got intrigued and thought: Let’s investigate a bit.

My interest was piqued as these cards have an interesting side effect: Miles do not expire anymore, provided you use one of the credit cards at least once a month. But is it really worth switching credit cards? The starter offer , called “classic” costs 120CHF annually. The next tier cards are Classic Plus at 180CHF, Gold at 300CHF and Platinum at 700CHF annually. With Classic Plus and Gold, you receive a flight voucher for the full annual membership – so your upfront cost is zero, provided you can use the voucher. With the Platinum card, you receive a voucher for 300CHF.

Cost and benefit:

Let’s approach this mathematically. First, we need to figure out some of the things that aren’t so clearly stated on the web site. While we know what the offer costs (120CHF/year or more), and how many miles you get (up to 1.25 miles/2CHF spent with the “classic” offer, up to 1.5/2 CHF, and up to 1 mile/CHF for Platinum), we don’t really know how much a mile is really worth. So, how much is a mile worth?

As it turns out, not all that much: €0.0073 on average, according to a Lufthansa publication from 2008 [source], that’s just about 1 Swiss centime. For the Swiss branch, I could not find comparable information, but took two samples instead: For goods on promotion in the Swiss Airlines store, I arrived at 0.0079CHF/mile. Looking at award air travel, I came to 0.0105CHF/miles (details). Sounds about right, so let’s take this last figure.

So, the math is simple. There are two things we need to compare: The cost of having these cards, and the benefit we’re receiving from them. If benefit minus cost is positive, we’re good. If not, we’re wasting good money.

Offer Annual cost Break-even Break-even

with flight voucher

Classic 120 16700 n/a
Classic Plus 180 25850 0
Gold 300 34125 0
Platinum 700 57719 29125

That means: At the very minimum, you have to spend 16700.00 CHF annually just to break even with the Classic offer. Upper tier cards look a little better, as the ValuePack allows you to reclaim the annual fee in flight vouchers from Swiss.

If you’re flying with Swiss on your personal account, the flight voucher option might make things interesting, at least for the classic plus and gold offers. Not so much for the Platinum card, but then, if you have a platinum card, you probably couldn’t care less.

Here’s a graph of what your bonus will be, given your annual spending and assuming none of it is in foreign currencies:

cc_1

Variable costs: In reality, things are more complicated! Miles and More credit cards charge a (rather steep) 2.5% service fee for all purchases effected in a currency other than CHF. This variable cost depends on the ratio (r) of foreign purchases contained in v, charged with a service charge (f) of 2.5%. If you’re like me, that ratio is rather high, as you use your credit card mostly abroad and other means of payment at home.

As the 2.5% service fee rapidly eat up your <1% bonus, you have to be careful not to purchase too much in foreign currencies. The limits are as follows:

Offer Maximal percentage foreign purchases
Classic 26.2%
Classic Plus 26.2%
Gold 31.5%
Platinum 42.0%

The amount of foreign purchases allowed depends on your annual volume, but in a non-intuitive way: For the ClassicPlus and Gold cards, the relation is opposite from the Classic and Platinum cards, as the latter always have an annual fee.

cc_2

Summary: Now, what should I do?

What I am NOT considering in this analysis are soft factors, such as the good feeling holding a platinum card, or the various hard-to-quantify benefits provided by the cards, such as the non-expiry of miles. The ValuePack also offers 5 stays in Swiss Airways lounges at a reduced price, but in my opinion, there are good alternatives to that. I have limited myself here to those benefits that are readily convertible into money.

All things considered, neither the Classic nor the Platinum cards look particularly attractive, as they have fixed, non-redeemable annual costs. The platinum card does accrue bonus miles faster, but that only gets interesting at annual volumes above 140000CHF, so this is definitely for persons with a larger purchase portfolio.

The recipe to make the most of your card then is to take the Gold set, pay as much as they let you with it in Switzerland, but spend the least possible amount in foreign currency. Finally, use the CHF300 voucher for a flight, or else you’re endangering your profits.

What did I learn from this myself? On average, my credit card bills have 51% of foreign currency purchases. With this ratio, none of the M&M cards is attractive for me. I will stick for the time being with my PostFinance MasterCard, which offers 0.5% bonus on all purchases, but only charges 0.9% on foreign currency transactions. On the other hand, I’ll have to be careful to not let my miles expire.

Talk back to me, I am interested in your opinion!

Appendix: Methods

Estimation of value of M&M miles:

Swiss Airlines promo on goods acquired with Miles: 1 mile = 0.0079 CHF. Currently, the Swiss Airlines online shop sells a Deuter backpack for 20′000 miles. The shop states the price of this backpack at CHF 179.-. That’s a little blown up, a price search shows this backpack to have a mean street price of CHF 158.70. Ergo: 1 mile = 0.0079 CHF

Award flight with Swiss: 1 mile = 0.0105CHF. Basis: Flight BSL<>LAX in Y costs 1259CHF excluding taxes and service fees (as priced by Swiss Airlines). The same flight could be obtained as an award using 2 * 60000 miles.

Calculation of break-even point without foreign currency purchases:

The variable we’re observing is the annual total volume of purchases (v).

Benefits: You receive an annual bonus (b) of e.g. 1000 miles for the classic option. You also make 1.25miles/2CHF spent (let’s call this fraction i for “toMiles”). We need to compare money with money, however, that’s where the factor o (for toMoney) comes in.

benefits = o (iv + b)

Fixed costs: The annual fee (c) is a fixed cost. There are variable costs, we come to that in a minute.

cost = c

Now, we can find out how much money we need to spend to break even:

o(iv + b) = c

or: v = c – ob / oi

Model including variable costs:

o (iv + b) = fpv + c

where f: service fee on foreign currency, p: ratio of foreign currency purchases

Maximal allowed ratio of foreign currency:

p = (oi +  (obc) / v ) / f

XP Days Germany

Posted by Michael on December 5th, 2009

I’m keeping this writeup definitely shorter than my  writeup of XP Days Benelux. In Karlsruhe, we presented the Science Scrum talk again, that Joseph and I had submitted together. Slides from the talk are here and a podcast was recorded and should become available on the organizer’s site soon.

It definitely was a challenge to boil what was conceived as a 1-hour talk down to a 30-minute time slot, and while we ran slightly out of time in the end, I think we managed to get the core ideas across.   A good idea I  picked up from Ralph Miarka to optimize your talk: Draw up a Venn diagram of “What I want to say about the topic” and “The audience’s needs and interests” … and then talk about the intersection. How true!

We received good feedback for the session, and I hope we will have an even better and crisper version at the XP Day in London this coming Monday, December 7 2009.

In contrast to the Benelux conference, this one had many more structured, frontal, sessions and less collaborative and interactive sessions. The presentations were top-notch for the most part, but having been spoiled by the immersive experience at XP Days Benelux, I felt a certain community feeling lacking – until the last day, that is. The last day was entirely devoted to World Café and Open Space.

What else was new? I finally saw some Pecha Kucha first-hand, and I am not fully convinced of the format yet. It is very easy to go for eye-catcher slides without really aligning them with the message. The format also seems to trigger a lot of buzzword-fetishism, at least in the sessions that I saw. Still, it is entertaining, and if I remember well that Pecha Kucha means “pitter-patter, chit-chat” in Japanese, then I suspect that entertainment is its prime purpose. There was also a really interesting session about Kanban and Lean on the OpenSpace that triggered a few thoughts in my head that still need a bit more processing.

A personal look back on XP Days Benelux 2009

Posted by Michael on November 29th, 2009

This year, I attended XP Days Benelux for the first time, and I want to share some of the insights and impressions I got from this event. To tell the truth, I have not been at any XP Days-Events before, and my mind was blown away. This was not what I expected. It was much, much better.

Session Kanban cards at XP Days Benelux 2009

Session Kanban cards at XP Days Benelux 2009

I have attended a fair share of (scientific) conferences, and in my experience, the interesting things always happen in the coffee breaks, or in the poster sessions. Lectures are somewhat stiff, usually scientists talk about work they’ve already published, and it is very rare to hear any truly new insights. Finally, questions after the session are often pro-forma, and rarely lead into deep discussions due to lack of time. Don’t misunderstand me – conferences are important places to meet, but the official program often isn’t too captivating. Go into a lecture hall and watch from the back what all these people with laptops are doing – working, skyping, coding, writing email… but I am getting off track, I think.

At XP Days Benelux, this was all different. People come to share and to interact. From the start with an icebreaker session each morning (and I was still thinking “oh no! psycho-touchy-feely stuff!”…), people started networking, and I have met a lot of interesting people and have had interesting conversations with many, inside sessions and in the coffee breaks. It was a very enjoyable experiences, rounded off with the games night in the bar, where werewolves and belgian beer were the driving forces.

Xavier Quesada and Laurent Morisseau held a session on Visual Management for Agile Teams. Here, we built scrum task boards in groups and discussed the many different ways you can actually do that and what it means for the team and the managers.
The Retrospective Hero session by Nicole Belilos and Willem van den Ende used a role-play simulation that challenged two coaches (and they did warn the audience – don’t be a coach unless you’re experienced) to manage a crisis and lead the team through learning lessons from it. It was scary how well people slid into their roles! One big lesson: In a crisis, try to let the team voice their emotions first, as they will come out anyhow. But (a big but!) do it without going too much into the touchy feely direction.

The action continued into the night with a BoF by Pierluigi Pugliese on his solution focused approach to agile coaching. Another BoF was run by Serge Beaumont on practical tools, like the Ready state and Jeff Patton’s Story Mapping for the Product Owner. Both BoFs have noticeably created a lot of buzz in the community and it seems clear that Pierluigi and Serge have hit a nerve with what they presented. Moreover, I think that there are a number of points that connect the two talks.

In the Solve Conflicts Without Compromise session, which was run by Pascal Van Cauwenberghe and Jef Cumps, the session leaders tried to introduce a model that allows you to (I am simplifying here) figure out in 6 steps that two conflicting goals can – at least very often – be lifted onto a higher level, where all of a sudden their underlying goals are compatible, and it is just a question of carefully assessing all the assumptions that were made concerning the goals. An interesting approach, but at least in the session, none of the (real life) conflicts were really resolved. Then again, solving conflicts in 90′ is a big feat to aim for, if you are doing it for the first time, even more so.

Eating own dogfood: Agile methods to set up conference desk

Eating your own dogfood: Using Agile methods to set up conference desk

Finally, Portia Tung introduced us to the retelling of the Wizard of Oz fairytale, and how you can use the yellow brick road as a path in peer coaching. I found this session amazing, since we were in turn describing our problems, coaching others in addressing their problem, or observing the coach-coachee interaction.

But, as I said in the opening paragraphs, the sessions are excellent but aren’t really what makes this gathering great. It is the very open spirit, a genius loci (there really isn’t much more to do around the conference center either), which makes the participants try to learn from each other rather than try to get the daily office work done on their laptop during the sessions. Oops, there I am back with my initial rant – so I better stop right

Speaker @ XP Days Germany

Posted by Michael on October 18th, 2009

Ich werde an den XP Days Germany zusammen mit Joseph Pelrine (@josephpelrine) eine 30′-Version unseres Erfahrungsberichts mit Scrum im Management einer Uni-Forschungsgruppe präsentieren. Der Vortrag ist auf Deutsch (was mir nicht schwerfallen sollte, aber dennoch ungewohnt ist), im Gegensatz zu der Session, die wir ein paar Tage vorher an den XP Days Benelux halten werden.

Besonderes Augenmerk werde ich auf die Einsichten legen, wie Scrum funktioniert, wenn man nicht etablierte Praktiken aus der Software Entwicklung zugrunde legen kann, da es gar nicht (primär) um Software-Entwicklung geht.

Ich werde also einige der Themen ansprechen, die ich hier im Blog angerissen habe.

Das Abstract des Vortrags findet sich übrigens hier.

Ich freue mich bereits, nach Karlsruhe zu kommen, und mir die Keynote von Alistair Coburn und das Tutorial von Ralph Miarka anzuhören, die vielen Sessions mit spannenden Titeln und Abstracts, das Pecha Kucha, den Community Day, und und und…

See you in Karlsruhe!

Science Scrum: Can I speak to the manager, please?

Posted by Michael on September 22nd, 2009

In this article, we take a look at the roles of management and product ownership in university research.

There was recently not so long ago a discussion at InfoQ, triggered by an opinion piece by Amr Elssamadisy. Michael Hedgpeth suggests that the bad reputation Scrum attributes to “classical” management may backfire in corporate cultures run by people who believe in traditional management. This made me wonder about the management culture and styles that we can observe in academia.

In brief, the argument goes that developers like Scrum, because notions like “chickens and pigs” put the pointy-haired bosses in their place, and give all the power to the team, but that it is this rebellious notion that makes Scrum unpopular with management.

In university, I have observed the complete opposite: It’s not the managers who are uncomfortable with Scrum, but rather the scientists and developers, who feel that their personal liberty is at stake — slightly causticly defined as: “I come in to the office in the morning, and do what I feel like, without feeling committed, and hopefully, great things will result”.

The management hierarchy in university research groups is rather flat, with a PI (principal investigator, group leader), usually a professor, on top and in charge of the project overall plan and finances, and a group of post-doctoral fellows, grad students and undergrads, as well as technicians or programmers, working on subprojects within the overall plan of things.

Apart from this, there is no explicit hierarchy, at least in the majority of groups that I have seen. Still, there is of course implicit hierarchy, based on seniority and in the best cases, on experience and merit, after all, the university is the one place that should reward learning and experience.

As we started implementing Scrum in research groups, we wondered what the best way to distribute the Scrum roles is. The answer, of course, is “it depends on the circumstances”. Still, here’s my current best thinking on this item:

The first question is who owns the project, especially if you are avoiding solo scrum by running a sprint with many several subprojects, as  I described in a previous article. Is the individual scientist the Product Owner? After all, she’s the “single wringable neck”, the one person ultimately responsible for the work being done correctly and timely.

On the other hand, an individual scientist, in particular at the graduate student level, often lacks the seasoned view of the veteran and isn’t able to perceive what avenues are promising, lacking the experience of long years of trial by fire. Here, the group head can contribute his or her experience, and the big picture view of the research subject that results from having been there, done that, and written a couple of reviews about it, as well.

So, we decided that the PI, or group head, should be the product owner in a science scrum project. Not an autocratic PO, but rather someone who listens to valuable input from his constituency, the grad students and post-docs, who might lack the big picture view, but who offer valuable input “from the trenches” nevertheless. The group head must take their input seriously (which should be de rigeur in any scientific endeavor, it goes without saying) but is in charge of planning and keeping the product backlog up-to-date, regardless of whether you’re producing software or writing papers as the end result.

(No funny lead picture about restaurant complaints this time … but a comic. Thanks for staying until the end.)

Reblog this post [with Zemanta]

Confirmed Speaker at XP Days Benelux

Posted by Michael on September 15th, 2009

I will be attending XP Days Benelux this year. Joseph Pelrine and I have proposed a session called “Science Scrum: Managing a Research Group the Agile Way”, which will be opening the conference proper right after the plenary. We’ll speak about some of the things I have covered (and have been meaning to cover) here in this blog and much more.

I am very excited and look forward to being there and participating in the action! Drop me a line if you are going, too, and want to meet up.

Reblog this post [with Zemanta]

A quick, simple and tasty recipe (if you like liver). Based on an article in La Cucina Italiana.

For 2 Persons:

250 onion, chopped sideways into fine strips
250 veal liver, cut into small pieces
30g butter
Extravirgin olive oil
2 sage leaves
handful of parsley, finely chopped
1 glass dry white wine
salt, pepper

Preparation:

On medium heat, melt 30g of butter and olive oil in pan. Add chopped onion and sage leaves and cook covered for 10 minutes until soft, golden and sweet. Add liver and keep stirring until liver isn’t raw on outside anymore. Add glass of wine, cover and let cook for 3 minutes at medium heat again. Remove cover, add parsley, and let liquid evaporate. Pepper and salt lightly before serving.

Goes well with a white risotto or polenta.