Zkušenosti s více IP na serveru

Re:Zkušenosti s více IP na serveru
« Odpověď #15 kdy: 19. 03. 2021, 13:55:19 »
Krucinal, ja neresim spojeni navazovane smerem na server. Ja resim spojeni navazovane ze serveru.
Tak nepište tři odstavce o webovém serveru, když řešíte klienta.

Jak to funguje z pohledu klienta jsem psal v komentáři #2.

Než budete psát další komentář, přečtěte si prosím všechny odpovědi. Už tu byly popsané všechny varianty, takže si stačí jen vybrat tu odpověď, která řeší váš problém.


Re:Zkušenosti s více IP na serveru
« Odpověď #16 kdy: 20. 03. 2021, 12:29:28 »
Policy Based Routing tohle castecne resi, ale neresi zcela ten cron pristup. Jak to pozna, ze to do sveta ma jit prave tou specifickou fqdn adresou pro a.domain.tld?

no právě tou policy (rulou), třeba takhle. Jestli chápu problém:


Kód: [Vybrat]

rooot@superserver:~$ ip ru l
0:      from all lookup local
32763:  from 10.88.24.0/21 lookup VLANaaa
32764:  from 10.88.8.0/21 lookup VLANbbb
32765:  from 10.88.48.0/21 lookup VLANccc
32766:  from all lookup main
32767:  from all lookup default
root@superserver:~$
root@superserver:~$
root@superserver:~$ ip r l t VLANccc
default via 10.88.48.1 dev eth1
10.88.48.0/21 dev eth1 scope link src 10.88.53.24
root@superserver:~$



Nebo se to dá řešit přes iptables, manglovat. Ale to už si ani nepamatuju jak se dělá... :-)



Re:Zkušenosti s více IP na serveru
« Odpověď #17 kdy: 20. 03. 2021, 13:34:42 »
Policy Based Routing tohle castecne resi, ale neresi zcela ten cron pristup. Jak to pozna, ze to do sveta ma jit prave tou specifickou fqdn adresou pro a.domain.tld?

no právě tou policy (rulou), třeba takhle. Jestli chápu problém:


Kód: [Vybrat]

rooot@superserver:~$ ip ru l
0:      from all lookup local
32763:  from 10.88.24.0/21 lookup VLANaaa
32764:  from 10.88.8.0/21 lookup VLANbbb
32765:  from 10.88.48.0/21 lookup VLANccc
32766:  from all lookup main
32767:  from all lookup default
root@superserver:~$
root@superserver:~$
root@superserver:~$ ip r l t VLANccc
default via 10.88.48.1 dev eth1
10.88.48.0/21 dev eth1 scope link src 10.88.53.24
root@superserver:~$


