OVH Cloud OVH Cloud

Aide IPtable

25 réponses
Avatar
clesnews
Bon pardonnez le fait que je debute.

j'ai crée un fichier nomé firewall.sh

Soucis:

1/ un message d'erreur
iptables v1.2.11: Can't use -P with -A

2/ Si vous voyez des choses a ameliorer

3/ comment faire pour que si la machine reboot le chier soit automatiquement
executé ?

Voici le fichier:

#!/bin/sh
iptables -F

/sbin/modprobe ip_conntrack_ftp ports=21,6438

# default policy : DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m
state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -P tcp --sport 1024:65535 --dport 1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

10 réponses

1 2 3
Avatar
Matthieu Moy
"clesnews" writes:

j'ai crée un fichier nomé firewall.sh


man iptables-save
man iptables-restore

pour une autre solution

Soucis:

1/ un message d'erreur
iptables v1.2.11: Can't use -P with -A


Le message d'erreur me semble relativement clair ...

Cherches une ligne avec un -P et un -A (par exemple, une typo sur le
-p minuscule qui serait devenu majuscule), et corriges-là ...

--
Matthieu

Avatar
clesnews
j'ai corrigé mais me voici avec deux nouvelles erreurs:

iptables v1.2.11: unknown protocol `input' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.11: unknown protocol `output' specified
Try `iptables -h' or 'iptables --help' for more information.
______________________________________

#!/bin/sh
iptables -F

/sbin/modprobe ip_conntrack_ftp ports!,6438

# default policy : DROP
iptables -p INPUT DROP
iptables -p OUTPUT DROP

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m
state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
Avatar
clesnews

j'ai crée un fichier nomé firewall.sh


man iptables-save
man iptables-restore

pour une autre solution


PAS COMPRIS ...


Avatar
octane
j'ai crée un fichier nomé firewall.sh

Soucis:

1/ un message d'erreur
iptables v1.2.11: Can't use -P with -A

tu as une ligne qui contient un -P (policy par defaut) et un -A

(ajouter une regle). En lisant ton script, on voit:
iptables -t filter -A OUTPUT -P tcp --sport 1024:65535 --dport
1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT

et la c'est pas bon (faute de typo entre -p et -P)

2/ Si vous voyez des choses a ameliorer

precises ce que tu veux faire. Cette machine est un serveur? de quoi?

juste un client? pour faire quoi? surf, news, mail, autre?
une passerelle filtrante?

sinon voir plus bas

3/ comment faire pour que si la machine reboot le chier soit automatiquem ent
executé ?

le mettre dans un script de demarrage. Par exemple le rc.local

ca depend de ta distribution linux. Voir
http://www.linux-france.org/article/sys/init-jaco/init-jaco.html

Voici le fichier:

#!/bin/sh


pourquoi pas bash?

iptables -F

il risque d'y avoir un probleme de $PATH lors du lancement automatique

au boot.
ajoutes un PATH=/sbin:/bin:/usr/bin:/usr/sbin en debut de fichier.

/sbin/modprobe ip_conntrack_ftp ports!,6438

pourquoi ce parametre ports, et ces chiffres?

parmtype: ports:array of int

# default policy : DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

qui est cette adresse?


iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT


tu veux vraiment proposer tous ces services a l'exterieur?

iptables -t filter -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m
state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -P tcp --sport 1024:65535 --dport 1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT

gni? en debut de script tu as les memes regles, et ici, tu limite

le nombre de port et le protocole?
d'autre part le sport 1024:65536 _ET_ le dport 1024:65536 va me
paraitre
difficile a matcher dans une configuration courante.
Tu veux que ces regles correspondent a quoi?

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT


mises a jour de quoi?

iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT


ca ne rentre pas dans ton cahier des charges (c'est du smtp)

Avatar
R12y
On Wed, 31 May 2006 11:31:19 +0200, clesnews wrote:

iptables v1.2.11: unknown protocol `input' specified


Parceque tu as betement remplacé tous les "P" par des "p"
Pour faire un firewall, il faut au moins comprendre ce qu'on fait.
Et l'histoire des -P et -p est franchement un minimum.
A ce rythme, tu as toutes les chances de faire n'imprte quoi et te bloquer
toi-même....

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

Avatar
R12y
On Wed, 31 May 2006 11:31:56 +0200, clesnews wrote:

