web-dev-qa-db-fra.com

routage de port persistant de 80 à 8080

J'utilise l'instance Amazon EC2 qui fonctionne via Ubuntu. Par défaut, conformément aux restrictions de sécurité, je ne peux pas mapper mon application sur le port 80; je ne fais donc que le lier au port 8080, puis définir la redirection de routage du port 80 au port 8080 à l'aide de la commande suivante:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

Mais j'ai constaté que lorsque je redémarre le serveur, ces paramètres ne sont plus actifs jusqu'à ce que j'appelle à nouveau cette commande.

Ma question est donc de savoir comment activer le travail de redirection du port même si le système a été redémarré.

22
Ph0en1x

Vous pouvez ajouter cette commande dans /etc/rc.local pour qu'elle soit exécutée automatiquement après le redémarrage.

18
nux

Utilisez plutôt la commande iptables-save. Les règles de pare-feu ne doivent jamais aller dans le script rc.local. rc.local est la dernière chose à exécuter. Si une règle de blocage a été placée dans rc.local, l'attaquant peut exploiter une règle de courte durée et exploiter une règle inexistante. Même si cette situation importe peu, il est toujours préférable de ne pas prendre une mauvaise habitude qui pourrait vous piquer plus tard.

15
MeOMy

Voici comment nous apprend la documentation officielle d'ipttable. voir ici

Ajoutez ces deux lignes dans/etc/network/interfaces:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules

La ligne "post-down iptables-save> /etc/iptables.rules" enregistrera les règles à utiliser lors du prochain démarrage.

4
Stavarengo

J'ai découvert un ensemble de répertoires sur Ubuntu 16.04 dans /etc/network qui exécutera des scripts à différents moments de l'initialisation et de l'arrêt du réseau:

if-down.d
if-post-down.d  
if-pre-up.d  
if-up.d
interfaces.d

J'ai donc trouvé que je pouvais vider la configuration comme d'habitude:

$ Sudo sh -c "iptables-save > /etc/iptables.rules"

Ensuite, j'ai créé un fichier `/etc/network/if-pre-up.d/restore:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... et marqué comme exécutable

$ Sudo chmod 755 /etc/network/if-pre-up.d/restore
0
mikebridge