Portál AbcLinuxu, 7. května 2025 16:58

Dotaz: dostupnost servera cez dve internetove linky

27.8.2019 14:34 nobody22
dostupnost servera cez dve internetove linky
Přečteno: 400×
Odpovědět | Admin
zdravim,

poprosil by som o pomoc s nasledovnym setupom

na lokalnej sieti 192.168.100.x je server s jednou sietovou kartou, ktory poskytuje sluzby cez internet (portforwarding), dalej su na tej istej lokalnej sieti dve pfsense brany do internetu od dvoch poskytovatelov (staticke verejne IP4), obidve LAN-kove adresy bran su v rozsahu 192.168.100.x

momentalne regulujem dostupnost servera cez urciteho poskytovatela nastavenim prislusnej pfsense LAN default gateway na servery

chcem dosiahnut aby server bol dostupny sucasne cez obidvoch poskytovatelov (pfsense brany). Existuje nejake jednoduche riesenie..?

napadaju ma nasledovne moznosti: pridat este jednu sietovku na server, na kazdej nastavit prislusnu default gateway, a spravit pravidlo aby to co pride cez konkretnu sietovku aj cez nu odislo..

resp. pri iba jednej sietovke rozdelit adresne rozsahy a jedneho poskytovatela hodit do napr. 192.168.101.x (aj dhcp sluzbu) a nejakym sposobom zabezpecit aby server vedel prijat aj odpovedat na obidvoch rozsahoch ...

resp. to urobit na urovni prepojenia pfsense bran ..?

dakujem

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.8.2019 14:56 NN
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mozna, by stacilo na tom interface vyrobit dva rozsahy a dve routovaci tabulky pro kazdou branu zvlast. Take by jsi mohl udelat z obou bran HA ;).
27.8.2019 17:22 j
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jasne ze existuje jednoduchy a funkcni (uz asi 50 let) reseni ... porid si internet.
27.8.2019 19:34 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Druhá síťová karta není potřeba. Té jedné síťové kartě serveru nastavte 2 IP adresy, z každé brány posílejte provoz na jednu IP adresu, a do pravidel pro výběr routovací tabulky (ip rule)přidejte pravidlo, které podle zdrojové IP adresy vybere routovací tabulku s odpovídající branou.
27.8.2019 19:54 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky

