port forwarding a kapun a linux iptables
Miután szerver biztonságos adatközpontok Európában. Nyílt felhő VPS / VDS szerver egy gyors SSD 1 perc alatt!
A legjobb Web Hosting:
- megvédi az illetéktelen hozzáférés egy biztonságos európai adatközpont
- fizet legalább Bitcoin.
- Akkor tegye meg a disztribúciós
- védelmet DDOS támadások
- ingyenes biztonsági mentés
- Üzemidő 99,9999%
- DPC - TIER III
- ISP - TIER I
Támogatás az orosz 24/7/365 dolgozni a jogi és fizikai személyek. Most kell 24 mag és 72 Gb RAM. Kérlek!
A versenyképes áron bizonyítani, hogy a legolcsóbb hosting, ha nem tudja!
A percek alatt, válassza ki a konfiguráció, a fizetés és a CMS egy VPS kész.
Pénzvisszafizetési - 30 nap alatt!
Bankkártyák, elektronikus valuta révén Qiwi terminálok, WebMoney, PayPal, Novoplat és mások.
Tegye fel kérdését támogatás 24/7/365
Megtalálja a választ az adatbázisunkban, és megfelel az ajánlásokat a
Ajánlatot 8host.com

Ez az útmutató segít beállítani iptables irányítsa át a portot házigazdák NAT technológia. Ez a beállítás lehetővé teszi, hogy megakadályozzák a forgalom a magánhálózat átjárón keresztül.
követelmények
A munka lesz szüksége:
- Ubuntu 14.04 két gép ugyanazon adatközpont-kompatibilis magánhálózat.
- A felhasználó számára elérhetővé teszik sudo minden gépen.
Az első fogadó fogják használni, mint a tűzfal és router dyal magánhálózat. A második állomás fogja betölteni a web szerver, amely csak a saját felületen. Az első host továbbítja a kérelmet, hogy nyissa meg a webkiszolgáló felület, akkor majd jönnek a saját felület.
Ezek a gépek
ip -4 addr mutatják körét globális
2: eth0.
inet 198.51.100.45 / 18 széles körét 45.55.191.255 globális eth0
valid_lft örökre preferred_lft örökre
3: eth1.
inet 192.168.1.5 / 16 széles körét 10.132.255.255 globális eth1
valid_lft örökre preferred_lft örökre
ip route show | grep alapértelmezett
alapértelmezett keresztül 111.111.111.111 dev eth0
A parancs megjeleníti a felületen csatlakozik az alapértelmezett átjáró (ebben a példában, eth0). Jellemzően ez egy nyitott felület.
Ezeket az értékeket minden gépen, és használja őket a jövőbeli munka.
Feltételes adatkezelés
A példánál maradva a kézikönyv, az adatok egyezmények házigazdák. Kérjük, működés közben, cserélje ki az adatokat.
- Külső IP: 203.0.113.2
- Belső IP: 192.0.2.2
- Nyílt interfész: eth0
- Egyéni Interface: eth1
- Külső IP: 203.0.113.15
- Belső IP: 192.0.2.15
- Nyílt interfész: eth0
- Egyéni Interface: eth1
Állítsa be a Web Server
telepítése nginx
Először meg kell telepíteni nginx és állítsa be úgy, hogy hallgatni a zárt felület. Mivel a webszerver csak akkor érhető el a helyes beállítás port forwarding.
Frissítse a csomag index, és telepíti a csomagot:
sudo apt-get update
sudo apt-get install nginx
Beállítás nginx
Nyissa meg a virtuális gép alapértelmezett:
sudo nano / etc / nginx / sites-enabled / default
Ebben találja az irányelv hallgat:
szerver hallgatni 80 default_server;
hallgatni [::]: 80 default_server ipv6only = on;
.
>
A fájl meg kétszer fordul elő. Eleinte hallgatni irányelv meg kell határozni a belső IP-Web szerver és adja meg a 80-as portot.
Ez az útmutató kizárólag az IPv4, mert a második irányelv hallgatni, IPv6, akkor egyszerűen törölheti.
szerver hallgatni 192.0.2.2:80 default_server;
.
>
Mentse és zárja be a fájlt. Ellenőrizze a szintaxis hibák:
Ha nincs hiba, indítsa újra nginx:
sudo service nginx restart
Ellenőrizze nginx konfiguráció
Most arra van szükség, hogy megbizonyosodjon arról, hogy a nginx csak egy privát felületet.
Menj a tűzfal szerver és próbálja meg elérni a privát részbe webkiszolgáló felületet:
curl --connect-timeout 5 192.0.2.2
.
Próbáljon meg egy nyílt interfész:
curl --connect-timeout 5 203.0.113.2
curl: (7) Nem sikerült csatlakozni 203.0.113.2 port 80: kapcsolat elutasítva
Továbbítás beállítása
Kattintson a Firewall Server.
Engedélyezése továbbítás mag
Először meg kell, hogy továbbítás a rendszermag szintjén. Alapértelmezésben ez a funkció le van tiltva a legtöbb rendszeren.
Annak érdekében, hogy továbbítás egy foglalkozásra, írja be:
echo 1 | sudo tee / proc / sys / net / ipv4 / ip_forward
Annak érdekében, hogy továbbítás rendszeresen, akkor szerkeszteni kell a /etc/sysctl.conf fájlt.
sudo nano /etc/sysctl.conf
Mentse és zárja be a fájlt, majd frissítse a beállításokat:
sudo sysctl -p
sudo sysctl --system
beállítása tűzfal
- Telepítse az iptables-tartós.
- Mentése alapértelmezett szabályok /etc/iptables/rules.v4.
- Megtanulják, hogyan kell hozzáadni és szerkeszteni tűzfal szabályait.
Miután a tűzfal beállításával, akkor adjunk hozzá egy port átirányítási szabály.
továbbítási szabályok
Szóval, most meg kell állítani a tűzfalon, hogy a forgalom a 80-as port nyitva eth0, átirányítja a privát eth1.
Szerint az alapvető tűzfal konfigurációs, a lánc FORWARD visszaáll (DROP) forgalom alapértelmezés szerint. Most meg kell adni a szabályt, amely átirányítja a kapcsolatot a webszerver. Javasoljuk, hogy csak azon a szükséges kapcsolatokat, és a maradék blokk.
FORWARD lánc fogad el új kapcsolatokat szánt 80-as porton, és megkapta a nyilvános felületen, és átadják a saját felületen. Az új vegyületeket találtuk, hogy bővítse a conntrack és a TCP SYN csomagot.
sudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
Ez a szabály akkor kihagyja a tűzfalon keresztül első csomag, amelynek célja, hogy a kapcsolat létrehozásához. Arra is szükség van ahhoz, hogy bármilyen későbbi forgalom mindkét irányban, ennek eredményeként ezt a kapcsolatot. Annak érdekében, hogy a forgalom a nyitott és zárt felület (alapítva, rokon), írja be:
iptables -A FORWARD -i eth0 -o eth1 -m conntrack --ctstate alakult, KAPCSOLÓDÓ -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate alakult, KAPCSOLÓDÓ -j ACCEPT
Ha a FORWARD láncon használ egy másik alapértelmezett politika, állítsa DROP politika:
sudo iptables -P FORWARD DROP
Most a tűzfal lehetővé teszik az adatforgalom a nyitott és zárt felület. Azonban, míg az iptables nem tudja pontosan, hogyan kell irányítani a forgalmat.
NAT szabályok
Most meg kell adni iptables szabályokat útvonalon a forgalmat. Ahhoz, hogy helyesen módosítani iptables csomagok és kommunikáció támogatása az ügyfelek és a webszerver, el kell végezni a két művelet.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-cél 192.0.2.2
Ehhez hozzá kell adni a szabály, hogy a POSTROUTING lánc a nat tábla. Ez közvetlenül leolvasható, mielőtt elküldi a csomagokat a hálózaton keresztül.
sudo iptables -t nat -A POSTROUTING -o eth1 -p TCP --dport 80 -d 192.0.2.2 -j SNAT --to forráskódú 192.0.2.15
curl 203.0.113.15
.
Port forwarding konfigurálva.
A jogok fenntartása
Azáltal szabályok port forwarding, meg kell tartani őket egy sor állandó szabályok a tűzfal.
sudo service iptables-tartós megtakarítás
sudo nano /etc/iptables/rules.v4
Szerkesztése szűrő konfigurációs táblázat előre láncban. Azt is meg kell szerkeszteni a táblázatot nat, a felvenni kívánt szabályok PREROUTING és POSTROUTING. Ebben az esetben ezek a szabályok a következőképpen néz ki:
* Keresés
# Bármelyik kimenő, de csökken a bejövő és szállítmányozási csomagokat alapértelmezésben
: INPUT DROP [0: 0]
: FORWARD DROP [0: 0]
: Kimenet ACCEPT [0: 0]
# Egyedi per protokoll láncok
: UDP - [0: 0]
: TCP - [0: 0]
: ICMP - [0: 0]
# Elfogadható UDP forgalom
# Elfogadható TCP forgalmat
-A TCP -p tcp --dport 22 -j ACCEPT
# Elfogadható ICMP forgalom
# Boilerplate elfogadó politika
-A INPUT -m conntrack --ctstate LÉTRE kapcsolódó -j ACCEPT
-A INPUT -i lo -j ACCEPT
# Csepp érvénytelen csomagok
-A INPUT -m conntrack --ctstate érvénytelen -j DROP
# Pass forgalom protokoll-specifikus láncok
## Csak hogy új kapcsolatokat (székhelye és a kapcsolódó kell már kezelni)
## A TCP emellett csak lehetővé teszi az új SYN csomagokat, mivel ez az egyetlen érvényes
## módszer, egy új TCP kapcsolatot
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
# Elutasítás mindent, ami leesett keresztül ezen a ponton
## Próbáljon protokoll-specifikus w / elutasító üzenetet
-A INPUT -p udp -j REJECT --reject-ICMP-port-elérhetetlen
-A INPUT -p tcp -j REJECT --reject-TCP-visszaállítási
-A INPUT -j selejt --reject-ICMP-proto-elérhetetlen
# Szabályzat, hogy továbbítsa 80-as port a web szerver
# Web szerver hálózati részletei:
# * Nyilvános IP-cím: 203.0.113.2
# * Saját IP-cím: 192.0.2.2
# * Public Interface: eth0
# * Saját Interface: eth1
#
# Tűzfal hálózati részletek:
#
# * Nyilvános IP-cím: 203.0.113.15
# * Saját IP-cím: 192.0.2.15
# * Public Interface: eth0
# * Saját Interface: eth1
-A FORWARD -i eth0 -o eth1 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m conntrack --ctstate alakult, KAPCSOLÓDÓ -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m conntrack --ctstate alakult, KAPCSOLÓDÓ -j ACCEPT
# Vége Előre szűrési szabályok
# Változtatások véglegesítéséhez
COMMIT
* nyers
: PREROUTING ACCEPT [0: 0]
: Kimenet ACCEPT [0: 0]
COMMIT
* nat
: PREROUTING ACCEPT [0: 0]
: INPUT ACCEPT [0: 0]
: Kimenet ACCEPT [0: 0]
: POSTROUTING ACCEPT [0: 0]
# Szabályzat lefordítani kérelmek 80-as port a nyilvános interfész
# Ahhoz, hogy tudjuk előre helyesen, hogy a webszerver segítségével
# Private felület.
# Web szerver hálózati részletei:
# * Nyilvános IP-cím: 203.0.113.2
# * Saját IP-cím: 192.0.2.2
# * Public Interface: eth0
# * Saját Interface: eth1
#
# Tűzfal hálózati részletek:
#
# * Nyilvános IP-cím: 203.0.113.15
# * Saját IP-cím: 192.0.2.15
# * Public Interface: eth0
# * Saját Interface: eth1
-A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-cél 192.0.2.2
-Egy POSTROUTING -d 192.0.2.2 -o eth1 -p TCP --dport 80 -j SNAT --to forráskódú 192.0.2.15
# End of NAT fordítás webszerver forgalom
COMMIT
* biztonsági
: INPUT ACCEPT [0: 0]
: FORWARD ACCEPT [0: 0]
: Kimenet ACCEPT [0: 0]
COMMIT
* mángorló
: PREROUTING ACCEPT [0: 0]
: INPUT ACCEPT [0: 0]
: FORWARD ACCEPT [0: 0]
: Kimenet ACCEPT [0: 0]
: POSTROUTING ACCEPT [0: 0]
COMMIT
Mentse és zárja be a fájlt.
Ellenőrizze a hibákat a fájlban:
sudo iptables-restore -t
Ha nincs hiba, frissíti a listát a szabályok:
sudo service iptables-perzisztens reload
következtetés
Most port forwarding az iptables van beállítva. Ez a technológia lehetővé teszi számunkra, hogy adja át a forgalom a tűzfalon keresztül átjáró, miközben elrejti hálózati ismeretek.