Bonjour, j’ai un serveur qui fait de la virtualisation avec KVM, j’ai établi quelques regles iptables pour permettre a mes VM de sortir du réseau local.
le souci que je rencontre c’est que j’ai plusieurs VM qui me servent de serveur web, et j’arrive pas a ouvrir les ports tels que le port 443(https) pour qu’il soit accessible sur une VM ou sur toutes mes VM, j’ai le meme souci pour le port 80 qui fonctionne bien pour une VM precise mais pas pour toutes les VM.
Regles iptables:
#!/bin/bash
# Vider les tables actuelles
iptables -t filter -F
# Vider les règles personnelles
iptables -t filter -X
# Interdire toute connexion entrante et sortante
iptables -t filter -P INPUT DROP
# iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
# ---
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# ---
# autoriser les demandes sur br1(bridge)
iptables -A INPUT -i br1 -j ACCEPT
iptables -A OUTPUT -o br1 -j ACCEPT
# SSH In
iptables -t filter -A INPUT -p tcp --dport 8022 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
# SSH Out
iptables -t filter -A OUTPUT -p tcp --dport 8022 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
# regles POSTROUTING
# regles pour que les machines sortent du reseau
iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -p tcp -m tcp --sport 1024:65535 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.12/32 -p tcp -m tcp --sport 1024:65535 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.13/32 -p tcp -m tcp --sport 1024:65535 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.14/32 -p tcp -m tcp --sport 1024:65535 --dport 80 -j MASQUERADE
# regles pour les services teamspeak
# vm tech-infor(server web)
# port web
iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -p tcp -m tcp --sport 80 -j SNAT --to-source 91.121.139.218:80
iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -p tcp -m tcp --sport 443 -j SNAT --to-source 91.121.139.218:443
iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -p tcp -m tcp --sport 8026 -j SNAT --to-source 91.121.139.218:8026
# regles PREROUTING
# vm tech-infor(server web)
# port web
iptables -t nat -A PREROUTING -d 91.121.139.218/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.11:80
iptables -t nat -A PREROUTING -d 91.121.139.218/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.1.11:443
iptables -t nat -A PREROUTING -d 91.121.139.218/32 -p tcp -m tcp --dport 8026 -j DNAT --to-destination 192.168.1.11:8026