Nefunkční příchozí provoz přes veřejnou IP

Radek

Nefunkční příchozí provoz přes veřejnou IP
« kdy: 30. 11. 2018, 13:05:36 »
Ahoj,
potřeboval bych poradit, jak vyřešit následující problém:

Mikrotik RB450, dva ISP, switch:

  - ISP1 připojen na port Eth1
  - ISP2 připojen na port Eth5
  - LAN připojen switch na port Eth2 - nastaven jako master, zbyvajici porty jako slave (ale nepoužité)

IP přidělená od ISP1 je 192.168.100.128 pomocí DHCP klienta
IP přidělená od ISP2 je 172.16.10.2 pomocí DHCP klienta
LAN nastavena IP 172.16.1.222, DHCP server pro LAN

Pomocí obou DHCP klientů jsou nastaveny i default GW s tím, že u jedné z nich je nastavena vyšší metrika.
Na FW nastaveny maškarády.
Od ISP2 mám z jedné konkrétní veřejné IP přemapovány všechny porty na vnitřní IP.

Změnou metriky default GW jsem schopen ovlivnit, přes kterého ISP jde provoz.
Pokud mám nastaven provoz přes ISP2, jsem schopen se pomocí dané veřejné IP připojit do sítě zvenku, např. na onen mikrotik. Pokud mám nastaven provoz přes ISP1, toto nefunguje a já nechápu proč. Vždyť příchozí požadavek zvenku na danou veřejnou IP by měl skončit na příslušném eth5 portu, příslušné IP (172.16.10.2) a měl by tam být zpracován.

Prosím zkušenější o vysvětlení, případně radu, jak to zprovoznit.
Díky



Lol Phirae

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #1 kdy: 30. 11. 2018, 13:14:43 »
Nojo, to je fakt divný, že na neveřejné RFC1918 adresy se nejde připojit. Poslední dobou to tu ve fóru fakt žije.

Radek

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #2 kdy: 30. 11. 2018, 13:17:56 »
Nojo, to je fakt divný, že na neveřejné RFC1918 adresy se nejde připojit. Poslední dobou to tu ve fóru fakt žije.
Zkus se nadechnout, přečíst si to ještě jednou, jít za roh, dát si facku a pak se vrátit.
Pak mi můžeš místo rádobyironickejch keců vysvětlit, co jsem přehlídl.

Lol Phirae

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #3 kdy: 30. 11. 2018, 13:24:55 »
Přehlédl si to, že ve skutečnosti žádnou veřejnou IP nemáš. A pokud ti ISP2 nějakým pochybným způsobem forwarduje veškerý provoz na některou z JEHO (v tvém postu nikde neuvedených) veřejných IP adres na tvoji NEVEŘEJNOU IP adresu, tak to zcela určitě nebude fungovat přes ISP1.

Tak, a teď si běž posbírat bábovičky a proběhni se za roh sám, třeba na pískoviště. Pak si dej facku a pořiď si internet.

samalama

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #4 kdy: 30. 11. 2018, 13:25:09 »
no pretoze vsetko, co z mkt odide, odide cez default gw (teda cez isp1) bez ohladu na to, odkial to prislo. musis si pridat ruly, podobne ako v linuxe...


Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #5 kdy: 30. 11. 2018, 13:33:50 »
Požadavek z venku na váš router opravdu přijde, je tam zpracován, ale pak se paket s odpovědí pošle přes výchozí bránu, což je v tomto případě jiný ISP, než přes kterého ten požadavek přišel. Vzhledem k tomu, že ve skutečnosti nemáte veřejné IP adresy, ale NAT, nepřeloží se ten paket zpátky na původní veřejnou IP adresu a někde se zahodí. A i kdybyste měl opravdu veřejnou IP adresu, je dost možné, že by se paket zahodil – ten druhý ISP by zjistil, že posíláte paket se zdrojovou IP adresou, která nepatří do jeho rozsahu, a aby zabránil útokům s podvrženou IP adresou, zahodil by ten paket.

