A Forward Port konfigurálása Windows rendszeren

Windows rendszeren, a Windows XP-vel kezdve, van egy beépített telepítési lehetőség port továbbítás / továbbítás (továbbító kikötő). Ennek a szolgáltatásnak köszönhetően a bejövő TCP-kapcsolat (IPv4 vagy IPv6) bármelyik helyi porthoz) átirányítható egy másik portra vagy akár egy távoli számítógép portjára. Ezenkívül nem szükséges, hogy a rendszer szolgáltatáshallgatást végezzen ezen a porton.

Linux rendszeren a portátirányítás az iptables segítségével meglehetősen egyszerű. Windows Server rendszereken a portok irányítása általában az Útválasztási és távelérési szolgáltatást (RRAS) használja. Ennek ellenére könnyebben konfigurálható az átirányító port, amely ugyanolyan jól működik a Windows bármely verzióján..

A Windows port továbbítását a parancssorból az üzemmódba lehet beállítani Portproxy Netsh csapatok. A parancs szintaxisa a következő:
netsh interfész portproxy add v4tov4 listenaddress = localaddress listenport = localport connectaddress = destaddress connectport = destport
ahol,

  • ListenAddress - helyi IP-cím, amelyen a kapcsolat várható
  • ListenPort - helyi TCP-port figyelés céljából (bejövő kapcsolat várható rajta)
  • connectaddress - helyi vagy távoli IP-cím vagy DNS-név, amelyre a bejövő kapcsolatot átirányítani kell
  • connectport - TCP-port, ahova átirányítja a kapcsolatot a listenport-portról

Tegyük fel, hogy az a feladatunk, hogy az RDP-szolgáltatás válaszoljon egy nem szabványos porton, például 3340 (természetesen ez a port megváltoztatható maga a szolgáltatás beállításaiban, de az RDP-t használjuk az átirányítási technika demonstrálásának egyszerűsítésére). Ehhez átirányítanunk kell a bejövő forgalmat a 3340 TCP portra egy másik helyi portra - 3389 (standard rdp port).

megjegyzés. Ezt a portot egy másik szolgáltatás nem hallgathatja meg a rendszeren.

Futtassa a parancssort a rendszergazdai jogokkal, és hajtsa végre.

netsh interfész portproxy add v4tov4 listenport = 3340 listenaddress = 10.10.1.110 connectport = 3389 connectaddress = 10.10.1.110

A 10.10.1.110 a számítógép jelenlegi IP-címe

A netstat segítségével ellenőrizzük, hogy a 3340-ös portot a számítógépen hallgatták-e:

netstat -ano | talált: 3340

megjegyzés. Ha ez a parancs nem ad vissza semmit, és a portproxy a netsh felületen keresztül nem továbbítja a port továbbítását, akkor ellenőrizze, hogy az iphlpsvc szolgáltatás engedélyezve van-e a rendszeren (IP Helper / IP Helper Service).

És azon a hálózati felületen, amelyre a port-továbbítási szabályt hozzák létre, engedélyezni kell az IPv6 támogatást.

Ezek a port-továbbítás megfelelő működésének előfeltételei. Az IP Helper és az IPv6 engedélyezése nélkül az átirányítási mechanizmus nem működik.

A PID segítségével meghatározhatja azt a folyamatot, amely ezen a porton hallgatja (példánkban a PID értéke 636):

Tasklist | findstr 636

Megpróbálunk csatlakozni ehhez a számítógéphez egy távoli rendszerből, bármilyen rpp kliens segítségével. Meg kell adnia a 3340 értéket az rdp portnak (a portot a kettőspont után kell megadni az rdp szerver címe után), például: 10.10.1.110:3340:

A kapcsolatnak sikeresen létre kell állnia.

Fontos. Ellenőrizze, hogy a tűzfal (a Windows tűzfala vagy egy harmadik féltől származó tűzfal - ezeket gyakran tartalmazzák a víruskereső szoftvert) beállításainál megengedett a bejövő kapcsolatok az új porthoz. Szükség esetén új szabályt adhat a Windows tűzfalhoz a következő paranccsal:

