Umleitung externer Ports auf lokale IP

Umleitung externer Ports auf lokale IP

Ich habe einen Ubuntu 13.10-Server und einen registrierten Domänennamen. Ich habe einen Webserver auf meiner Maschine 192.168.24.1 und einen FTP-Server auf meiner Maschine 192.168.24.2.

Mit iptables möchte ich:

1) Leute, die schreiben:http://meindomainname.comumgeleitet zu werden auf 192.168.24.1

2) Leute, die meinen FTP (Filezilla oder etwas anderes, das meinen Domänennamen eingibt) verwenden möchten, werden auf 192.168.24.2 umgeleitet.

Vielen Dank im Voraus für Ihre Antworten!

Antwort1

Ich kann keine genaue Antwort geben, weil ich Ihre Topologie nicht kenne

Fall 1.

__________________
|                |
|   PC           |-------|
|  192.168.24.1  |       |     _____________
------------------       |_____|           |  __________
                         |     | ip_tables |  |        |
                         |     | PC        |--| router |--- internet
__________________       |     |           |  |        |
|                |       |     -------------  ----------
|   PC           |-------|
| 192.168.24.2   |
------------------

In dieser Topologie benötigen Sie iptables

Fall 2.

__________________
|                |
|   PC           |-------|
|  192.168.24.1  |       |
------------------       |  __________
                         |  |        |
                         |--| router |
__________________       |  |        |
|                |       |  ----------
|   PC           |-------|
| 192.168.24.2   |
------------------

Sie benötigen keine iptables. Sie müssen die Portweiterleitung am Router durchführen.

  • Port 80 ist für http -> 24.1
  • Port 443 ist für https -> 24.1
  • Port 20 ist FTP-Datenübertragung -> 24.2
  • Port 21 FTP-Steuerung -> 24.2

Außerdem müssen Sie eine feste öffentliche IP-Adresse auf der WAN-Schnittstelle Ihres Routers haben. Dann müssen Sie einen DNS-Eintrag erstellen. DNS löst den logischen Namen, z. B. mydomainname.com, in eine IP-Adresse und die IP-Adresse in einen logischen Namen auf.

Der Bereich 192.168.xx ist ein privater IP-Adressbereich. Ich kann nicht über das Internet als Router kommunizieren.

Der Verkehrsfluss ist:

  • Ich gebe mydomainname.com in den Browser auf meinem PC ein
  • PC fordert DNS auf, mydomainname.com in IP aufzulösen
  • Wenn der PC eine IP hat, senden Sie eine http/https-Anfrage an die angegebene IP
  • Webserver antwortet und sendet Datenverkehr an den Anforderer

IP-Adressplan:

PC [private ip}-> router with private address on LAN and public ip on WAN. Router do NAT->internet [only public ip address

Bearbeiten 2

Das Folgen funktioniert, wenn Ihr Server für 24.2 über 24.1 nat

Als erstes müssen Sie die IP-Weiterleitung aktivieren. Dies geschieht entweder durch

 echo "1" > /proc/sys/net/ipv4/ip_forward

oder

sysctl net.ipv4.ip_forward=1

Dann fügen wir eine Regel hinzu, die den Verkehr auf Port 21 an die IP 192.168.24.2 auf Port 21 weiterleitet.

iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.24.2:21

Dann fügen wir eine Regel hinzu, die den Verkehr auf Port 20 an die IP 192.168.24.2 auf Port 20 weiterleitet.

iptables -t nat -A PREROUTING -p tcp --dport 20 -j DNAT --to-destination 192.168.24.2:20

und schließlich bitten wir IPtables, sich zu maskieren

iptables -t nat -A POSTROUTING -j MASQUERADE

verwandte Informationen