Je reviens vers vous afin de résoudre une problématique avec iptables :
J'ai une connexion internet avec 5 ip fixes (81.x.x.1, 81.x.x.2, 81.x.x.3, 81.x.x.4 et 81.x.x.5),
Une passerelle avec Firewall,
Un LAN en 192.168.0.0.
Le "Surf" se fait via l'ip 81.x.x.1.
J'aimerais deux choses :
1- Permettre à mon serveur mail (192.168.0.10:25,110) (en relai fermé) d'être joignable de l'extérieur, mais pas sur toutes les adresses ips publiques, une seulement.
2- Permettre à ma passerelle d'être joignable de l'extérieur en SSH, mais pas sur toutes les adresses ips publiques, une seulement.
J'ai donc ajouté les règles dans mon firewall, l'une fonctionne très bien, l'accès SSH sur une seule adresse IP publique :
- Code: Tout sélectionner
# ACCES SSH SUR .2
iptables -A INPUT -j ACCEPT -p TCP -d 81.x.x.2 --sport $hports --dport 22
L'autre règle, accès POP et SMTP, ne fonctionne pas :
- Code: Tout sélectionner
# ACCES POP et SMTP SUR .10
$ipt -A FORWARD -j ACCEPT -i $dev_inter -o $dev_intra -d 81.x.x.3 -p TCP --dport 25
$ipt -t nat -A PREROUTING -j DNAT -i $dev_inter -p TCP --dport 25 -d 81.x.x.3 --to-destination 192.168.0.10:25
Elle ne fonctionne que si je la transforme en :
- Code: Tout sélectionner
# ACCES POP et SMTP SUR .10
$ipt -A FORWARD -j ACCEPT -i $dev_inter -o $dev_intra -p TCP --dport 25
$ipt -t nat -A PREROUTING -j DNAT -i $dev_inter -p TCP --dport 25 --to-destination 192.168.0.10:25
C'est à dire sans le -d 81.x.x.3, mais à ce moment là, l'accès est ouvert depuis toutes les adresses publiques, ce qui n'est pas le but.
Y a-t-il une solution à mon problème ?
Et surtout, est-il possible de filtrer d'une manière ou d'une autre l'adresse de destination dans le FORWARD ou le PREROUTING ?
Merci d'avance.