web-dev-qa-db-fra.com

Redirection des ports externes vers l'ip local

J'ai un serveur Ubuntu 13.10 et un nom de domaine enregistré. J'ai un serveur Web sur mon ordinateur 192.168.24.1 et un serveur FTP sur mon 192.168.24.2.

En utilisant iptables je veux:

1) les personnes qui écrivent: http://mydomainname.com à rediriger vers 192.168.24.1

2) les personnes qui veulent utiliser mon ftp (filezilla ou quelque chose qui entre mon nom de domaine) pour être redirigé vers 192.168.24.2

Merci d'avance pour vos réponses!

1
user241861

Je ne peux pas donner de réponse exacte car je ne connais pas votre topologie

Cas 1.

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

Dans cette topologie, vous avez besoin d'iptables

Cas 2.

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

Vous n'avez pas besoin d'iptables. Vous devez faire la redirection de port sur le routeur.

  • le port 80 est pour http -> 24.1
  • le port 443 est pour https -> 24.1
  • le port 20 est un transfert de données FTP -> 24.2
  • port 21 contrôle FTP -> 24.2

Aussi, vous devez avoir une adresse IP publique fixe sur l'interface wan de votre routeur. Ensuite, vous devez faire enregistrer DNS. Nom logique de résolution DNS, ou mydomainname.com, en adresse IP et adresse IP en noms logiques.

La plage 192.168.x.x est une plage privée d'adresses IP. Je ne peux pas être un routeur via Internet.

Le trafic est:

  • Je tape mydomainname.com dans le navigateur de mon ordinateur
  • PC demande à DNS de résoudre mydomainname.com en ip
  • Quand pc a ip, envoie une requête http/https à ip donné
  • serveur Web répondre et envoyer du trafic au demandeur

Plan d'adresse IP:

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

Modifier 2

Fallowing fonctionnera si votre serveur ne fonctionne pas pour 24.2 via 24.1

La première chose à faire est d’activer le transfert IP. Ceci est fait soit en utilisant

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

ou

sysctl net.ipv4.ip_forward=1

Ensuite, nous allons ajouter une règle indiquant de transférer le trafic sur le port 21 vers ip 192.168.24.2 sur le port 21

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

Ensuite, nous allons ajouter une règle indiquant de transférer le trafic sur le port 20 vers ip 192.168.24.2 sur le port 20

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

et enfin, nous demandons à IPtables de se faire passer pour

iptables -t nat -A POSTROUTING -j MASQUERADE
1
2707974