Portál AbcLinuxu, 8. května 2025 18:24

Dotaz: Více veřejných IP

Petr Maleček avatar 14.3.2017 12:00 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Více veřejných IP
Přečteno: 500×
Odpovědět | Admin
Ahoj, pravděpodobně se to tu už probíralo, ale nenašel jsem stejnou nebo hodně podobnou situaci.

Doma používám router s OpenWRT a od poskytovatele mám aktuálně dvě IP adresy. Jedna je neveřejná a druhá veřejná. Veřejnou adresu "185.167.210.X" mám nastavenou na routeru jako hlavní IP rozhraní "br-wan" a přes tu teče veškerá komunikace.

Chtěl bych přidat ještě neveřejnou IP "172.17.4.XXX" na toto rozhraní a zajistit, aby IP adresy z vnitřního rozsahu "192.168.0.100-150" vystupovaly pod touto neveřejnou IP adresou a zbytek rozsahu vystupoval normálně pod veřejnou IP adresou.

Zatím jsem udělal tyto kroky:

ip addr add 172.17.4.XXX/24 dev br-wan
ip route add 172.17.4.1 dev br-wan metric 10

Čímž jsem přiřadil další IP adresu rozhraní br-wan a přidal routu pro tento rozsah. Snad je to tak správně, protože když neurčím metriku, tak se vše hrne přes veřejnou IP.

A teď - jak zajistit, aby třeba IP 192.168.0.100 vystupovala pod tou neveřejnou IP?

