rendered paste body#Fichier de Configuration de iptables pour un routeur.
#par JuPiTeR
################VARIABLES################
#definition de l'adresse externe
EXTADDR=xxxx
#carte interne (lan)
INTETH=eth0
#carte externe (wan)
EXTETH=eth1
#Broadcast (du lan)
BCAST=172.28.200.255
########################################################################
########################################################################
#Politique par defaut
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#se laisser passer (utile pour X par exemple)
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
#laisser passer les connections deja etablies (en entrée)
iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
#########################################################################
#########################################################################
#Laisser passer les requetes DNS (ne pas oublier de remplacer par ses propres dns)
iptables -A INPUT -p UDP -s 217.117.32.3 --sport 53 -j ACCEPT
iptables -A INPUT -p UDP -s 194.7.1.4 --sport 53 -j ACCEPT
#########################################################################
#Planeshift
iptables -A INPUT -p UDP --dport 7777 -j ACCEPT
#########################################################################
#Options de Protection
#AntiSpoof (sur le routeur; mettre le reseau interne et ethX pour la carte internet)
iptables -A FORWARD -s 172.28.200.0/24 -i $EXTETH -d 172.28.200.0/24 -j LOG --log-prefix "Spoof Attempt "
iptables -A FORWARD -s 172.28.200.0/24 -i $EXTETH -d 172.28.200.0/24 -j DROP
#AntiSmurf
iptables -A FORWARD -p icmp -i $EXTETH -d $BCAST -j LOG --log-prefix "Smurf Attempt "
iptables -A FORWARD -p icmp -i $EXTETH -d $BCAST -j DROP
#detecter les scans
iptables -A INPUT -m state --state NEW -p tcp --tcp-flags ALL FIN,PSH,URG -j LOG --log-prefix "Xmas scan packet "
iptables -A INPUT -m state --state INVALID -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "Null scan packet "
iptables -A INPUT -m state --state NEW -p tcp --tcp-flags ALL SYN,FIN -j LOG --log-prefix "SYN-FIN packet "
#########################################################################
#########################################################################
#services a surveiller de pres (ssh... (remplacer les ports par ceux désirés))
#Garder le port fermé, l'ouvrir avec knockd... et logger les connexions qui seraient passées
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j LOG --log-prefix "ssh connection Attempt "
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
#########################################################################
#########################################################################
#services moins importants (pas de log)
#dport = le port ou la plage de ports du service
iptables -A INPUT -p tcp -d $EXTADDR --dport 13000:13100 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 12348 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTADDR --dport 8954 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 3465 -m state --state NEW -j ACCEPT
[B#iptables -A INPUT -p tcp -d $EXTADDR --dport 1110:1119 -m state --state NEW -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTADDR --dport 10001 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 5555:5559 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 6667 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 6697 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 12349 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 6881 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTADDR --dport 12370 -j ACCEPT
#########################################################################
#########################################################################
#Acces des ordinateurs du lan au serveur (rajouter --dport xxx pour plus de sécurité sur les services disponibles pour cet utilisateur)
#iptables -A INPUT -i $INTETH -s 172.28.200.2 -j ACCEPT
#iptables -A INPUT -i $INTETH -s 172.28.200.3 -j ACCEPT
#########################################################################
#########################################################################
#Partage Internet
#Defaults
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
#autoriser a consulter des dns externes (mettre les bonnes adresses)
iptables -A FORWARD -p UDP -s 217.117.32.3 --sport 53 -j ACCEPT
iptables -A FORWARD -p UDP -s 194.7.1.4 --sport 53 -j ACCEPT
#Autoriser des hotes sans restriction (ajouter -dport xxx pour limiter les services disponibles)
#moi
iptables -A FORWARD -s 172.28.200.2 -j ACCEPT
iptables -A FORWARD -s 172.28.200.3 -j ACCEPT
#laptops
iptables -A FORWARD -s 172.28.200.4 -j ACCEPT
iptables -A FORWARD -s 172.28.200.8 -j ACCEPT
#xbox
iptables -A FORWARD -s 172.28.200.5 -j ACCEPT
#chambre
iptables -A FORWARD -s 172.28.200.6 -j ACCEPT
#Anne
iptables -A FORWARD -s 172.28.200.10 -j ACCEPT
iptables -A FORWARD -s 172.28.200.14 -j ACCEPT
#########################################################################
#########################################################################
#Serveur derriere le firewall (exemple serveur web)
#iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 80 -j DNAT --to-destination 172.28.200.2:80
#ou limité a une plage
#iptables -t nat -A PREROUTING -i $INTETH -p tcp -s {IPmask1/Subnet1} --dport 80 -j DNAT --to 192.168.2.11:80
#########################################################################
#########################################################################
#dcc send jupi
iptables -A INPUT -p tcp --dport 9500:9504 -j ACCEPT
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9500 -j DNAT --to-destination 172.28.200.2:9500
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9501 -j DNAT --to-destination 172.28.200.2:9501
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9502 -j DNAT --to-destination 172.28.200.2:9502
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9503 -j DNAT --to-destination 172.28.200.2:9503
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9504 -j DNAT --to-destination 172.28.200.2:9504
#msn send jupi
iptables -A INPUT -p tcp --dport 6881:6883 -j ACCEPT
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 6881 -j DNAT --to-destination 172.28.200.2:6881
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 6882 -j DNAT --to-destination 172.28.200.2:6882
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 6883 -j DNAT --to-destination 172.28.200.2:6883
#dcc send laptop64
iptables -A INPUT -p tcp --dport 9505:9509 -j ACCEPT
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9505 -j DNAT --to-destination 172.28.200.8:9505
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9506 -j DNAT --to-destination 172.28.200.8:9506
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9507 -j DNAT --to-destination 172.28.200.8:9507
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9508 -j DNAT --to-destination 172.28.200.8:9508
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 9509 -j DNAT --to-destination 172.28.200.8:9509
#########################################################################
#########################################################################
iptables -t nat -A PREROUTING -d $EXTADDR -p tcp --dport 80 -j DNAT --to-destination 172.28.200.9:80