LISTSERV mailing list manager LISTSERV 16.0

Help for MICE-DISCUSS Archives


MICE-DISCUSS Archives

MICE-DISCUSS Archives


MICE-DISCUSS@LISTS.IPHOUSE.NET


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

MICE-DISCUSS Home

MICE-DISCUSS Home

MICE-DISCUSS  March 2022

MICE-DISCUSS March 2022

Subject:

Re: icmp v6 nd storm ~ 00:58:01 2022/03/18 GMT?

From:

Richard Laager <[log in to unmask]>

Reply-To:

MICE Discuss <[log in to unmask]>

Date:

Thu, 24 Mar 2022 15:58:34 -0500

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (129 lines)

On 3/17/22 21:09, Richard Laager wrote:
> I will provide a more detailed explanation of my mistakes later.

The existing servers are _only_ route servers. The new servers will be 
virtualization hosts running multiple VMs. The route servers will be 
running on there, but so will other things: IXP Manager, something to 
answer ARP for the blackholing we want to setup, Cacti will be brought 
in house, etc.

Therefore, the host has bridging configured.

We are tentatively planning to setup a quarantine VLAN as some other 
exchanges have done. This would also have quarantine route servers on 
it, which would behave normally except they would not advertise any 
routes out. This quarantine VLAN obviously needs to exist on the 
exchange switches because participant ports would be put into it.

Because there will be multiple VLANs, the plan was to use VLAN tagging 
between the Arista and the new physical servers.

The MICE VLAN is setup as VLAN 1. Before you say it... I don't think 
anyone likes that. Jeremy and I are of the opinion that this should 
change at some point in the future, but it doesn't seem worth doing 
until we are taking down the fabric anyway (e.g. a reboot of the Arista).

In light of all that, our plan was (and in hindsight, I believe this to 
be mistake #1) to configure the main MICE VLAN as untagged, with the 
idea of adding the quarantine VLAN as tagged in the future.

Cameron and I felt it was important to confirm the network was working 
to the MICE fabric before leaving Minneapolis, since we both live so far 
away. In hindsight, this was a good idea; had I made the same 
configuration mistake while working remote, it would have been slower to 
fix (at a minimum).

The new systems are running Ubuntu 22.04 LTS which is increasingly 
frozen by the day [1] and will have a final release on April 21. So by 
the time we get everything configured, it will likely be released. This 
avoids us installing 20.04 LTS now and then wanting an upgrade immediately.

Ubuntu (whether 22.04 LTS, or even 20.04 LTS) uses netplan to configure 
network interfaces. netplan uses an exclusively [2] declarative 
configuration model (unlike ifupdown, which is mostly declarative but 
some things can only be done with imperative commands). I'm actually a 
fan of netplan; it has made network configuration quite a bit nicer than 
ifupdown for me.

I was not sure how to configure an untagged VLAN in netplan. I reviewed 
the documentation and was still unsure. I saw that the vlan "id" 
parameter was documented [3] as accepting a value of 0-4094. I figured 
I'd try 0 to see if that meant untagged.

That did not work. I did a packet capture and found that 0 meant an 
explicit tag of 0. Having no more ideas, I gave up and removed the VLAN 
configuration, going back to just a straight interface. I figured I'd 
look at it more later.

One of the big advantages of netplan is that it is (supposed to be) 
idempotent. That is, you configure it the way you want, run `netplan 
apply` and it makes it so. You don't (usually) need to explicitly manage 
the transition from the old state to the new state.

Unfortunately, that is not true for bridging and/or VLANs, at least in 
some cases. In hindsight, for bridging, that largely makes sense. After 
all, you wouldn't want a `netplan apply` to remove the VMs host-side 
interfaces from the bridge group(s).

But for VLANs, it seems like this is probably just something nobody 
implemented, as opposed to being desirable in theory. This was mistake 
#2 and the immediate cause of the loop. I ended up with a bridge 
interface that consisted of the physical interface (facing the MICE 
switch) and a VLAN interface (with an ID of 0) on that same physical 
interface. So as traffic came in, it was bridged back out the same 
physical interface, this time with an explicit VLAN 0 tag.

Based on the fact that the explicit 0 tag didn't pass traffic normally 
in the first place, I don't think I was necessarily looping traffic at 
layer 3. But broadcast traffic would have been looped back to the 
switch, with the source MAC staying the same. This would obviously mess 
up the switch's MAC table. I believe that was the immediate cause of the 
issue.

I noticed that things were not behaving quite right (some packet loss). 
I started a packet capture. When that was very quickly 5 GB rather than 
some tiny amount, I knew I had made a serious error that likely created 
a loop. I reflexively confirmed this with a "brctl show bridge", issued 
a reboot (because why not), and immediate jumped up and unplugged the 
cables from the back of the servers.

When the systems came back up, I confirmed the network configuration was 
now correct and reconnected the cables.

Because the server was expected to have multiple VMs on it, we could not 
use `port-security maximum 1`. As a result, port-security was not 
configured. Jeremy and I never had an explicit conversation about this, 
which was certainly another mistake. Had port-security been enabled, 
this loo would have been arrested much faster.

Additionally, while I mentioned the upcoming work at the UG meeting, not 
announcing it on MICE-DISCUSS was a mistake. I know we talked about this 
before. I just forgot to do it.

On 3/17/22 21:53, Richard Laager wrote:
> Out of an abundance of caution, he is shutting down the ports facing the 
> new servers, cutting them (the thing we changed today) off completely.

The ports have been re-enabled.

The ports are now configured with the MICE VLAN _tagged_, which plays 
well with Linux & netplan.

The ports have `port-security maximum 6` configured. This gives us 
enough headroom to support two route servers (in the event of a hardware 
failure where both have to run on the same physical box temporarily), 
two quarantine route servers (same note), the ARP responder, and the 
host's MAC address (if it shows up somehow).


[1] https://discourse.ubuntu.com/t/jammy-jellyfish-release-schedule/23906

[2] Backends, like networkd, can and do implement imperative hooks. But 
netplan itself is only declarative. And Ubuntu is adding, in multiple 
cases at my direct suggestion, additional declarative parameters to 
eliminate the need for hook scripts in many scenarios.

[3] https://netplan.io/reference/#properties-for-device-type-vlans%3A

-- 
Richard

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010

ATOM RSS1 RSS2



LISTS.IPHOUSE.NET

CataList Email List Search Powered by the LISTSERV Email List Manager