Aha vídíš. to mna nenapadlo. :-(

27.8.2019 20:39 NN
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Kdyz bude zdrojova IP nahodna WAN z netu, jake to bude pravidlo/la? To by musel udelat NAT 1:1, aby to fungovalo. Nebude to mit zbytecny overhead?
28.8.2019 08:14 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Pro paket z internetu není na serveru potřeba nic řešit. Psal jsem o výběru routovací tabulky, tedy o odchozích paketech. Pro spojení navázaná z venku bude zdrojová IP adresa odchozího paketu stejná, jako cílová IP adresa příchozího paketu, a ta bude odpovídat bráně a lince, odkud příchozí paket přišel. Ta IP adresa bude sloužit vlastně jako značka přiřazující ke spojení příchozí linku a bránu. Ke značkování by se dalo použít i něco jiného, ale ta IP adresa je nejjednodušší a nejuniverzálnější řešení.

U spojení zahajovaných z daného serveru pak bude záležet na tom,jaká se zvolí zdrojová IP adresa. Aplikace může zvolit explicitně jednu z těch dvou, pokud ji nezvolí, určí zdrojovou IP adresu jádro. Jestli se nepletu, dělá se to podle výchozí routovací tabulky.

Jak se to udělá s těmi IP adresami je jedno – mohou být ty veřejné IP adresy routované až na cílový server, může se na bráně udělat NAT 1:1. Může to dokonce být pro jednu linku tak a pro druhou jinak. Volbu adresování bych tedy nijak nevázal na dvě linky, rozhodnutí, zda routovat veřejné IP adresy nebo dělat NAT 1:1, bych dělal na základě jiných kritérií (např. jak už je to v té síti nyní). Důležité je, aby pro každou tu linku byla na serveru použitá jiná IP adresa – pokud tedy ty brány dělají NAT 1:1, musí každá NATovat na jinou IP adresu, aby to byl opravdu 2 × NAT 1:1 a ne NAT 2:1.

Zbytečný overhead to nemá, je to nejjednodušší řešení. Pravidla pro výběr routovací tabulky se u multihomed zařízení běžně používají.
28.8.2019 10:57 NN
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Uz to chapu, serveru ma na eth0 definovane staticke IP z obou rozsahu, potom se to cele rozdeli do dvou tabulek:
echo "10 pfsense1" >> /etc/iproute2/rt_tables
echo "20 pfsense2" >> /etc/iproute2/rt_tables
ip route add 192.168.100.0/24 dev eth0 src 192.168.100.100 table pfsense1
ip route add 192.168.102.0/24 dev eth0 src 192.168.102.100 table pfsense2
ip route add default via 192.168.100.1 table pfsense1
ip route add default via 192.168.102.1 table pfsense2
ip rule add to 192.168.100.0/24 iif eth0 table pfsense1
ip rule add to 192.168.102.0/24 iif eth0 table pfsense2
28.8.2019 08:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Teď koukám, že dotaz není na Linux, ale na pfsense, tedy FreeBSD. FreeBSD má ale také možnost používat více routovacích tabulek, hledejte „source based routing“.
27.8.2019 19:50 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle mne žádné jednoduché řešení neexistuje, protože záměr jde proti duchu síťového designu. Ten je v tom, že každý prvek má routovací tabulku, které mu umožňuje pro každou jednotlivou IP cíle rozhodnout, co s ní udělá (do jaké linky a na jakou adresu ji pošle). A když přijde paket (třeba SYN paket na otevření síťového spojení) do serveru s odesílací adresou A.B.C.D, tak server odešle odpověď podle záznamu v routovací tabulce, (na default gateway pokud to není z vlastní sítě), nezávisle odkud přišel ten iniciační paket. Na to, aby odpovědi chodily to toho připojení ze kterého paket dorazil tak bys musel zařídit buď, aby přichozí paket spustil proces, který nastaví pro adresu A.B.C.D routu na příslušné připojení (pak se tabulka bude hezky plnit), nebo na připojovacích routerech zařídít, aby probíhal NAT na externí adresy a tím pádem pro server budou odesílatelé dva routery, které jsou připojení ven. Mám dojem, že na úrovni entrprise grade se taková řešení vyrábí, ale rozhodně to není levné domácí žvýkání.
28.8.2019 08:18 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Na Linuxu není potřeba pro každou IP adresu přidávat nový záznam do routovací tabulky. Linux umožňuje mít více routovacích tabulek a určit pravidla, kdy se která tabulka má použít. Slouží k tomu příkaz ip rule.
Řešení 1× (Filip Jirsák)
28.8.2019 13:51 nobody22
Rozbalit Rozbalit vše Re: dostupnost servera cez dve internetove linky
Odpovědět | | Sbalit | Link | Blokovat | Admin

dakujem vsetkym za prinosne napady, odpovede

samotny server je debian linux takze s nastavenim PBR Policy Based Routing by nemal byt problem

_http://stud.netgroup.uniroma2.it/~cgrl/2014/slides/8-pbr.pdf

takze prisposobene riesenie by mohlo vyzerat takto:
na linux serveri (LS) pridat druhu ip adresu
192.168.100.101
192.168.100.102

na pfsense brane 1 (PF1)
192.168.100.1

pridat forwarding na LS 192.168.100.101

na pfsense brane 2 (PF2)
192.168.100.2

pridat forwarding na LS 192.168.100.102

pre kazdu PF branu/LS ip adresu, pridat na LS routovaciu tabulku s pravidlom na zaklade destination ip adresy

echo "10 pfsense1" >> /etc/iproute2/rt_tables
echo "20 pfsense2" >> /etc/iproute2/rt_tables
ip route add 192.168.100.0/24 dev eth0 src 192.168.100.101 table pfsense1
ip route add 192.168.100.0/24 dev eth0 src 192.168.100.102 table pfsense2
ip route add default via 192.168.100.1 table pfsense1
ip route add default via 192.168.100.2 table pfsense2
ip rule add to 192.168.100.101/32 iif eth0 table pfsense1
ip rule add to 192.168.100.102/32 iif eth0 table pfsense2

este otestovat to v labe... pred zmenou na production LS

bw..
dalo by sa to asi riesit aj komplexnym Pfsense HA riesenim (CARP protokol), co je ale narocnejsie na setup, a nutnostou mat +/- rovnaku konfiguraciu
_https://vorkbaard.nl/how-to-set-up-pfsense-high-availability-hardware-redundancy/

este raz vdaka p. Filip, p. NN, p.lertimir, za posunutie spravnym smerom ...


Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.