Voilà, je fais du masquerading avec Iptables sur ma linuxbox, et toutes les applications clientes de mon réseau local peuvent se connecter au net sans problèmes. Maintenant j'aimerais que l'un des ordis du réseau local puisse héberger des parties de Starcraft. Pour cela je dois redirectionner tout ce qui entre sur les ports tcp et udp 4000 et 611x (d'après des docs et scripts trouvés sur le net) vers les mêmes ports de la machine qui héberge la partie, à savoir 192.168.1.2. J'ai donc apporté les modifications nécessaires à mon script rc.firewall, mais malheureusement ca ne marche pas : personne ne peut rejoindre mes parties. A votre avis d'où vient le problème ? Je pense peut-être à un mauvais ordre des commandes, mais c'est peut-être autre chose...
Citation :
# Table Filter (table par défaut).
#Vidage des chaînes iptables -F
#Destruction des chaînes "personnelles"
iptables -X
#Stratégie par défaut: #INPUT et FORWARD sont DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
#OUTPUT est ACCEPT
iptables -P OUTPUT ACCEPT
#SSH est ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
#les messages icmp sont ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
#les ports utilisés par Battle.net sont ACCEPT
iptables -A INPUT -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -p udp --dport 4000 -j ACCEPT
for i in 1 2 3 4 5 6 7 8 9
do iptables -A INPUT -p tcp --dport 611$i -j ACCEPT
iptables -A INPUT -p udp --dport 611$i -j ACCEPT
done
# Création d'une chaîne personnelle: "SuiviConnexions"
iptables -N SuiviConnexions
# Filtrage de suivi dans cette chaîne:
# Seules les nouvelles connexions qui ne viennent pas du Net sont acceptées
iptables -A SuiviConnexions -m state --state NEW -i ! ppp0 -j ACCEPT
# Toutes les connexions établies et relatives sont acceptées
iptables -A SuiviConnexions -m state --state ESTABLISHED,RELATED -j ACCEPT
# Et les deux chaînes INPUT et FORWARD pointent sur SuiviConnexions
iptables -A INPUT -j SuiviConnexions
iptables -A FORWARD -j SuiviConnexions
# Anti-spoofing : on drop tout ce qui vient du net avec une IP locale
iptables -A INPUT -i ppp0 -s 10.0.0.0/8 -j DROP #classeA
iptables -A INPUT -i ppp0 -s 172.16.0.0/12 -j DROP #classe B
iptables -A INPUT -i ppp0 -s 192.168.0.0/16 -j DROP #classe C
# Init. des tables NAT et MANGLE:
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
# Mise en place du NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_ftp
modprobe ip_nat_irc
# Battle.net : on redirectionne les ports requis
iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 4000 -j DNAT --to 192.168.1.2:4000
iptables -t nat -I PREROUTING -i ppp0 -p udp --dport 4000 -j DNAT --to 192.168.1.2:4000
for i in 1 2 3 4 5 6 7 8 9
do iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 611$i -j DNAT --to 192.168.1.2:611$i
iptables -t nat -I PREROUTING -i ppp0 -p udp --dport 611$i -j DNAT --to 192.168.1.2:611$i
done
|
Merci d'avance pour votre aide