Page 1 of 1

deny link block

Posted: Mon Nov 22, 2004 12:55 pm
by pak
We run a network with 3 hubs...

Code: Select all

equilibrium.hub.eu.zirc.org
|-ferret.uk.eu.zirc.org
|-rakuen.de.eu.zirc.org
`-entropy.hub.us.zirc.org
  |-avalon.hub.ca.zirc.org
  |-snowball.mo.us.zirc.org
  |-mistral.il.us.zirc.org
  |-defiant.ny.us.zirc.org
  |-bones.wa.us.zirc.org
  `-deliverance.ca.us.zirc.org
All us client servers autoconnect to entropy, and all eu ones to equilibrium. On occasion one of the hubs, say equilibrium will die...this forces us to manually connect the client eu servers to entropy. When equilibrium returns, it is caught by the autoconnect of the client eu hubs, so that a client server is hubbing the hubs.

We were attempting to use the deny link block to prevent this from happening, we would just want it to connect back to entropy or avalon. On a test network we set up two hubs and one client hub (the map below showing the situation we want to avoid)

Code: Select all

snowball2.mo.us.zirc.org
|-snowballhub.hub.us.zirc.org
`-ferrethub.hub.eu.zirc.org
Initially we used the following denylink block on snowball2 (the client server):

Code: Select all

deny link {
	mask *.hub.??.zirc.org;
	rule directcon(*.hub.??.zirc.org);
	type auto;
};
This however did not work

We expanded it to this...

Code: Select all

deny link {
	mask *;
	rule directcon(*);
	type auto;
};
and still when we split ferret.hub away, it reconnected using auto connect. (I should say that only snowball had autoconnects in the link blocks)

Finally we put the very broad deny link block on both snowball2 and ferrethub and /squit ferrethub...again it returned.

Are we misunderstanding the use of this block? Does anyone else use it successfully? and if so can they suggest where we are going wrong?

Posted: Wed Dec 01, 2004 9:04 pm
by pak
is anyone able to help with this? we are still having difficulties implementing it

Posted: Wed Dec 01, 2004 9:10 pm
by codemastr
I usually do all the configuration on the leafs, not the hubs. That way it simplifies things. You don't have to have all that ?? stuff. You just do:

deny link {
mask "hub2.blah.com";
rule "connected(hub1.blah.com)";
type auto;
};

Posted: Thu Dec 02, 2004 11:13 am
by pak
We have had another bout of testing, using the same map as above we had this to start off with...

snowball2.mo.us.zirc.org
|-ferrethub.hub.eu.zirc.org
`-snowballhub.hub.us.zirc.org

We entered the following deny link blocks to snowball2.mo.us.zirc.org:

Code: Select all

deny link {
mask "ferrethub.hub.eu.zirc.org";
rule "connected(snowballhub.hub.us.zirc.org)";
type auto;
};
deny link {
mask "snowballhub.hub.us.zirc.org";
rule "connected(ferrethub.hub.eu.zirc.org)";
type auto;
};
the autoconnect option was only on snowball2.mo.us.zirc.org.

/stats d and stats c confirmed this after a rehash

We squit ferrethub.hub.eu.zirc.org....It returned after a minute (by use of the autoconnect on snowball2, something that i understand should be denied by the deny link block

We altered the deny link blocks on snowball2.mo.us.zirc.org to the following and rehashed again, it was confirmed by a /stats D:

Code: Select all

deny link {
mask "ferrethub.hub.eu.zirc.org";
rule "connected(snowballhub.hub.us.zirc.org)";
type all;
};
deny link {
mask "snowballhub.hub.us.zirc.org";
rule "connected(ferrethub.hub.eu.zirc.org)";
type all;
};
This time the autoconnects did not function after ferrethub was squit and when i attempted to /connect ferret to snowball2 it failed as would be expected. Also as expected it was able to be /connected to snowballhub.

Can anyone replicate this problem/bug? We are using 3.2.2, no extra modules except commands and cloak

Posted: Thu Dec 02, 2004 9:18 pm
by codemastr
What you are experiencing is NOT a problem, you're just using the system wrong. Rather than continue asking "can anyone help?" Why don't you do what I told you to do? My way works, I've done it many times.

Posted: Thu Dec 02, 2004 9:24 pm
by pak
if you read what I put, I did do it your way

in this case:

hub2.blah.com is known as snowballhub.hub.us.zirc.org
hub1.blah.com is known as ferrethub.hub.eu.zirc.org.

I implemented your suggested configuration with the alterations to server names for obvious reasons. The deny link blocks were placed on the leaves as you suggested

The system works when we use type all however it does not work with type auto.

Posted: Thu Dec 02, 2004 10:30 pm
by codemastr
I showed you a single deny link block, you have 2. That's not what I showed you.

Posted: Fri Mar 17, 2006 5:15 pm
by Klint
codemastr wrote:I usually do all the configuration on the leafs, not the hubs. That way it simplifies things. You don't have to have all that ?? stuff. You just do:

deny link {
mask "hub2.blah.com";
rule "connected(hub1.blah.com)";
type auto;
};
So if HUB1.blah.com goes down and I want it to connect to Hub3 what would I do?