{"id":81593,"date":"2020-05-15T01:42:36","date_gmt":"2020-05-14T23:42:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2"},"modified":"2020-05-15T01:42:36","modified_gmt":"2020-05-14T23:42:36","slug":"tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2","title":{"rendered":"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2\" src=\"\/wp-content\/uploads\/2020\/05\/d03a56702a85f4c8c80a6cac3e489980.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNed\u00e1vno jsem se setkal s pon\u011bkud nestandardn\u00edm \u00fakolem nastaven\u00ed routov\u00e1n\u00ed pro MetalLB. Nic by to nebylo, proto\u017ee obvykle pro MetalLB nen\u00ed pot\u0159eba \u017e\u00e1dn\u00fdch dal\u0161\u00edch akc\u00ed, ale v na\u0161em p\u0159\u00edpad\u011b m\u00e1me dost velk\u00fd klastr s pom\u011brn\u011b jednoduchou konfigurac\u00ed s\u00edt\u011b.<\/p>\n<p><\/p>\n<p>V tomto \u010dl\u00e1nku v\u00e1m uk\u00e1\u017eu, jak nastavit routov\u00e1n\u00ed na z\u00e1klad\u011b zdroje a z\u00e1sady pro extern\u00ed s\u00ed\u0165 va\u0161eho klastru.<\/p>\n<p><\/p>\n<p>Nebudu se detailn\u011b zab\u00fdvat instalac\u00ed a nastaven\u00edm MetalLB, proto\u017ee p\u0159edpokl\u00e1d\u00e1m, \u017ee ji\u017e m\u00e1te n\u011bjak\u00e9 zku\u0161enosti. Navrhuji p\u0159ej\u00edt rovnou k v\u011bci, a to k nastaven\u00ed routov\u00e1n\u00ed. M\u00e1me \u010dty\u0159i p\u0159\u00edpady:<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1 id=\"sluchay-1-kogda-nastroyka-ne-trebuetsya\">P\u0159\u00edpad 1: Kdy\u017e nastaven\u00ed nen\u00ed pot\u0159eba<\/h1>\n<p><\/p>\n<p>Pod\u00edv\u00e1me se na jednoduch\u00fd p\u0159\u00edpad.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2\" src=\"\/wp-content\/uploads\/2020\/05\/f79cc1169741b899c95e76d5d4cf60fc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dal\u0161\u00ed nastaven\u00ed routov\u00e1n\u00ed nen\u00ed pot\u0159eba, kdy\u017e adresy vyd\u00e1van\u00e9 MetalLB jsou ve stejn\u00e9 pods\u00edti jako adresy va\u0161ich uzl\u016f.<\/p>\n<p><\/p>\n<p>Nap\u0159\u00edklad m\u00e1te pods\u00ed\u0165 <code>192.168.1.0\/24<\/code>, v n\u00ed\u017e je sm\u011brova\u010d <code>192.168.1.1<\/code>, a va\u0161e uzly z\u00edsk\u00e1vaj\u00ed adresy: <code>192.168.1.10-30<\/code>, pak pro MetalLB m\u016f\u017eete nastavit rozsah <code>192.168.1.100-120<\/code> a b\u00fdt si jisti, \u017ee budou fungovat bez jak\u00e9hokoli dal\u0161\u00edho nastaven\u00ed.<\/p>\n<p><\/p>\n<p>Pro\u010d tomu tak je? Proto\u017ee va\u0161e uzly ji\u017e maj\u00ed nastaven\u00e9 trasy:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># ip route\ndefault via 192.168.1.1 dev eth0 onlink \n192.168.1.0\/24 dev eth0 proto kernel scope link src 192.168.1.10<\/code><\/pre>\n<p><\/p>\n<p>A adresy ze stejn\u00e9ho rozsahu je budou znovu pou\u017e\u00edvat bez jak\u00fdchkoli dal\u0161\u00edch krok\u016f.<\/p>\n<p><\/p>\n<h1 id=\"sluchay-2-kogda-trebuetsya-dopolnitelnaya-nastroyka\">P\u0159\u00edpad 2: Kdy\u017e je pot\u0159eba dal\u0161\u00ed nastaven\u00ed<\/h1>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2\" src=\"\/wp-content\/uploads\/2020\/05\/02392fbc3c16bdf52f0c5ddaf5688e7d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>M\u011bli byste nastavit dal\u0161\u00ed trasy v\u017edy, kdy\u017e va\u0161e uzly nemaj\u00ed nastaveno <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/lir\/ipv4\/\"   title=\"IP adres\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"666\">IP adres<\/a> nebo trasu do pods\u00edt\u011b, pro kterou MetalLB vyd\u00e1v\u00e1 adresy.<\/p>\n<p><\/p>\n<p>Vysv\u011btl\u00edm to podrobn\u011bji. Kdykoli MetalLB vyd\u00e1 adresu, d\u00e1 se to p\u0159irovnat k jednoduch\u00e9mu p\u0159i\u0159azen\u00ed typu:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">ip addr add 10.9.8.7\/32 dev lo<\/code><\/pre>\n<p><\/p>\n<p>V\u0161imn\u011bte si:<\/p>\n<p><\/p>\n<ul>\n<li><strong>a)<\/strong> Adresa je p\u0159i\u0159azena s prefixem <code>\/32<\/code> to znamen\u00e1, \u017ee do n\u00ed nebude automaticky p\u0159id\u00e1n \u017e\u00e1dn\u00fd routovac\u00ed z\u00e1znam (to je prost\u011b adresa)<\/li>\n<li><strong>b)<\/strong> Adresa je nastavena na jak\u00e9koli rozhran\u00ed uzlu (nap\u0159\u00edklad na loopback). Je t\u0159eba zm\u00ednit zvl\u00e1\u0161tnosti s\u00ed\u0165ov\u00e9ho z\u00e1sobn\u00edku Linuxu. Nez\u00e1le\u017e\u00ed na tom, na kter\u00e9 rozhran\u00ed adresu p\u0159id\u00e1te, j\u00e1dro v\u017edy zpracov\u00e1v\u00e1 arp dotazy a odes\u00edl\u00e1 arp odpov\u011bdi na jak\u00e9koli z nich, toto chov\u00e1n\u00ed je pova\u017eov\u00e1no za spr\u00e1vn\u00e9 a nav\u00edc se v dynamick\u00e9m prost\u0159ed\u00ed, jak\u00fdm je Kubernetes, pou\u017e\u00edv\u00e1 dost \u0161iroce.<\/li>\n<\/ul>\n<p><\/p>\n<p>Toto chov\u00e1n\u00ed lze nastavit, nap\u0159\u00edklad povolen\u00edm strict arp:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">echo 1 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/arp_ignore\necho 2 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/arp_announce<\/code><\/pre>\n<p><\/p>\n<p>V tomto p\u0159\u00edpad\u011b budou arp-odpov\u011bdi odes\u00edl\u00e1ny pouze v p\u0159\u00edpad\u011b, \u017ee rozhran\u00ed v\u00fdslovn\u011b obsahuje konkr\u00e9tn\u00ed IP adresu. Toto nastaven\u00ed je povinn\u00e9, pokud pl\u00e1nujete pou\u017e\u00edvat MetalLB a v\u00e1\u0161 kube-proxy pracuje v re\u017eimu IPVS.<\/p>\n<p><\/p>\n<p>MetalLB v\u0161ak pro zpracov\u00e1n\u00ed arp-dotaz\u016f nepou\u017e\u00edv\u00e1 j\u00e1dro, ale d\u011bl\u00e1 to samostatn\u011b v u\u017eivatelsk\u00e9m prostoru, tak\u017ee tato volba nebude m\u00edt vliv na pr\u00e1ci MetalLB.<\/p>\n<p><\/p>\n<p>Vra\u0165me se k na\u0161emu \u00fakolu. Pokud neexistuje trasa pro p\u0159id\u011blovan\u00e9 adresy na va\u0161ich uzlech, p\u0159idejte ji p\u0159edem na v\u0161echny uzly:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">ip route add 10.9.8.0\/24 dev eth1<\/code><\/pre>\n<p><\/p>\n<h1 id=\"sluchay-3-kogda-ponadobitsya-source-based-routing\">P\u0159\u00edpad 3: Kdy bude pot\u0159eba routov\u00e1n\u00ed zalo\u017een\u00e9 na zdroji<\/h1>\n<p><\/p>\n<p>Routov\u00e1n\u00ed zalo\u017een\u00e9 na zdroji budete pot\u0159ebovat nastavit tehdy, kdy\u017e p\u0159ij\u00edm\u00e1te pakety p\u0159es samostatnou br\u00e1nu, kter\u00e1 nen\u00ed ta, kter\u00e1 je nastavena jako v\u00fdchoz\u00ed, a podle toho mus\u00ed odpov\u011bdn\u00ed pakety tak\u00e9 j\u00edt p\u0159es tuto br\u00e1nu.<\/p>\n<p><\/p>\n<p>Nap\u0159\u00edklad m\u00e1te st\u00e1le tu samou pods\u00ed\u0165 <code>192.168.1.0\/24<\/code> vy\u010dlen\u011bnou pro va\u0161e uzly, ale chcete p\u0159id\u011blovat extern\u00ed adresy pomoc\u00ed MetalLB. P\u0159edpokl\u00e1dejme, \u017ee m\u00e1te n\u011bkolik adres z pods\u00edt\u011b <code>1.2.3.0\/24<\/code> um\u00edst\u011bn\u00fdch ve VLAN 100 a chcete je pou\u017e\u00edvat pro p\u0159\u00edstup ke Kubernetes slu\u017eb\u00e1m zven\u010d\u00ed.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2\" src=\"\/wp-content\/uploads\/2020\/05\/9360f35c4bfae25b12fc5aab2644b775.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u0159i p\u0159\u00edstupu na <code>1.2.3.4<\/code> budete prov\u00e1d\u011bt dotazy z jin\u00e9 pods\u00edt\u011b ne\u017e <code>1.2.3.0\/24<\/code> a o\u010dek\u00e1vat odpov\u011b\u010f. Uzlu, kter\u00fd je v tuto chv\u00edli mistrem pro p\u0159id\u011blenou adresu MetalLB <code>1.2.3.4<\/code>, obdr\u017e\u00ed paket od sm\u011brova\u010de <code>1.2.3.1<\/code>, ale odpov\u011b\u010f na n\u011bj mus\u00ed nutn\u011b odej\u00edt stejnou cestou, p\u0159es <code>1.2.3.1<\/code>.<\/p>\n<p><\/p>\n<p>Jeliko\u017e n\u00e1\u0161 uzel ji\u017e m\u00e1 nastaven\u00fd default gateway <code>192.168.1.1<\/code>, pak odpov\u011b\u010f p\u016fjde v\u00fdchoz\u00edm sm\u011brem, tedy k n\u011bmu, a ne k <code>1.2.3.1<\/code>, p\u0159es kter\u00fd jsme obdr\u017eeli paket.<\/p>\n<p><\/p>\n<p>Jak se s touto situac\u00ed vyrovnat?<\/p>\n<p><\/p>\n<p>V tomto p\u0159\u00edpad\u011b je t\u0159eba p\u0159ipravit v\u0161echny va\u0161e uzly tak, aby byly schopny obsluhovat extern\u00ed adresy bez dal\u0161\u00edho nastaven\u00ed. To znamen\u00e1, \u017ee pro v\u00fd\u0161e uveden\u00fd p\u0159\u00edklad pot\u0159ebujete p\u0159edem vytvo\u0159it VLAN rozhran\u00ed na uzlu:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">ip link add link eth0 name eth0.100 type vlan id 100\nip link set eth0.100 up<\/code><\/pre>\n<p><\/p>\n<p>A pak p\u0159idat trasy:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">ip route add 1.2.3.0\/24 dev eth0.100 table 100\nip route add default via 1.2.3.1 table 100<\/code><\/pre>\n<p><\/p>\n<p>V\u0161imn\u011bte si, \u017ee trasy p\u0159id\u00e1v\u00e1me do samostatn\u00e9 tabulky routov\u00e1n\u00ed <code>100<\/code> bude obsahovat pouze dv\u011b trasy pot\u0159ebn\u00e9 pro odes\u00edl\u00e1n\u00ed odpov\u011bdn\u00edho paketu p\u0159es br\u00e1nu <code>1.2.3.1<\/code>, kter\u00e1 se nach\u00e1z\u00ed za rozhran\u00edm <code>eth0.100<\/code>.<\/p>\n<p><\/p>\n<p>Nyn\u00ed je pot\u0159eba p\u0159idat jednoduch\u00e9 pravidlo:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">ip rule add from 1.2.3.0\/24 lookup 100<\/code><\/pre>\n<p><\/p>\n<p>kter\u00e9 v\u00fdslovn\u011b \u0159\u00edk\u00e1: pokud je zdrojov\u00e1 adresa paketu v <code>1.2.3.0\/24<\/code>, pak je t\u0159eba pou\u017e\u00edt tabulku routov\u00e1n\u00ed <code>100<\/code>. V n\u00ed u\u017e m\u00e1me pops\u00e1nu trasu, kter\u00e1 jej ode\u0161le p\u0159es <code>1.2.3.1<\/code><\/p>\n<p><\/p>\n<h1 id=\"sluchay-4-kogda-ponadobitsya-policy-based-routing\">P\u0159\u00edklad 4: Kdy bude pot\u0159eba sm\u011brov\u00e1n\u00ed na z\u00e1klad\u011b politiky<\/h1>\n<p><\/p>\n<p>Topologie s\u00edt\u011b jako v p\u0159edchoz\u00edm p\u0159\u00edkladu, ale p\u0159edpokl\u00e1dejme, \u017ee chcete m\u00edt tak\u00e9 mo\u017enost p\u0159istupovat k extern\u00edm adres\u00e1m poolu <code>1.2.3.0\/24<\/code> z va\u0161ich pod\u016f:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2\" src=\"\/wp-content\/uploads\/2020\/05\/46f1f7c2826d87ec1fe8499862ccdd1a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Specifikum spo\u010d\u00edv\u00e1 v tom, \u017ee p\u0159i p\u0159\u00edstupu k jak\u00e9koli adrese v <code>1.2.3.0\/24<\/code>, odpov\u011bdn\u00ed paket, dost\u00e1vaj\u00edc\u00ed se na uzel a maj\u00edc\u00ed adresu zdroje v rozsahu <code>1.2.3.0\/24<\/code> bude poslu\u0161n\u011b odesl\u00e1n do <code>eth0.100<\/code>, ale my chceme, aby Kubernetes p\u0159esm\u011broval jej do na\u0161eho prvn\u00edho podu, kter\u00fd p\u016fvodn\u011b vytvo\u0159il dotaz.<\/p>\n<p><\/p>\n<p>Vy\u0159e\u0161en\u00ed t\u00e9to probl\u00e9my se uk\u00e1zalo b\u00fdt obt\u00ed\u017en\u00e9, ale stalo se to mo\u017en\u00e9 d\u00edky sm\u011brov\u00e1n\u00ed na z\u00e1klad\u011b politiky:<\/p>\n<p><\/p>\n<p>Pro lep\u0161\u00ed porozum\u011bn\u00ed procesu uvedu blokovou sch\u00e9ma netfilter:<br \/>\n<img decoding=\"async\" alt=\"Detailn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2\" src=\"\/wp-content\/uploads\/2020\/05\/6b2f117c2dcddad85190156d566231c8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nejprve, jako v p\u0159edchoz\u00edm p\u0159\u00edkladu, vytvo\u0159\u00edme dal\u0161\u00ed sm\u011brovac\u00ed tabulku:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">ip route add 1.2.3.0\/24 dev eth0.100 table 100\nip route add default via 1.2.3.1 table 100<\/code><\/pre>\n<p><\/p>\n<p>Te\u010f p\u0159id\u00e1me n\u011bkolik pravidel do iptables:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">iptables -t mangle -A PREROUTING -i eth0.100 -j CONNMARK --set-mark 0x100\niptables -t mangle -A PREROUTING -j CONNMARK --restore-mark\niptables -t mangle -A PREROUTING -m mark ! --mark 0 -j RETURN\niptables -t mangle -A POSTROUTING -j CONNMARK --save-mark<\/code><\/pre>\n<p><\/p>\n<p>Tato pravidla budou ozna\u010dovat p\u0159\u00edchoz\u00ed p\u0159ipojen\u00ed na rozhran\u00ed <code>eth0.100<\/code>, ozna\u010duj\u00edc v\u0161echny pakety tagem <code>0x100<\/code>, t\u00edmto tagem budou ozna\u010deny i odpov\u011bdi v r\u00e1mci jednoho p\u0159ipojen\u00ed.<\/p>\n<p><\/p>\n<p>Te\u010f m\u016f\u017eeme p\u0159idat sm\u011brovac\u00ed pravidlo:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">ip rule add from 1.2.3.0\/24 fwmark 0x100 lookup 100<\/code><\/pre>\n<p><\/p>\n<p>To znamen\u00e1, \u017ee v\u0161echny pakety se zdrojovou adresou <code>1.2.3.0\/24<\/code> a tagem <code>0x100<\/code> by m\u011bly b\u00fdt sm\u011brov\u00e1ny pomoc\u00ed tabulky <code>100<\/code>.<\/p>\n<p><\/p>\n<p>T\u00edmto zp\u016fsobem jin\u00e9 pakety, z\u00edskan\u00e9 na jin\u00e9m rozhran\u00ed, do tohoto pravidla nepat\u0159\u00ed, co\u017e jim umo\u017en\u00ed b\u00fdt sm\u011brov\u00e1ny standardn\u00edmi prost\u0159edky Kubernetes.<\/p>\n<p><\/p>\n<p>Existuje je\u0161t\u011b jedno, ale, v Linuxu existuje takzvan\u00fd filtr zp\u011btn\u00e9 cesty, kter\u00fd kaz\u00ed celou legraci, prov\u00e1d\u00ed jednoduchou kontrolu: pro v\u0161echny p\u0159\u00edchoz\u00ed pakety m\u011bn\u00ed adresu zdroje paketu na adresu odes\u00edlatele a kontroluje, zda m\u016f\u017ee paket proj\u00edt stejn\u00fdm rozhran\u00edm, na kter\u00e9 byl p\u0159ijat, pokud ne, pak jej filtruje.<\/p>\n<p><\/p>\n<p>Probl\u00e9m je v tom, \u017ee v na\u0161em p\u0159\u00edpad\u011b bude fungovat nespr\u00e1vn\u011b, ale m\u016f\u017eeme jej vypnout:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/rp_filter\necho 0 &gt; \/proc\/sys\/net\/ipv4\/conf\/eth0.100\/rp_filter<\/code><\/pre>\n<p><\/p>\n<p>V\u0161imn\u011bte si, \u017ee prvn\u00ed p\u0159\u00edkaz ovl\u00e1d\u00e1 glob\u00e1ln\u00ed chov\u00e1n\u00ed rp_filter, pokud jej nevypnete, pak druh\u00fd p\u0159\u00edkaz nebude m\u00edt \u017e\u00e1dn\u00fd efekt. Nicm\u00e9n\u011b ostatn\u00ed rozhran\u00ed z\u016fstanou se zapnut\u00fdm rp_filter.<\/p>\n<p><\/p>\n<p>Abychom neomezovali \u010dinnost filtru \u00fapln\u011b, m\u016f\u017eeme vyu\u017e\u00edt implementaci rp_filter pro netfilter. Pou\u017eit\u00edm rp_filter jako modulu iptables m\u016f\u017eeme nastavit dostate\u010dn\u011b flexibiln\u00ed pravidla, nap\u0159\u00edklad:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">iptables -t raw -A PREROUTING -i eth0.100 -d 1.2.3.0\/24 -j RETURN\niptables -t raw -A PREROUTING -i eth0.100 -m rpfilter --invert -j DROP<\/code><\/pre>\n<p><\/p>\n<p>povol\u00ed rp_filter na rozhran\u00ed <code>eth0.100<\/code> pro v\u0161echny adresy krom\u011b <code>1.2.3.0\/24<\/code>.<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/501842\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0432\u0435\u0441\u044c\u043c\u0430 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0449\u0430\u0446\u0438\u0438 \u0434\u043b\u044f MetalLB. \u0412\u0441\u0451 \u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e, \u0442.\u043a. \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043b\u044f MetalLB \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u043d\u043e \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0441 \u0432\u0435\u0441\u044c\u043c\u0430 \u043d\u0435\u0445\u0438\u0442\u0440\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0441\u0435\u0442\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c source-based \u0438 policy-based routing \u0434\u043b\u044f \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u042f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81594,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0432\u0435\u0441\u044c\u043c\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u043e\u043d\u043a\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f MetalLB \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 L2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0432\u0435\u0441\u044c\u043c\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-14T23:42:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-14T23:42:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Precizn\u00ed nastaven\u00ed sm\u011brov\u00e1n\u00ed pro MetalLB v re\u017eimu L2 | ProHoster","description":"Ned\u00e1vno jsem se setkal s pom\u011brn\u011b.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u043e\u043d\u043a\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f MetalLB \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 L2 | ProHoster","og:description":"\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0432\u0435\u0441\u044c\u043c\u0430.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/tonkaya-nastrojka-marshrutizaczii-dlya-metallb-v-rezhime-l2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-14T23:42:36+00:00","article:modified_time":"2020-05-14T23:42:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81593","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:55:42","updated":"2026-02-08 20:23:59","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/81593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=81593"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/81593\/revisions"}],"predecessor-version":[{"id":157857,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/81593\/revisions\/157857"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/81594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=81593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=81593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=81593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}