Přístup zvenku na IP, routing ven a zpět

adam

Přístup zvenku na IP, routing ven a zpět
« kdy: 20. 05. 2012, 13:48:37 »
Prosím zdvoøile a snaživì o pomoc. Mám Linuxrouter s :

eth0 s ip 10.0.0.3 + na 10.0.0.138 router s public Internet IP
eth1 s ip 192.168.91.1 - vnitøní klientská sí 1
eth2 s ip 192.168.92.1 - vnitoní klientská sí 2
eth3 s ip 192.168.3.2 + na 192.168.3.1 router s hlavním Inet spojem
(vše netmask /24)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth3
192.168.3.0     *               255.255.255.0   U     0      0        0 eth0
192.168.92.0    *               255.255.255.0   U     0      0        0 eth2
192.168.91.0    *               255.255.255.0   U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.3.1     0.0.0.0         UG    1      0        0 eth0

Z klientských sítí jde Internetový traffic na default gateway a maškarádou ven.

Je tøeba zaøídit prostup zvenku pøes public Internet IP na stanici (na http) na
klientské síti 1 a zpìt zase ven pøes ten router s Public IP.

Na routeru s PublicIP mám portforward na 10.0.0.3:80 a na linuxrouteru mám forward
a pøeklad na tu stanici 192.168.1.26:80.

NEDAØÍ SE MI NASTAVENÍ, ABY SE ZASE PAKETY VRACELY ZPÌT (nyní dorazí až k 192.168.1.26,
a jak jsem vysledoval, vrací se pak defaultgatewayi dopryè).

iptables -t nat -A PREROUTING -p tcp -d 10.0.0.3 --dport 80 -j DNAT --to 192.168.91.26:80
iptables -A FORWARD -p tcp -i eth3 -o eth1 -d 192.168.91.26 --dport 80 -j ACCEPT

iptables -A INPUT -p ALL -i eth1 -j ACCEPT
iptables -A INPUT -p ALL -i eth2 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -i eth2 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

HELP HELP
« Poslední změna: 22. 05. 2012, 11:37:35 od Petr Krčmář »


Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #1 kdy: 20. 05. 2012, 22:31:01 »
NEDAØÍ SE MI NASTAVENÍ, ABY SE ZASE PAKETY VRACELY ZPÌT (nyní dorazí až k 192.168.1.26,
a jak jsem vysledoval, vrací se pak defaultgatewayi dopryè).
No to je celkem logický. Jestli jsem správně pochopil, máš dvě různá připojení k internetu. Jak má teda jádro poznat, kam třeba poslat odpověď pro IP 173.194.35.81? Posílá ho prostě přes defaultní bránu.

Pokud opravdu chceš odesílat pakety do internetu dvěma cestami, není to žádná zadek a jednoduše to udělat nejde.

Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #2 kdy: 20. 05. 2012, 22:32:12 »
Jé, to jsem nevěděl, že se tady automaticky nahrazují "neslušná" slova "slušnými" :)

adam

Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #3 kdy: 21. 05. 2012, 09:21:11 »
ano, o to jde, jsou dvě internetové připojení  (jedno kapacitní bez veřejného IP a to je zároveň defaultgatewayi pro ten linuxrouter a druhé internetové, málokapacitní, ale s veřejnou IP)

nu a teď jak na to

Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #4 kdy: 21. 05. 2012, 09:27:21 »
nu a teď jak na to
No já pořád nevím, na co :)

Znova opakuju: podle čeho má jádro rozhodnout, přes které z těch dvou bude komunikovat např. s IP 173.194.35.81?

Nenapsal jsi, jaké chování od toho vlastně přesně očekáváš. Každopádně ale tohle není jednoduchá věc a pravděpodobně ani nemá smysl se snažit ji rozchodit, protože to je prostě nevhodný přístup.

Vůbec nejlepší by asi bylo, kdybys napsal, proč to vlastně všechno takhle děláš, jaký to má mít smysl.


adam

Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #5 kdy: 22. 05. 2012, 00:28:41 »
podle čeho poznat ? - podle toho, odkud pochází požadavek, takže pokud pochází od eth3 (tj od sítě, kde je router s vnější IP), tak by se to také tudy mělo vracet

Nic víc než toto neočekávám (samozřejmě i ostatní vlastnosti by měly být zachovány - tj. odchozí traffic eth1-2 do internetu přes vysokorychlostní internet na eth0 - ale to teď už běží)


Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #6 kdy: 22. 05. 2012, 08:02:45 »
Tak v tom případě to ještě není tak hrozný: http://linux-ip.net/html/adv-multi-internet.html

alfi

  • ****
  • 330
    • Zobrazit profil
    • E-mail
Re:přístup zvenku na IP, proroutování dovnitř a ven
« Odpověď #7 kdy: 22. 05. 2012, 09:34:46 »
pokud má příchozí provoz na public IP správně nastavený NAT (tj. 192.168.1.26:80 vidí ne veřejnou, ale interní adresu, např. 10.0.0.138), mělo by to fungovat - nastavit routování zpět na tu NATovanou adresu a zbytek bude chodit přes default routu..?
otázka pak je, co s tím dělá ten port forward - teoreticky NAT dělat nemusí (i když bych ho tam čekal) a pak to chodí blbě. nevýhodou je, že na serveru nepůjdou počítat statistiky uživatelů podle IP adres..

adam

Re:Přístup zvenku na IP, routing ven a zpět
« Odpověď #8 kdy: 23. 05. 2012, 02:23:03 »
řešení : do iptables přidáno před NAT maškarádu :
iptables -t nat -A PREROUTING -p tcp -d 10.0.0.3 --dport 80 -j DNAT --to 192.168.91.26:80
iptables -A FORWARD -p tcp -i eth3 -o eth1 -d 192.168.91.26 --dport 80 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.91.26 -j SNAT --to 10.0.0.138
do routovacích pravidel přidáno :
echo "12 isp2" >> /etc/iproute2/rt_tables
ip route add default via 10.0.0.138 table isp2
ip rule add from 10.0.0.0/24 table isp2
ip rule add from 192.168.91.26/255.255.255.255 table isp2
děkuji všem za příspěvky, finále jsem ladil po prostudování zdrojů : http://linux-ip.net/html/adv-multi-internet.html, http://goo.gl/d3J66, a zdroje o iptables