# Politique par défaut : DROP
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# Autoriser les connexions VPN entrantes
iptables -A INPUT -p udp --dport 51820 -j ACCEPT

# Autoriser les connexions établies et apparentées
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Autoriser les connexions depuis l'interface locale
iptables -A INPUT -i lo -j ACCEPT

# Autoriser les requêtes ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Autoriser les connexions SSH depuis le réseau privé et depuis certains hôtes Internet
iptables -A INPUT -s 172.16.0.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 81.209.165.42 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# Autoriser les connexions DNS et SMTP depuis le réseau privé
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p udp --dport 67 -j ACCEPT

# Autoriser le trafic sortant
iptables -A OUTPUT -j ACCEPT

# Autoriser les requêtes ping sortantes
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT

# Autoriser les connexions SSH sortantes
iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# Autoriser les connexions VPN sortantes
iptables -A FORWARD -i wg0 -o enp0s9 -j ACCEPT
iptables -A FORWARD -i enp0s9 -o wg0 -j ACCEPT

# Interdire les connexions SSH entrantes depuis l'interface VPN
iptables -A FORWARD -i wg0 -p tcp --dport 22 -j DROP

# Autoriser les connexions SSH sortantes vers l'interface VPN
iptables -A FORWARD -o wg0 -p tcp --dport 22 -j ACCEPT

# Autoriser les connexions établies et apparentées
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Autoriser le trafic depuis le réseau privé
iptables -A FORWARD -i enp0s8 -o enp0s9 -j ACCEPT