netsh advfirewall tűzfal hozzáadja a szabály nevét = ”RDP_3340” protokoll = TCP dir = in localip = 10.10.1.110 localport = 3340 action = engedélyezés

Amikor egy bejövő tűzfalszabályt hoz létre a 3340-es port grafikus felületén keresztül, nem kell semmilyen programot társítania, mert ezt a portot kizárólag a hálózati illesztőprogram figyeli.

Tetszőleges számú Windows port-továbbítási szabályt hozhat létre. Az összes netsh interfész-portproxy-szabály állandó és fennmarad a rendszeren a Windows újraindítása után.

Megjelenítjük a rendszer összes TCP port-továbbítási szabályának listáját:

A netsh interfész portproxy mindet megmutat

Esetünkben csak egy továbbítási szabály létezik a 3340-es és 3389-es portok között:

Hallgassa meg az IPv4-en: Csatlakozás az IPv4-hez:
Cím Port Cím Port
--------------- ----------  --------------- ----------
10.10.1.110 3340 10.10.1.110 3389

tanács. Ezenkívül a portproxy mód beállításai is beszerezhetők:
netsh interfész portproxy dump
# ==========================
# Port proxy konfiguráció
# ==========================
pushd interfész portproxy
vissza
add v4tov4 listenport = 3340 connectaddress = 10.10.1.110 connectport = 3389
popd
# A Port Proxy konfigurációjának vége

Egy adott átirányítási szabály eltávolítása:

netsh interfész portproxy delete v4tov4 listenport = 3340 listenaddress = 10.10.1.110

Az összes elérhető átirányítási szabály törlése:

A netsh interfész portproxy alaphelyzetbe állítása 
Fontos. Egy ilyen átirányítási séma csak a TCP-portokon működik ... Az UDP-portok forgalmát nem lehet átirányítani. A 127.0.0.1 címet nem használhatja összekötési címként.

Ha a bejövő TCP kapcsolatot egy másik számítógépre kell átirányítania, a parancs így néz ki:

netsh interfész portproxy add v4tov4 listenport = 3389 listenaddress = 0.0.0.0 connectport = 3389 connectaddress = 192.168.1.100

Ez a szabály az összes bejövő RDP kérést (a 3389-es portra) átirányítja a számítógépről a 192.168.1.100 IP-című távoli számítógépre.

A portproxy másik implicit jellemzője az a képesség, hogy bármely távoli hálózati szolgáltatás helyi működésének megjelenését megteremtsék.

Például létrehozunk ilyen átirányítást a 8888 helyi portból a 213.180.204.3 távoli címre:

netsh interfész portproxy add v4tov4 listenport = 8888 connectport = 80 connectaddress = 213.180.204.3 Protocol = tcp

Most, ha a böngészőben megy a http: // localhost: 8888 / címre, megnyílik a Yandex kezdőlap. Ie annak ellenére, hogy a böngésző hozzáfér a helyi számítógéphez, távoli oldalt nyit meg.

A port-átirányítás arra is felhasználható, hogy egy portot továbbítson egy külső hálózati kártya címéről egy ugyanazon a számítógépen futó virtuális gép portjára..

Előfordultak olyan esetek is, amikor a Windows Server 2012 R2-ben a port-továbbítási szabályok csak addig működtek, amíg a rendszer újra nem indul, és az újraindítás után nem állnak vissza. Ebben az esetben ellenőriznie kell, hogy vannak-e időszakos leállások a hálózati felületen, és ha az operációs rendszer indításakor az IP-cím nem változik (jobb, ha statikus IP-t használ). Kerülő megoldásként a netsh interfész portproxy szabályait tartalmazó parancsfájlt kellett hozzáadnom a Windows ütemezőjéhez, amely akkor fut, amikor a rendszer indul.

A Windows Server 2003 / XP rendszerben az átirányítás működéséhez további engedélyeznie kell a beállításjegyzék-beállítást IPEnableRouter = 1 az ágban HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Tcpip \ Parameters