Pages : 1
#1 Le 04/01/2009, à 15:13
- Gajel
Ouverture d'un port dans iptables
Bonjour.
Voilà mon problème : afin de faire le lien entre le logiciel PMS et ma ps3, j'ai besoin d'ouvrir le port 5001, dans iptables.
Je l'ai donc ajouté à la liste des protocoles autorisés mais celà ne fonctionne pas.
Il faut que je coupe iptables pour que le logiciel puisse enfin "voir" ma ps3.
Ci-desssous mon fichier iptables, lancé au démarrage de la machine.
#!/bin/sh
############################################
#SCRIPT_POUR_FIREWALL
############################################
#Ce script met en route le firewall
# Révision 22.05.2008
############################################
echo "Vous allez activer le firewall."
IPTABLES=/sbin/iptables
# Initialisation de la variables designant l'interface reseau
export IF_RESEAU="eth0"
# On efface toutes les regles existantes
iptables -F
# On supprime d'eventuelles regles personnelles
iptables -X
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 des regles par defaut (on refuse tout par default)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# On accepte les connexions sur la boucle locale (sur lo == 127.0.0.1)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# On accepte les connexions depuis le LAN (192.168.0 & 192.168.1)
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
# On refuse certaines requetes
iptables -N SCANS
iptables -A SCANS -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP
iptables -A SCANS -p tcp --tcp-flags ALL ALL -j DROP
iptables -A SCANS -p tcp --tcp-flags ALL NONE -j DROP
iptables -A SCANS -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p udp --dport 33434:33523 -j DROP
iptables -A OUTPUT -p tcp --dport telnet -j DROP
# Rejet des paquets bizarres ou mal formés
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
#Flood TCP&UDP
iptables -A INPUT -i $IF_RESEAU -p tcp --syn -m limit --limit 3/s -j ACCEPT
iptables -A INPUT -i $IF_RESEAU -p udp -m limit --limit 10/s -j ACCEPT
iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type echo-reply -m limit --limit 1/s -j ACCEPT
#IP forward et Masquerad
#echo 1 > /proc/sys/net/ipv4/ip_forward
#echo 0 > /proc/sys/net/ipv4/ip_forward
# On accepte la sortie de certains protocoles
iptables -A OUTPUT -o $IF_RESEAU -p UDP --dport 123 -j ACCEPT # Port 123 (Time ntp udp)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 123 -j ACCEPT # Port 123 (Time ntp tcp)
iptables -A OUTPUT -o $IF_RESEAU -p UDP --dport domain -j ACCEPT # Port 53 (DNS)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport domain -j ACCEPT # Port 53 (DNS)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport http -j ACCEPT # Port 80 (Http)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport https -j ACCEPT # Port 443 (Https)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport pop3 -j ACCEPT # Port 110 (Pop3)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 993 -j ACCEPT # Port 993 (auth.SSL)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 995 -j ACCEPT # Port 995 (auth.SSL)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport smtp -j ACCEPT # Port 25 (Smtp)
#iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport ftp-data -j ACCEPT # Port 20 (Ftp Data)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport ftp -j ACCEPT # Port 21 (Ftp)
#iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 2222 -j ACCEPT # Port #2222 (Ssh)
#iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 10000 -j ACCEPT # Port 10000 (webmin)
#iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 445 -j ACCEPT # Port 445 (Samba)
#iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 139 -j ACCEPT # Port 139 (Samba)
#iptables -A OUTPUT -o $IF_RESEAU -p UDP --dport 137:138 -j ACCEPT # Port 137 a 138 (Samba)
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 5001 -j ACCEPT # Port 5001 (Ps3 Media Server)
# iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 8000 -j ACCEPT # Port 8000&9000 (Amarok)
# iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 9000 -j ACCEPT # Port 8000&9000 (Amarok)
# iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 32100:32101 -j ACCEPT # Port 32100&32101 (VLC)
# iptables -A OUTPUT -o $IF_RESEAU -p UDP --dport 32100:32101 -j ACCEPT # Port 32100&32101 (VLC)
# On autorise les connexions deja etablies ou relatives à une autre connexion a sortir
iptables -A OUTPUT -o $IF_RESEAU --match state --state ESTABLISHED,RELATED -j ACCEPT
# On autorise les connexions deja etablies a entrer
iptables -A INPUT -i $IF_RESEAU --match state --state ESTABLISHED,RELATED -j ACCEPT
# On autorise le PC a faire des ping sur des IP exterieur
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On interdit les pings
iptables -A INPUT -p icmp -j DROP
# On peut aller plus finement en gérant le type de réponse icmp.
#iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type destination-unreachable -j DROP
#iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type echo-reply -j DROP
#iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type echo-request -j DROP
#iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type time-exceeded -j DROP
#iptables -A INPUT -i $IF_RESEAU -p icmp --icmp-type source-quench -j DROP
# Si 3 connexions SSH en 1 minute -> drop
iptables -I INPUT -p tcp --dport 2222 -i $IF_RESEAU -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 2222 -i $IF_RESEAU -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP
# Ecriture de la politique de log
# Ici on affiche [IPTABLES DROP] dans /var/log/message a chaque paquet rejette par iptables
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-level 1 --log-prefix '[IPTABLES DROP]:'
iptables -A LOG_DROP -j DROP
# On met en place les logs en entree, sortie et routage selon la politique LOG_DROP ecrit avant
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
# Chargement du module de gestion des connexion state (autorisation des connexions deja etablies a passer le firewall)
#modprobe ip_conntrack
# Chargement du module special pour palier au probleme de connexion FTP passive
#modprobe ip_conntrack_ftp
#on quitte le script
exit
iptables -A OUTPUT -o $IF_RESEAU -p TCP --dport 5001 -j ACCEPT # Port 5001 (Ps3 Media Server)
Je pensais que cette ligne suffirait mais visiblement ce n'est pas le cas.
Si une bonne âme avait une solution...
Merci d'avance.
Cordialement.
Gajel
#2 Le 04/01/2009, à 15:37
- Soulearth
Re : Ouverture d'un port dans iptables
Ce que tu peux faire c utilisez l'interface firestarter. Cette interface montre les connexions qui sont bloquées. Tu peux donc ouvrir firestarter , tenter de te connecter avec ta ps3 et tu verra ce qui est bloqué (port, tcp/udp), tu n'auras ensuite qu'a l'autoriser.
Hors ligne
#3 Le 04/01/2009, à 17:08
- Gajel
Re : Ouverture d'un port dans iptables
Salut. Merci pour ta réponse.
Je n'ai rien dans "Connexions bloquées".
Par contre, si je remets la configuration initiale d'iptables (POLICY ACCEPT de partout), puis que je lance firestarter après avoir pris soin d'autoriser le port 5001 dans "Politique du traffic entrant", là cela fonctionne.
Ceci prouve d'ailleurs, contrairement à ce qu'on peut lire parfois, qu'iptables n'est pas tout à fait égal à firestarter (chacun semble avoir ses propres politiques).
Mais j'aimerai éviter cette manip' et directement autorisé le logiciel à faire le lien avec la ps3 en configurant correctement iptables.
Si quelqu'un a la solution...
Merci d'avance.
#4 Le 13/01/2009, à 13:36
- Gajel
Re : Ouverture d'un port dans iptables
Bonjour.
Personne ?
#5 Le 13/01/2009, à 16:46
- ogaby
Re : Ouverture d'un port dans iptables
Salut
Il faut peut-être que tu donnes l'accès aussi en udp
iptables -A OUTPUT -o $IF_RESEAU -p UDP --dport 5001 -j ACCEPT
A essayer.
Hors ligne
#6 Le 08/10/2009, à 17:29
- saigone
Re : Ouverture d'un port dans iptables
Bonjour a tous.
je viens de mettre sur pieds mon fichier de configuration pour iptables sur ubuntu 9.04 donc voici le code
#!/bin/sh
LOCAL="eth0"
INTERNET="eth1"
eth0=" "
eth1=" "
INTERNET_BROADCAST=" "
PRIVATE_NETWORK=" "
echo -n "chargement des regles iptables"
#activation du forwading
echo 1 > /proc/sys/net/ipv4/ip_forward
#activation du partage de connexion
echo "1" > /proc/sys/net/ipv4/ip_forward
#pas de spoofing
if [ -e /proc/sys/net/ipv4/CONF/all/rp_filter ]
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $filtre
done
fi
#pas de synflood
if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi
#modules requis
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
#regles par defaut
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#chaine pour les bad tcp paquets
iptables -N bad_tcp_paquets
#bad tcp paquets
iptables -A bad_tcp_paquets -p tcp --tcp-flags SYN,ACK SYN,ACK \ -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -A bad_tcp_paquets -p tcp ! --syn -m state --state NEW -j LOG \ --log-prefix "NEW not syn:"
iptables -A bad_tcp_paquets -p tcp ! --syn -m state --state NEW -j DROP
#translation d'adresse pour tout ce qui sort vers l'internet
iptables -A POSTROUTING -t nat -o $INTERNET -j MASQUERADE
#on accepte tout ce qui sort et entre de l'interface de loopback
iptables -A INPUT -i lo ACCEPT
iptables -A OUTOUT -i lo ACCEPT
#on accepte les pacquets entrants relatifs à des connexions deja etablies sur l'interface connecté à internet
iptables -A INPUT -i $INTERNET -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $INTERNET -m state --state NEW
#on accepte les paquets entrants relatifs à des connexions deja etablies sur l'interface lan
iptables -A INPUT -i $LOCAL -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $LOCAL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#regles icmp
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p ICMP -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 __icmp-type 11 -j ACCEPT
iptables -A OUTPUT -p ICMP -j ACCEPT
#on laisse passer le dns
iptables -A INPUT -i $LOCAL -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i $LOCAL -m state --state NEW,ESTABLISHED,RELATED -p udp --dport 53 -j ACCEPT
#on laisse passer l'envoi de mail
iptables -A INPUT -i $LOCAL -m state -- NEW,ESTABHISED,RELATED -p tcp --dport 25 -j ACCEPT
#on autorise le traffic web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#FORWADING
#toutes les connections venant du lan destiné a etre forwadé sont acceptées.
iptables -A FORWARD -i $LOCAL -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#seules les relations deja etablies ou en relation avec des connexions deja etablies sont acceptées venant du net vers le LAN.
iptables -A -i $INTERNET -o $LOCAL -m state --state ESTABLISHED,RELATED -j ACCEPT
#permettre a tout le lan d'acceder à internet avec la meme adresse.
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -j MASQUERADE
#on refuse les paquets invalides et les connexions entrantes.
iptables -A INPUT -i $INTERNET -m state --state NEW,INVALID -j bad_tcp_paquets
iptables -A OUTPUT -o $INTRENET -m state --state INVALID -j bad_tcp_paquets
#toutes les paquets qui n'auront pas passé les regles du firewall seront reffusés et logués
iptables -A FORWARD -j bad_tcp_paquets
iptables -A INPUT -j bad_tcp_paquets
iptables -A OUTPUT -j bad_tcp_paquets
et quand je l'exécute j'obtiens ceci
bad argument '-m'
bad argument ' --log-prefix'
bad argument 'ACCEPT'
bad argument 'ACCEPT'
iptables v1.4.1.1 you: must specify ' --state'
bad argument 'eth1'
bad argument 'MASQUERADE'
bad argument 'state'
que faire dans cette situation???
merci d'avance
Hors ligne
Pages : 1