Vytvořil jsem toto pravidlo, ale nejsem si jistý, jestli opravdu dělá to, co má, jelikož stále vidím, že trasa zařízení směřuje přes veřejku ven :-(

iptables -t nat -A POSTROUTING -s 192.168.0.100/24 -j SNAT --to-source 172.17.4.XXX

Díky za nakopnutí správným směrem.
LinMuck, WinFuck :-P

Ř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

14.3.2017 12:16 run
Rozbalit Rozbalit vše Re: Více veřejných IP
Odpovědět | | Sbalit | Link | Blokovat | Admin
IPs:
privatni vase         |     privatni poskytovatele       |          verejna

[196.]-------------[Router]------[172.]---------[NAT poskytovatele]-----[verejna IP]

                      |                                  |
Takze pokud jsem to spravne pochopil, mate LAN1=[192.], LAN2[172.] - poskytovatel a chcete aby stroje z LAN1 vystupovaly v LAN2 s adresou z tohoto prostoru?

Ale to se snad uz deje, pokud Vas umyslne neoddeluje/nezarizne
Petr Maleček avatar 14.3.2017 12:34 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
Mám LAN 192.168.0.0/24, WAN 185.167.10.XXX a druhou WAN 172.17.4.XXX. A chci, aby prvních 50 IP z rozsahu 192.168.0.0/24 vystupovalo pod neveřejkou (172.) a zbytek rozsahu pod veřejkou (185.).
LinMuck, WinFuck :-P
14.3.2017 12:23 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Více veřejných IP
Odpovědět | | Sbalit | Link | Blokovat | Admin
A k čemu je to dobré?

Nedělej hovadiny!

Odcházející spojení do internetu musí odcházet s veřejnou IP jinak by jsi nedostal spět odpověď - protějšek by nevěděl kam poslat odpověď.

Vše co odejde s neveřejnou IP do internetu nikam nedoputuje - zahodí se!
Petr Maleček avatar 14.3.2017 12:32 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
Ano, takhle se to teď chová :-(

Ale já potřebuju, aby:

PC z nějakého rozsahu (třeba prvních 50 IP adres z rozsahu 192.168.0.0/24) používala neveřejnou IP. A zbytek veřejnou IP.

Důvod je ten, že nechci, aby návštěvy vystupovaly pod mojí veřejnou IP adresou, ale pod neveřejnou / za NATem. Měl jsem kvůli tomu už jednou problém s policíí a nechci aby se to opakovalo.
LinMuck, WinFuck :-P
14.3.2017 12:51 NN
Rozbalit Rozbalit vše Re: Více veřejných IP
Zadny klient nemuze vystupovat s jinou nez verejnou adresou. Deal with it. Nech si od poskytovatele priradit dalsi..
Petr Maleček avatar 14.3.2017 12:57 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
Asi si nerozumíme.

Mě nezáleží na tom, pod jakou finální IP adresou bude ten rozsah vystupovat, to je mi opravdu jedno. Jde mi o to, že mám od poskytovatele dvě IP, jedna je veřejná (jen moje), druhá není (je za NATem a vystupuje pod ní dalších X desítek zákazníků).

A já chci prvních 50 IP v mém domácím rozsahu nechat vystupovat pod tou sdílenou IP adresou (za NATem ISP) a zbytek pod mou IP veřejnou IP (pod kterou vystupuji jen já, nikdo jiný).
LinMuck, WinFuck :-P
14.3.2017 13:07 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Více veřejných IP
Tak nemíním diskutovat jestli je to blbost nebo ne, ale žádým (rozumným) způsobem neodroutuješ prvních 50 adres. Jediné co bys mohl udělat, je rozdělit si interní síť na VLANy pro ně si definovat na routeru routovací pravida jednotlivých VLAN mezi sebou a pak dále za NAT.

Je pořád potřeba mít na paměti, že to co se v Internetu propojuje jsou sítě (dané maskou a adresou). Na jakékoliv úrovni.
Petr Maleček avatar 14.3.2017 13:11 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
Nevím, nějak se mi nezdá to, že by to nešlo :-/ Prostě mít na rozhraní routeru přiřazené dvě IP adresy a nějakým pravidlem řídit, který klient poteče do netu pod jakou IP adresou...

Tohle by měl přece řešit SNAT.
LinMuck, WinFuck :-P
Petr Maleček avatar 14.3.2017 13:45 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
Případně že bych si určil dva rozsahy vnitřních IP adres, třeba 192.168.0.0/24 a 192.168.1.0/24 (ať to nekomplikuju) a nějak určil, že první rozsah má jít přes první IP poskytovatele a druhý rozsah přes druhou IP poskytovatele.

Šlo by to nějak ve stylu:

iptables -t nat -A POSTROUTING -o br-wan -s 192.168.0.0/24 -j SNAT --to 172.17.4.XXX
iptables -t nat -A POSTROUTING -o br-wan -s 192.168.1.0/24 -j SNAT --to 185.167.10.XXX
To je také nereálné? Díky.
LinMuck, WinFuck :-P
14.3.2017 13:47 fish | skóre: 22
Rozbalit Rozbalit vše Re: Více veřejných IP
Čistě přes SNAT to jde, když máš na jednom rozhraní víc veřejných IP z jednoho subnetu. Na víc rozdílných tras (tvůj případ), musíš mít oddělený routovací tabulky a IP z vnitrřní sítě do nich posílat pomocí MARK.

Nějak takhle (asi by to šlo napsat i lépe). Připojení IF1 se nastaví jako default gw:
T1=20
T2=21

PRIO1=30200
PRIO2=30210
PRIO2FW=30211

IP1=w.a.n.1
IF1=wan-if
P1_NET=w.a.n.1/maska
P1=w.1.g.w

IP2=w.a.n.2
IF2=wan-if
P2_NET=w.a.n.2/maska
P2=w.2.g.w

ip route del default
ip route del $P1_NET
ip route del $P2_NET

ip route flush table $T1
ip route flush table $T2

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

ip route add $P1_NET dev $IF1 src $IP1 table $T1
ip route add default via $P1 table $T1
ip route add $P2_NET dev $IF2 src $IP2 table $T2
ip route add default via $P2 table $T2

ip route add default via $P1

ip rule del prio $PRIO1
ip rule del prio $PRIO2
ip rule del prio $PRIO2FW

ip rule add prio $PRIO1 from $IP1 table $T1
ip rule add prio $PRIO2 from $IP2 table $T2
ip rule add prio $PRIO2FW from all fwmark $PRIO2FW table $T2
Pravidlo pro iptables pro přesměrování na IF2 už pak záleží čistě na výběru vnitřních IP, zbytek půjde přes default gw:
iptables -t mangle -A PREROUTING -i int-if -s vybranaIP1,vybranaIP2,vybranySubnet -j MARK --set-mark 30211
14.3.2017 13:52 fish | skóre: 22
Rozbalit Rozbalit vše Re: Více veřejných IP
Teď jsem si všimnul, že píšeš OpenWRT. Tam nevím, jak spravovat routovací tabulky, ale princip by měl být obdobný.
Petr Maleček avatar 14.3.2017 13:58 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
V pohodě, s tím už si poradím, jen jsem potřeboval nakopnout správným směrem. Díky za ochotu (na rozdíl od ostatních, kteří jen že to nejde...)
LinMuck, WinFuck :-P
14.3.2017 14:27 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Více veřejných IP
Jsme si trochu nerozuměly když jsi psal o neveřejné IP.

Spíš jsi měl napsat že to chceš rozdělit pro hosty a vlastní....

Tady pak taky nechápu proč potom děláš takové hovadiny?

Jednoduše to úplně rozdělím:

Udělám dva vlany které budou úplně samostatné, takže tvoje síť a síť pro hosty bude úplně samostatná pouze pro výstup využiješ stejný LAN konektor který povede k providerovi.

Tím že to necháš vše v jednom rozsahu nezabráníš tomu aby si někdo nezadal na PC tvoji lokální IP s tvoji MAC a vystupoval na venek pod tvoji veřejnou IP.

Samozřejmě pokud mají přístup k tvému kabelu tak ti ani vlany nepomůžou pokud se tam napíchne na tvoji vlan.
14.3.2017 16:37
Rozbalit Rozbalit vše Re: Více veřejných IP
skrytý komentář Náš administrátor shledal tento komentář závadným.

off-topic trolling

Zobrazit komentář
14.3.2017 16:48 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Více veřejných IP
Y-I.
Je mi ukradené já vyznávám jedno i nupači.
14.3.2017 21:25
Rozbalit Rozbalit vše Re: Více veřejných IP
Máš v tom nějaký zmatek. Měl(a) jsi napsat: "Je my ukradené já vyznávám jedno y nupačy".
Petr Maleček avatar 14.3.2017 13:55 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: Více veřejných IP
Přesně tohle je to, co jsem hledal, moc děkuju.

Že mi to nenapadlo hned, už jsem totiž jednou řešil to samé v práci, kde jsou dva různí poskytovatelné NETu a já jsem řešil failover (taky pomocí routovacích tabulek a pomocí WFS).

Ještě jednou moc děkuju, tohle by mohlo fungovat.
LinMuck, WinFuck :-P
14.3.2017 14:04 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Více veřejných IP
Odpovědět | | Sbalit | Link | Blokovat | Admin

Takhle nějak by to mělo fungovat (osobně bych tam přidal ještě podmínku "-o brwan"), ale vzhledem k tomu, že br-wan bude nejspíš bridge, bude potřeba mít povolený netfilter pro bridge. Od jádra 3.18 je implementace v samostatném modulu br_netfilter, který je potřeba mít natažený, navíc je (i u starších) potřeba, aby to bylo povolené pomocí sysctl /proc/sys/net/bridge/bridge-nf-call-*tables (defaultně je, ale už jsem se setkal s tím, že to distribuce zakazovaly).

jelikož stále vidím, že trasa zařízení směřuje přes veřejku ven

Můžete trochu konkrétněji napsat, co přesně vidíte a proč to považujete za problém? Uvědomte si, že překládáte zdrojovou adresu a navíc v chainu POSTROUTING, tj. v době, kdy už je o routování rozhodnuto.

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.