deny link block

These are old archives. They are kept for historic purposes only.
Post Reply
pak
Posts: 17
Joined: Thu Mar 11, 2004 8:26 pm

deny link block

Post 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?
pak
Posts: 17
Joined: Thu Mar 11, 2004 8:26 pm

Post by pak »

is anyone able to help with this? we are still having difficulties implementing it
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post 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;
};
-- codemastr
pak
Posts: 17
Joined: Thu Mar 11, 2004 8:26 pm

Post 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
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post 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.
-- codemastr
pak
Posts: 17
Joined: Thu Mar 11, 2004 8:26 pm

Post 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.
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

I showed you a single deny link block, you have 2. That's not what I showed you.
-- codemastr
Klint
Posts: 10
Joined: Fri Mar 17, 2006 4:29 pm

Post 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?
Post Reply