Nebo se to dá řešit přes iptables, manglovat. Ale to už si ani nepamatuju jak se dělá... :-)
To ale vybíráte tabulku na základě zdrojové IP adresy, czechsys ale potřebuje správně určit zdrojovou IP adresu. To se nejsnáz (jak už jsem psal v komentáři #2) udělá tak, že ji přímo aplikace určí (asi na základě konfigurace). Pokud aplikace neumí určit odchozí IP adresu a spoléhá na přidělení OS, nezbývá, než ten údaj dostat do jádra přes ruku někudy jinudy. Třeba pokud to závisí na uživatelském účtu, používat v iptables match -m owner, označkovat si je a pak v ip rule udělat pravidla na základě -fwmark.

Re:Zkušenosti s více IP na serveru
« Odpověď #18 kdy: 20. 03. 2021, 14:03:11 »

To ale vybíráte tabulku na základě zdrojové IP adresy, czechsys ale potřebuje správně určit zdrojovou IP adresu.

Však jo. A v té tabulce říkám, která IP bude zdrojová:
Kód: [Vybrat]
src 10.88.53.24

Re:Zkušenosti s více IP na serveru
« Odpověď #19 kdy: 20. 03. 2021, 14:16:42 »
Však jo. A v té tabulce říkám, která IP bude zdrojová:
Kód: [Vybrat]
src 10.88.53.24
Ale na základě čeho vyberete, která tabulka se použije?


Re:Zkušenosti s více IP na serveru
« Odpověď #20 kdy: 20. 03. 2021, 14:19:51 »
Však jo. A v té tabulce říkám, která IP bude zdrojová:
Kód: [Vybrat]
src 10.88.53.24
Ale na základě čeho vyberete, která tabulka se použije?

Jasný, šlo o příklad. Tak si pan kolega upraví rule. Jak se ostatně píše např. v #17.

Re:Zkušenosti s více IP na serveru
« Odpověď #21 kdy: 17. 02. 2023, 19:30:45 »
Pokud to spadne až na výchozí bránu, vybírá se brána podle pořadí, v jakém jsou zadané – buď první nebo poslední (nejlepší je si to vyzkoušet).
On může mít routovací záznam(cíl) mít víc bran než jednu? RTNETLINK answers: File exists (< ip route add ... )

Re:Zkušenosti s více IP na serveru
« Odpověď #22 kdy: 17. 02. 2023, 21:57:54 »
Pokud to spadne až na výchozí bránu, vybírá se brána podle pořadí, v jakém jsou zadané – buď první nebo poslední (nejlepší je si to vyzkoušet).
On může mít routovací záznam(cíl) mít víc bran než jednu? RTNETLINK answers: File exists (< ip route add ... )
Routovací záznam nemá žádnou bránu. Pokud routovací záznam jako cílovou síť obsahuje všechny možné adresy (celý internetú, říká se tomu záznamu (výchozí) brána. Nevím, jestli je teď možné mít v jedné routovací tabulce v linuxovém jádru více bran – ten původní dotaz je dva roky starý, chování se za tu dobu klidně mohlo změnit a mohla tam přibýt kontrola.

Re:Zkušenosti s více IP na serveru
« Odpověď #23 kdy: 18. 02. 2023, 01:44:11 »
Pokud to spadne až na výchozí bránu, vybírá se brána podle pořadí, v jakém jsou zadané – buď první nebo poslední (nejlepší je si to vyzkoušet).
On může mít routovací záznam(cíl) mít víc bran než jednu? RTNETLINK answers: File exists (< ip route add ... )

Proč by to nemělo jít?

Kód: [Vybrat]
root@michacka:~# ip ro add table 100 default nexthop via 10.97.1.1 nexthop via 10.97.1.2 nexthop via 10.97.1.253 nexthop via 10.97.1.254
root@michacka:~# ip ro sh table 100
default
nexthop via 10.97.1.1 dev wlp2s0 weight 1
nexthop via 10.97.1.2 dev wlp2s0 weight 1
nexthop via 10.97.1.253 dev wlp2s0 weight 1
nexthop via 10.97.1.254 dev wlp2s0 weight 1
root@michacka:~#

Re:Zkušenosti s více IP na serveru
« Odpověď #24 kdy: 18. 02. 2023, 14:53:17 »
Pokud mate na serveru vic IP z jednoho bloku a vite, ze pro odchozi provoz chcete pouzit prave jednu z nich, dejte ji do "ip route add/change default via ...", napr. takto:

Kód: [Vybrat]
ip -6 route change default via fe80::1 src 2001:db8:dead:beef::babe dev eth0
Spojeni odchazejici default routou pak budou navazovana z 2001:db8:dead:beef::babe.

Hetzner smeruje na server celou /64, ale je na vas, jak si ji rozdelite. Pokud skutecne budete mit na interface vic adres, pak system obvykle nekterou z nich vybere a pouzije.

Policy based routing (ip rule ...) jde taky pouzit, ale na tenhle use case mi prijde zbytecne slozity.

Re:Zkušenosti s více IP na serveru
« Odpověď #25 kdy: 18. 02. 2023, 17:30:41 »
Původní dotaz ja skoro 2 roky starý, nemyslím si, že má smysl řešit původní problém…