
routování (odvozené)podle domény
potřebuju zařidit takovou věc,, aby se mi odlišné domény routovaly jiným rozhraním.(Vím, že routing pracuje s IP adresy).
Má to být nezávislé na koncovové stanici a pro ni transparentní takže cíl,, kde to řeším,bude router.
Taky by to mělo nerozbíjet HTTPS, takže HTTPS proxy nepřipadá v úvahu
Máte nějaký rady kterými nástroji to řešit? Napadl mě obecný koncept,, který je ale doclela šílený:
že u domén zájmy byresoloval na cinkuté IP třeba z rozsahu 192.168.210.x
a router by zároveň tento rozsah routoval tím jiným rozhraním a poté ihned ještě přepsall destination IP na pravou.
Ale jaké nástroje/utility k tomu na linuxu zvolit?
(Vím, má to díry, klient si může použít jiný DNS nebo si DNS zjistit postranně a zapsat si do hosts k sobě)s
Nebo, že by si router vyresolvoval domény dopředu a podle toho by upravil routovací tabulku, jenže to opět má tři nevýhody:
- přiřazení domény-IP s mohou v čase měnit
-není vazba 1:1 mezi doména-IP - takže bych tím přinejhorším ovlivnil i jiné doméný patžící téže IP, které by šly tím jiným rozhraním(což asi nevadí)
Napadá vás ještě jiné řešení? Ta transparence tam nutně být nemusí: Šlo by SOCKS proxy pro Https bez rozbití certifikátu? (První krok CONNECT vyextrahuje doménu)
řešení máš výše. Mám to takto doma a funguje to dobře a správně.
A ty provozuješ jen policy routing a nebo i to odlišené routování podle domén, jak jsem poptával v dotazu? Tak jsem si tu tvojí odpověď nechal projít hlavou, neděla moudřejší pátke a rozumím tvému řešení (i přes to, že odkazované materiály slovo domain/doména nezmiňují). Vytvoříš statický seznam IP adres (dig ) a , provede se fwmark a následně se ip rule add fwmark 123 table dnsbasedroutingtabulka; , ve které bude default dev vpn1;
Jen kontrolní otázka, šlo rovnou přes naládování těch adres rovnou do ip rule a nebylo by potřeba iptables ? (Akorát by to nebylo přehledné, ip rule neumí ipset
)
Mě na tomhle řešení se nelíbí ta "fragilnost" - závislot na čersvtých DNS datech - pokud se změní DNS záznam, rozbije se to, je třeba to udržovat aktuální (což nějakým cronem by šlo) a nutnost ty adresy ládovat
Proto jsem spíš prahl po řešení, kde se překlad provádí "on-the fly" , když se počítač v za routerem právě chce připojit, dostane falešnou adresu z známého rozsahu a ta se následně DNATem vrátí zpět, ale už se ví, že to má jít přes jiné rozhraní. Jen nevím, jak zajistit tu programatickou změnu z přeložené adresy na původní z DNS. . Něco jako DNS64 , jestli se nemýlím
Každopádně díky za radu, fwmark a ipset mě nenapadl. (Ipset je logické zjednodušení a zpřehlednění, ale ne klíčová věc).
Tohle řešení mě právě nenapadlo. Proto jsem tvrdil, že policy routing není třeba
Odpověd hosta obsahovala nula bitů užitečné informace.
jinak k těm tvým písmenkům ohledně DNS, tam to zase vypadá, že používáš špatný DNS server a řešíš ex-post dopad toho, že namísto interního serveru, který ti dá správnou IP rovnou, řešíš spojení kamsik ven.
Teď nerozumím. K čemu se váže ta poznámka. K tomu mému návrhu řešení a nebo nějak celkově? Který DNS server by byl správný . A interní v čemu nebo vůči čemu interní? J
tak psal jsi o "cinklých" doménách/IP adresách. To implikuje použití nesprávného DNS serveru.
Jo už jsem v obraze. To byla klíčová myšlenka mého (prvního) nápadu a myslel jsem to tak, že nějakým způsobem router musí se dozvědět, pro které domény (což nejde) - IP adresy (to jde) má odklánět provoz, takže ty domény "označí"(=cinkne) tím, že je přeloží na nějaký modifikovaný rozsah (10.253.0.0/16) a následně je na základě toho odroutuje na to zvolené rozhraní a na závěr adresy přes DNAT přeloží na originální
"...by překládal na cinknuté " tak tady došlo ke zmatení