Stisknutím tlačítka "Enter" přeskočíte na obsah

BGP a NSX GW firewall

U jednoho zákazníka jsem řešil malý problém na NSX gateway firewallu.

Zamýšlená situace:

  • Routing s BGP již funguje
  • Nastavit Policy, která bude povolovat ICMP (prvotní test)
  • Nastavit poslední Default policy na DROP.

Dle předpokladu by to mělo všechno fungovat, ale opak byl pravdou.

Když jsme nastavili poslední pravidlo na ALLOW a to ICMP pravidlo pouze na Log, tak bylo vidět, že to do toho ICMP pravidla spadlo. Jakmile jsme nastavili na DROP, tak to taky zapsalo do Logu, ale ICMP neprošel.

Udělali jsme tedy Traceflow paketu, který měl jít z VM, která byla uvnitř na IP adresu v externí síti.

Problém byl vidět jako „Interface drop“, nikoli jako Rule DROP

A v tu chvíli mě to napadlo! Podívat se do routovací tabulky.

Pokud bylo poslední pravidlo ALLOW, tak viděl a správně se učil routy dovnitř i ven. Pokud ale bylo poslední pravidlo DROP, tak se to neučilo routy z BGP.

NOTE: BGP protokol běží jako IP služba na portu 179. Pokud tedy na GW firewallu nastavíme poslední pravidlo na DROP, ale nebudeme mít vytvořené extra pravidlo pro BGP, tak nám přestane fungovat routing. Nikoli FW.

Proto je potřeba ještě nastavit explicitní pravidlo pro BGP, které bude klidně jako předposlední, ale musí tam být.  BGP protokol nemá automatické FW pravidlo, nebo jako Systémové pravidlo. Prostě si jej musíte vytvořit sami. V NSX neexistuje přímo služba BGP, takže si ji musíte vytvořit – Destination port 179.

Tak snad to někomu pomůže pro příště.