Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Medved 28. 03. 2013, 10:07:29

Název: Přesměrování z LAN do LAN na OpenWRT
Přispěvatel: Medved 28. 03. 2013, 10:07:29
Ahoj,
mam router s openwrt a ten ma verejnou adresu. Ve vnitrni siti mam server.
Chtel jsem udelat neco takoveho, ze kdyz treba z notebooku budu chtit nacist stranu na te verejne adrese, router to chyti a presmeruje to na ten server. Ze proste kdyz ten router prijde spojeni, ktere ma skoncit na nem, tak ho posle vzdycky na ten server, pokud to spojeni ma intended destination IP tu jeho verejnou. Doufam, ze chapete.
Do /etc/config/firewall jsem dal tohle:

Kód: [Vybrat]
config 'redirect'
        option '_name' 'z lan na server'
        option 'proto' 'tcpudp'
        option 'dest_ip' '192.168.1.3'
        option 'target' 'DNAT'
        option 'src_dip' '213.XXX.135.ZZZ'
        option 'dest' 'lan'

Jaka je v tom chyba, prosim vas? Zkousel jsem to ruzne obmenovat, ale nemuzu na nic prijit.
Diky
Název: Re:Přesměrování z LAN do LAN na OpenWRT
Přispěvatel: Pavouk106 28. 03. 2013, 10:53:58
Myslím, že to chápu. Tohle jsem vyřešil doménou, nepodařilo se mi (Mikrotik) přemluvit, aby to dělal přesměrovánít ve smyslu destination-nat
Název: Re:Přesměrování z LAN do LAN na OpenWRT
Přispěvatel: Medved 28. 03. 2013, 11:30:09
Takhle jsem to resil taky, kdyz jsem pouzival domenu. Ted se mi ale vetsina veci pripojuje z ciselne adresy a rad bych ten problem opravdu vyresil...

Myslim, ze chyba bude nekde v src_dip (nebo jinak v urceni, ktery provoz to ma matchovat), protoze kdyz jsem napsal pravidlo, ktere cokoliv (i spojeni vedouci ven) z LAN chyti a presmeruje na server, tak jsem si router bricknul a musel to opravit ve failsafe modu.
Název: Re:Přesměrování z LAN do LAN na OpenWRT
Přispěvatel: Ondřej Caletka 28. 03. 2013, 13:15:07
Kód: [Vybrat]
config 'redirect'
        option '_name' 'z lan na server'
        option 'proto' 'tcpudp'
        option 'dest_ip' '192.168.1.3'
        option 'target' 'DNAT'
        option 'src_dip' '213.XXX.135.ZZZ'
        option 'dest' 'lan'

Jaka je v tom chyba, prosim vas? Zkousel jsem to ruzne obmenovat, ale nemuzu na nic prijit.
Diky

Pokud to dobře chápu, chceš klasický DNAT, tedy přepsání cílové adresy z veřejné na privátní adresu serveru (a vice versa při cestě zpět). To se v netfiltru udělá takto:
Kód: [Vybrat]
iptables -t nat -I PREROUTING 1 -i <wan rozhrani> -d 213.XXX.135.ZZZ -j DNAT --to-destination 192.168.1.3
V OpenWRT firewallu vidím takovýto příklad:
Kód: [Vybrat]
# port redirect port coming in on wan to lan       
#config redirect                                     
#       option src                      wan         
#       option src_dport        80                     
#       option dest                     lan
#       option dest_ip          192.168.16.235
#       option dest_port        80         
#       option proto            tcp
Název: Re:Přesměrování z LAN do LAN na OpenWRT
Přispěvatel: Medved 28. 03. 2013, 13:36:31
Vyjadril jsem se spatne, zkusim to lepe.
Chci, aby se delo nasledujici:
1. na notebooku (192.168.1.6) napisu "http://213.XXX.135.ZZZ/"
2. jde to pres router
3. router si vsimne, ze to ma destination IP 213.XXX.135.ZZZ
4. misto toho, aby request zpracoval webserver routeru (192.168.1.1 na LAN; 213.XXX.135.ZZZ na WAN), jak se to deje ted, se spojeni forwardne na server (192.168.1.3)
5. server prijme nejaka data, zpracuje, odesle data zpatky
6. data prijdou na notebook

Zaroven bych si pral, aby to platilo pro vsechny IP v 192.168.1.0/24, ale to uz bude nejspis trivialni.

Mam pocit, ze priklad, ktery jste popisoval vy, jednoduse forwarduje spojeni z WAN a matchuje vsechno, takze nestaci zmenit WAN na LAN, protoze by se potom vsechen provoz z LAN matchoval a forwardoval na server, jak se mi uz jednou povedlo. Mohl jsem se z jakehokoliv stroje pripojit na server, ale nikam jinam.
Název: Re:Přesměrování z LAN do LAN na OpenWRT
Přispěvatel: j 28. 03. 2013, 16:37:09
boze ... -A PREROUTING -d 213.XXX.135.ZZZ --dport 80 -p tcp -m tcp -j DNAT --to-destination 192.168.1.3

Pokud mas ovsem na stanici nejaky "chytry" firewall, tak ti odpoved neprijde, protoze odpoved bude z jiny IP nez na kterou se pripojujes. Za normalnich okolnosti to fungovat nejspis bude. Pokud bys to chtel vyresit, tak to nejde na jedny LAN. Musel bys mit dva subnety, to by slo. Potrebujes totiz, aby odpoved sla taky pres router, pak bys moh zmenit source IP na tu verejnou (SNAT).