Je souhaite utiliser iptables pour tester mon Gateway Load Balancer dont la cible est une instance Amazon Elastic Compute Cloud (Amazon EC2). L'instance exécute Amazon Linux 2023.
Brève description
Configurez les règles iptables sur une instance Amazon EC2 qui exécute Amazon Linux 2023 pour tester le fonctionnement du Gateway Load Balancer dans votre environnement. Les règles Iptables peuvent également vous aider à identifier les problèmes de connectivité liés au pare-feu. Si le Gateway Load Balancer achemine correctement le trafic via l'instance, les problèmes de connectivité sont liés au pare-feu.
Utilisez iptables uniquement pour tester votre Gateway Load Balancer.
Résolution
Noter les adresses IP du Gateway Load Balancer
Pour configurer les variables dans les règles iptables, vous avez besoin des adresses IP et de leurs zones de disponibilité pour l'interface réseau élastique du Gateway Load Balancer.
Pour trouver les adresses IP, procédez comme suit :
- Ouvrez la console Amazon EC2.
- Dans le volet de navigation, sélectionnez Interfaces réseau.
- Sélectionnez Rechercher, puis Description dans la liste déroulante.
- Saisissez le nom de votre Gateway Load Balancer dans le champ Description =, puis sélectionnez votre Gateway Load Balancer.
Une liste des interfaces réseau pour chaque sous-réseau activé s’affiche dans votre Gateway Load Balancer. Chaque interface réseau est associée à une adresse IP et à une zone de disponibilité.
Configurer les règles iptables
Utilisez SSH pour accéder à l'instance EC2 que vous allez utiliser comme cible ou pare-feu derrière le Gateway Load Balancer. Dans les exemples de commandes suivants, la zone de disponibilité A est la zone source et les zones de disponibilité B et C sont les zones vers lesquelles la zone source envoie le trafic.
Définir les adresses IP du Gateway Load Balancer et de l'instance EC2
Saisissez les adresses IP du Gateway Load Balancer et de l'instance :
export GWLB_IP_A=<GLWB ENI IP from Availability Zone A>
export INSTANCE_IP=<EC2 instance's IP>
Remarque : Remplacez l'adresse IP GLWB de la zone de disponibilité A et l'adresse IP de l'instance EC2 par vos valeurs.
(Facultatif) Configurer des tables supplémentaires pour le trafic entre zones
Si vous avez activé le trafic entre zones, exécutez les commandes suivantes :
export GWLB_IP_B=<GLWB ENI IP from Availability Zone B>
export GWLB_IP_C=<GLWB ENI IP from Availability Zone C>
Remarque : Remplacez l'adresse IP GLWB ENI de la zone de disponibilité B et l’adresse IP GLWB ENI de la zone de disponibilité C par vos valeurs. Vous devez disposer d'une règle iptables pour l'interface réseau du Gateway Load Balancer pour chaque zone de disponibilité de chaque instance EC2 cible.
Configurer les iptables
Pour installer et activer iptables, exécutez les commandes suivantes :
sudo sysctl -w net.ipv4.ip_forward=1
sudo yum install -y iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
Définir les politiques par défaut sur ACCEPT pour chaque chaîne intégrée
Pour définir les politiques par défaut, exécutez les commandes suivantes :
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Vider les tables NAT et Mangle, les chaînes (-F) et supprimer les paramètres
Pour vider les tables NAT et Mangle, ainsi que les chaînes et supprimer les paramètres, exécutez les commandes suivantes :
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
Configurer la table NAT pour rediriger le trafic vers le Gateway Load Balancer
Pour rediriger le trafic, exécutez les commandes suivantes :
sudo iptables -t nat -A PREROUTING -p udp -s $GWLB_IP_A -d $INSTANCE_IP -i enX0 -j DNAT --to-destination $GWLB_IP_A:6081
sudo iptables -t nat -A POSTROUTING -p udp --dport 6081 -s $GWLB_IP_A -d $GWLB_IP_A -o enX0 -j MASQUERADE,/code>
**(Facultatif) Ajouter des règles NAT pour gérer le trafic entre zones **
Pour ajouter des règles NAT pour le trafic entre zones, exécutez les commandes suivantes :
sudo iptables -t nat -A PREROUTING -p udp -s $GWLB_IP_B -d $INSTANCE_IP -i enX0 -j DNAT --to-destination $GWLB_IP_B:6081
sudo iptables -t nat -A POSTROUTING -p udp --dport 6081 -s $GWLB_IP_B -d $GWLB_IP_B -o enX0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p udp -s $GWLB_IP_C -d $INSTANCE_IP -i enX0 -j DNAT --to-destination $GWLB_IP_C:6081
sudo iptables -t nat -A POSTROUTING -p udp --dport 6081 -s $GWLB_IP_C -d $GWLB_IP_C -o enX0 -j MASQUERADE
Enregistrer les iptables
Pour enregistrer les iptables, exécutez la commande suivante :
sudo service iptables save
Vérifier le statut
Pour vérifier que les règles iptables sont correctement configurées, exécutez la commande suivante :
sudo service iptables status
Exécuter une vérification de l’état pour le Gateway Load Balancer
Pour vérifier l'état du Gateway Load Balancer, exécutez les commandes suivantes :
sudo su
yum install -y httpd
service httpd start
chkconfig httpd on
echo "Health check page" >>/var/www/html/index.html
exit