Řešením je nastavit pravidla pro výběr routovací tabulky, a pro pakety, které odpovídají na nějaké pakety přijaté zvenku, použít routovací tabulku s výchozí branou přes toho samého ISP, přes kterého ten paket přišel. Tj. obvykle to budete rozlišovat pomocí zdrojové IP adresy odchozího paketu – ta IP adresa patří jednomu z těch ISP a přes něj musíte ten paket odeslat.

V Linuxu jsou to pravidla (rule) pro výběr routovací tabulky, nastavují se pomocí ip rule. Nevím, jak se to samé jmenuje na Mikrotiku.

Radek

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #6 kdy: 30. 11. 2018, 13:37:53 »
Přehlédl si to, že ve skutečnosti žádnou veřejnou IP nemáš.
Nepřehlédl a nikde jsem to netvrdil.

Tak, a teď si běž posbírat bábovičky a proběhni se za roh sám, třeba na pískoviště. Pak si dej facku a pořiď si internet.
Ty musíš mít fakt smutnej život. Takovejch komplexů, který musíš řešit hrdinstvím na internetovým fóru na lidech, kteří si dovolí se zeptat ...

Radek

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #7 kdy: 30. 11. 2018, 13:41:11 »
no pretoze vsetko, co z mkt odide, odide cez default gw (teda cez isp1) bez ohladu na to, odkial to prislo. musis si pridat ruly, podobne ako v linuxe...

Požadavek z venku na váš router opravdu přijde, je tam zpracován, ale pak se paket s odpovědí pošle přes výchozí bránu, což je v tomto případě jiný ISP, než přes kterého ten požadavek přišel. Vzhledem k tomu, že ve skutečnosti nemáte veřejné IP adresy, ale NAT, nepřeloží se ten paket zpátky na původní veřejnou IP adresu a někde se zahodí. A i kdybyste měl opravdu veřejnou IP adresu, je dost možné, že by se paket zahodil – ten druhý ISP by zjistil, že posíláte paket se zdrojovou IP adresou, která nepatří do jeho rozsahu, a aby zabránil útokům s podvrženou IP adresou, zahodil by ten paket.

Řešením je nastavit pravidla pro výběr routovací tabulky, a pro pakety, které odpovídají na nějaké pakety přijaté zvenku, použít routovací tabulku s výchozí branou přes toho samého ISP, přes kterého ten paket přišel. Tj. obvykle to budete rozlišovat pomocí zdrojové IP adresy odchozího paketu – ta IP adresa patří jednomu z těch ISP a přes něj musíte ten paket odeslat.

V Linuxu jsou to pravidla (rule) pro výběr routovací tabulky, nastavují se pomocí ip rule. Nevím, jak se to samé jmenuje na Mikrotiku.

Díky moc pánové, základní věc a prostě mi nedošla ...

M.

Re:Nefunkční příchozí provoz přes veřejnou IP
« Odpověď #8 kdy: 30. 11. 2018, 14:27:55 »
Že nemáš internet ti už vzsvětlili jiní, ale potřebuješ poslat odpověď zpět tím ifacem, ktermý přišla:
/ip route rule
add dst-address=172.16.0.0/12 table=main
add dst-address=192.168.0.0/16 table=main
add action=lookup-only-in-table src-address=192.168.100.128/32 table=ISP1
add action=lookup-only-in-table src-address=172.16.10.2/32 table=ISP2

/ip route
add distance=1 gateway=192.168.100.1 pref-src=192.168.100.128 routing-mark=ISP1
add distance=5 routing-mark=ISP1 type=unreachable
add distance=1 gateway=172.16.10.1 pref-src=172.16.10.2 routing-mark=ISP2
add distance=5 routing-mark=ISP2 type=unreachable
add distance=1 gateway=192.168.100.1 pref-src=192.168.100.128 check-gateway=ping
add distance=5 gateway=172.16.10.1 pref-src=172.16.10.2 check-gateway=ping
add distance=10 type=unreachable