J'utilise l'instance amazon EC2 qui fonctionne via ubuntu. Par défaut, selon les restrictions de sécurité, je ne peux pas classer mon application sur le port 80, je le lie donc simplement au port 8080, puis je définis la redirection de routage du port 80 vers 8080 via 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é?
Utilisez plutôt la commande iptables-save. Les règles de pare-feu ne doivent jamais entrer 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, il y a un petit laps de temps où un attaquant peut exploiter une règle qui n'est pas en place. Bien que cela n'ait probablement pas d'importance dans cette situation, il est toujours préférable de ne pas prendre une mauvaise habitude qui pourrait vous mordre plus tard.
la source
iptables-save > some-file-path
enregistre les règles, puis vous les restaurez viaiptables-restore < some-file-path
inrc.local
. Ou installeziptables-persistent
qui le fait lors du démarrage en tant que service.Voici comment nous enseigne la documentation officielle d'ipttable. Vois 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 au prochain démarrage.
la source
J'ai découvert un ensemble de répertoires sur Ubuntu 16.04 dans
/etc/network
lesquels exécuter des scripts à différents moments pendant l'initialisation et l'arrêt du réseau:J'ai donc trouvé que je pouvais vider la configuration comme d'habitude:
J'ai ensuite créé un fichier `/etc/network/if-pre-up.d/restore:
... et l'a signalé comme exécutable
la source