PAS COMPRIS ...


Inutile de crier. Ici, majuscule = crier.

C'était une _autre_ solution, c'est à dire que tu n'est pas obligé de la
prendre en compte. La tienne marche bien, la sienne aussi. Mais je te
conseille de lire quelques tutoriel sur iptables, et surtout, de ne pas
tester directement sur ton serveur dédié.

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

Avatar
R12y
On Wed, 31 May 2006 02:44:19 -0700, octane wrote:

2/ Si vous voyez des choses a ameliorer

precises ce que tu veux faire. Cette machine est un serveur? de quoi?

juste un client? pour faire quoi? surf, news, mail, autre?
une passerelle filtrante?


C'est un serveuer dédié. Mais qui sera client pour se mettre à jour.

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum


Avatar
clesnews
exact

"R12y" a écrit dans le message
de news:
On Wed, 31 May 2006 02:44:19 -0700, octane wrote:

2/ Si vous voyez des choses a ameliorer

precises ce que tu veux faire. Cette machine est un serveur? de quoi?

juste un client? pour faire quoi? surf, news, mail, autre?
une passerelle filtrante?


C'est un serveuer dédié. Mais qui sera client pour se mettre à jour.

--
Debian/apt Repo:
http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo:
http://locataire-serveur.info/sections/liens/fedora-core-yum





Avatar
clesnews
Et maintenant:

iptables v1.2.11: unknown protocol `input' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.11: unknown protocol `output' specified
Try `iptables -h' or 'iptables --help' for more information.

Fichier

#!/bin/sh
iptables -F
PATH=/sbin:/bin:/usr/bin:/usr/sbin
/sbin/modprobe ip_conntrack_ftp ports!,6438

# default policy : DROP
iptables -p INPUT DROP
iptables -p OUTPUT DROP

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
Avatar
clesnews
Merci j'ai corrigé et ca marche.
Juste pas compris comment lancer automatiquement le script

a écrit dans le message de news:

j'ai crée un fichier nomé firewall.sh

Soucis:

1/ un message d'erreur
iptables v1.2.11: Can't use -P with -A

tu as une ligne qui contient un -P (policy par defaut) et un -A

(ajouter une regle). En lisant ton script, on voit:
iptables -t filter -A OUTPUT -P tcp --sport 1024:65535 --dport
1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT

et la c'est pas bon (faute de typo entre -p et -P)

2/ Si vous voyez des choses a ameliorer

precises ce que tu veux faire. Cette machine est un serveur? de quoi?

juste un client? pour faire quoi? surf, news, mail, autre?
une passerelle filtrante?

sinon voir plus bas

3/ comment faire pour que si la machine reboot le chier soit
automatiquement
executé ?

le mettre dans un script de demarrage. Par exemple le rc.local

ca depend de ta distribution linux. Voir
http://www.linux-france.org/article/sys/init-jaco/init-jaco.html

Voici le fichier:

#!/bin/sh


pourquoi pas bash?

iptables -F

il risque d'y avoir un probleme de $PATH lors du lancement automatique

au boot.
ajoutes un PATH=/sbin:/bin:/usr/bin:/usr/sbin en debut de fichier.

/sbin/modprobe ip_conntrack_ftp ports!,6438

pourquoi ce parametre ports, et ces chiffres?

parmtype: ports:array of int

# default policy : DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# on accepte les paquets relatifs aux connexions deja ouvertes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# accepte tout ce qui concerne l'interface loopback
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT

# accepte tout ce qui provient de l'adresse xx.xx.xx.xx
#iptables -A INPUT -i eth0 -s xx.xx.xx.xx -j ACCEPT

qui est cette adresse?


iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT


tu veux vraiment proposer tous ces services a l'exterieur?

iptables -t filter -A INPUT -p tcp --sport 1024:65535 --dport
1024:65535 -m
state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -P tcp --sport 1024:65535 --dport
1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT

gni? en debut de script tu as les memes regles, et ici, tu limite

le nombre de port et le protocole?
d'autre part le sport 1024:65536 _ET_ le dport 1024:65536 va me
paraitre
difficile a matcher dans une configuration courante.
Tu veux que ces regles correspondent a quoi?

# autoriser les requetes DNS, FTP, HTTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT


mises a jour de quoi?

iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT


ca ne rentre pas dans ton cahier des charges (c'est du smtp)

1 2 3