Olyan dolgot kellene megoldanom, hogy 2 publikus net kapcsolatra kellene szétbontani a forgalmat attól függően, hogy hova megy a kérés. (DNAT-tal?). Az egyik nyomi sulinetes kapcsolat (eth2, 195.199.196.111), a másik UPC (eth0, 89.134.125.111). Belső hálózatra mutató láb eth1, 192.168.1.1.
Tehát a következő kellene: minden menjen a UPC-s vonalra (eth0), kivéve ha a cél IP 195.199.x.x/24, mert akkor az menjen sulinetre (eth2).
Sehogy nem áll össze, hogy iptables-el hogyan lehet ilyen szabályt leírni.
Valami ötlet? Csak érthetően légyszi, nem nagyon értek iptableshez :] Esetleg kis magyarázattal.
- 1835 megtekintés
Hozzászólások
"kivéve ha a cél IP 195.199.x.x/24"
Szóval 195.199.0.0/16. Ezt route-olod a 195.199.196.x router felé, a default route pedig 89.134.125.x router felé. Majd pedig mindkét interfészen source natolsz ehhez hasonlóan:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
A sulinet-es hálózati elérés elvileg szimpla route szabály. Ehhez ha jól gondolom nem kell címfordítás, de kipróbálhatod egy kliensröl is ha mondjuk a szerver gépen elöször engedélyezed az ip_forward-ot.
(pl: echo 1 > /proc/sys/net/ipv4/ip_forward)
A kliensnek megadod a szerver LAN IPjét, mint átjáró (gondolom ez már megvan) és mondjuk megpingetsz egy hoszt-ot a sulinet-es hálózatból.
Ha van válasz, akkor következö lépésnek engedélyezheted a nat-ot.
(pl: iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE)
Internet-felé is pingelsz egyet és ha van válasz nyert.
Utána állítgathatod a tüzfalszabályokat, mit tiltasz ill. engedsz. Addig nem érdemes szivatnod vele magad.
Sok sikert!
- A hozzászóláshoz be kell jelentkezni
Hát akkor mégegyszer.. nem az a gond, hogy nem érhető el cél, hanem annak a beállítása, hogy melyik hálókártyáról.
Remekül el lehet érni a sulinetes szervert (egy authentikációs/aktivációs szerver a cél egyébként), de az szépen beint, hogy nem foglalkozok veled, mert nem sulinetes vonalon jöttél.
Tehát a lényeg: ETH2-re kellene küldeni a 195.199.x.x címzésű csomagokat, a többit eth0-ra. Eth0-ról hiába érem el a célt, pont ez a csavar benne :(
- A hozzászóláshoz be kell jelentkezni
Pedig eddig mindkét hozzászólás erről szólt. Erre pedig a route (vagy tetszés szerint az ip route) alkalmas. Ha ezt beállítottad, akkor kell még a NAT. (Bocs, de ha az nem egyértelmű, hogy a "Szóval 195.199.0.0/16. Ezt route-olod a 195.199.196.x router felé, a default route pedig 89.134.125.x router felé." mit jelent, akkor ennek a témának nem a Linux-haladóban lenne a helye.)
route add -net 195.199.0.0 netmask 255.255.0.0 gw 195.199.196.x
route add -net default gw 89.134.125.x
A natolást pedig lásd fent.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat / ötleteket, próbálkozok.
- A hozzászóláshoz be kell jelentkezni
Engedélyezd/kapcsold be a Sulinetes kártyára is a NAT-ot.
Így látatlanban szerintem az a baj, hogy a szimpla forward tudtommal a kliens gép címével küldi tovább a csomagot, nem pedig a sulinetes címmel rendelkezö router IP címével. Ha bekapcsolod a nat-ot erre a kártyára is, akkor a címfordítás miatt a kliens kapcsolata úgy fog tünni a sulinetes szervernek, hogy a router-röl jött, ami ugyebár sulinetes cím. Bár gondolom ezt már nem kell magyarázni :)
A feltevésem tcpdump-al/wireshark-al lehetne tesztelni, de az hosszabb idö, mint egy nat szabályt felvenni és kipróbálni.
Ergó mindkét kártyára engedélyezd a NAT-ot.
- A hozzászóláshoz be kell jelentkezni
[MEGOLDVA]
Mégegyszer köszönöm az útmutatást!
Következőt csináltam:
/etc/iproute2/rt_tables végére "3 sulinet"
utána
/sbin/ip route add default dev eth2 via 195.199.196.xxx table 3
/sbin/ip rule add to 195.199.255.0/24 table 3
majd a javasoltak szerint
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
Szerverről is, belső tartományból is teljesen jó.
- A hozzászóláshoz be kell jelentkezni