NAT -olás de hogyan...

Sziasztok!

A gondom a következő:
Van egy szerver 2 portal. Az egyik port az én hálózatomba néz, a másik pedig egy külső "más" hálózatából jön. A fő probléma az lenne, hogy ezen van egy port (172.10.10.2:2222) amit nekem a másik interfészen kellene tovább adnom (192.168.1.11:1001). Nos a fő gond az, hogy nem tudom mivel és hogyan kellene ezt megoldani linux alatt. Gondoltam iptables-re, de mivel még nem csináltam ilyent csak a sötétben tapogatózom. Google-ban nagyon sok információ van, de eldönteni se tudtam, hogy ez most redirect vagy dst-nat vagy prerouting vagy postrouting vagy mi kutya füle kéne legyen.

eth0:

address 192.168.1.11
netmask 255.255.255.0
gateway 192.168.1.1

eth1:
address 172.10.10.2
netmask 255.255.255.0
gateway 172.10.10.1

Valakinek lenne egy mentő ötlete azt szívesen fogadnám.

Makosteszta00

Hozzászólások

"ezen van egy port (172.10.10.2:2222) amit nekem a másik interfészen kellene tovább adnom (192.168.1.11:1001)"
Ez most hogy is van? Pontosan hova kellene továbbítani ezt a forgalmat? Bár a leírásodban az szerepel, hogy ugyanerre a gépre, de az a sejtésem, hogy mégsem ezt akarod, mert akkor nem "másik interfészen" szerepelne ott, hanem "ennek a gépnek másik IP-jére". Milyen protokoll portja ez? TCP? UDP?

De a leírásnak megfelelően (a 172.10.10.2 TCP/2222-re tartó forgalom menjen a 192.168.1.11 TCP/1001-re) a NAT szabály, TCP-t feltételezve:

iptables -t nat -A PREROUTING -i eth1 -p tcp -d 172.10.10.2 --dport 2222 -j DNAT --to-destination 192.168.1.11:1001

Nem néz ki túl jól az a két gateway sor. Mutass egy aktuális routing táblát!

Ezek az adatok természetesen fake adatok a példa kedvéért írtam ezeket.
Hogyha az eredeti adatokat írnám a fejemet vennék.
Szóval a lényeg az, hogy ez egy kamera stream.
Egy trunk egyik fele amibe a stream bele van rakva bemegy a szerver eth1-ébe.
Ide fel van véve 1 fake IP csak azért, hogy up legyen az iface. Na most ezeket a címeket szeretném az én hálózatomban úgy elérni, hogy azt az IP címet és portot meghívva (192.168.1.11:1001) átirányuljon a (172.10.10.1:2222) -re.
Azért kell ez, hogy a stream a szerveren keresztül menjen, mert csak az tudja elérni ezt a 172.10.10.1:2222 címet.

Lehet nem járható megoldás, ezért kértem segítséget.
Az az átirányítás amit írtál azt pedig mindjárt ki is próbálom.

A route lista nem fontos, mert a default gateway az az eth0 gateway.

Nem nagyon sikerült megfejtenem a pontos topológiát, és hogy mit szeretnél, illetve a protokollra vonatkozó kérdésre sem válaszoltál. Az "ez egy kamera stream" részből gondolok UDP-re, de ezt neked kell tudnod.

"Ide fel van véve 1 fake IP csak azért, hogy up legyen az iface"
Csak ezért felesleges IP-t adni neki, IP nélkül is lehet up. Ha viszont gyakorlatilag nem kell IP az interfészre, akkor nem bridge-elni szeretnél? Ennek a kijelentésnek viszont ellentmondanak a következő soraid.

"ezeket a címeket szeretném az én hálózatomban úgy elérni, hogy azt az IP címet és portot meghívva (192.168.1.11:1001) átirányuljon a (172.10.10.1:2222) -re."
"Azért kell ez, hogy a stream a szerveren keresztül menjen, mert csak az tudja elérni ezt a 172.10.10.1:2222 címet."
Tehát a 172.10.10.1 című eszköznek nincs route-ja a 192.168.1.0/24 felé, vagy pedig a forráscím szűrve van.

Rajzoljunk!

Kamera [172.10.10.1/24 (UDP/2222)] --- [eth1 172.10.10.2/24] server [eth0 192.168.1.11/24 (UDP/1001)] --- [192.168.1.1/24] gateway1 --- egyéb hálózatok

Tehát azt szeretnéd, ha pl. a gateway1 vagy egy, a mögötte lévő hálózatban lévő gép megszólítja a 192.168.1.11-et, akkor azt fordítsuk át úgy, hogy a csomag célcíme a kamera IP-je és portja legyen? Valamint a csomag forráscímét is fordítsuk a server eth1 címére?
Nem elég az, ha pl. a gateway vagy a mögöttes gép a valós 172.10.10.1:2222 címen szólítja meg a kamerát, és a kamera felé menő csomagon végzel forráscímváltást (MASQUERADE vagy SNAT)?

"A route lista nem fontos, mert a default gateway az az eth0 gateway."
Ennek ellentmond a nyitó hozzászólásban írt konfiguráció, ahol az eth1 alatt szerepel a "gateway 172.10.10.1" sor (illetve az eth0 alatt is). Nem véletlen kérdeztem rá, hogy két default route-od van-e, vagy több routing táblát használsz.

Pontosan. De erre azért nem reagáltam, mert ezt írta:
"Az egyik port az én hálózatomba néz, a másik pedig egy külső "más" hálózatából jön. A fő probléma az lenne, hogy ezen van egy port (172.10.10.2:2222)"

Ha ez a valóságban így van, akkor elsősorban az ő szolgáltatója (partnere stb.) a sáros ebben - már feltéve, ha nem valóban az AT&T-ről van szó -, ha pedig a kérdező cserélte másra a fórumban való megjelenés miatt, mert a publikus IP címet vagy tartományt szerette volna elrejteni előlünk, és azért lett ez a 172.10.10.0/24, akkor ez érthető is lehet. (Persze ilyenkor is érdemes lenne nem publikusan route-olható tartományt választani.)