La sortie STDOUT de la commande "iptables-save" est une suite de lignes qui, presentée au STDIN de "iptables-restore" a pour effet de reproduire les regles iptables telles quelles au moment de l'execution de "iptables-save" (les chaines sont recrées et celles inexistantes au moment de la sauvegarde, supprimées) , et ce pour toutes les tables et toutes les chaines (et leurs politiques) ce qui en soit et déja tres pratique.
Mais de plus (ce qui repond a la question du parent), les lignes ainsi generées correspondent aux arguments que l'on passerait a iptables pour peupler les chaines en question: "-A ....".
Pour la creation des tables ("-N ...") et (pour les chaines "builtin") leur politique par defaut ("-P ..."), il faut regarder les lignes commençant par ":", par example
":PLOUF - [6596:1531004]" implique "iptables -N PLOUF"
et
":INPUT DROP [6596:1531004]" implique "iptables -P INPUT DROP"
Les nombres entre crochets sont les stats pour les paquets et les octets respectivement pour la chaine en question.
A noter tout de meme qu'il manque dans ces lignes la reference a la table visée (option "-t") qu'il est possible de retrouver en cherchant les lignes commençant par "*" par example "*mangle" ce qui sui jusq'au COMMIT se refere a la table en question.
Pour resumer:
#iptables-save
# Generated by iptables-save v1.3.3 on Sun Aug 27 21:10:31 2006
*filter
:INPUT DROP [6596:1531004]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2094864:353911224]
:PLOUF - [0:0]
-A INPUT -i lo+ -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -i lo+ -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Aug 27 21:10:31 2006
# Generated by iptables-save v1.3.3 on Sun Aug 27 21:10:31 2006
*nat
:PREROUTING ACCEPT [39829:3853197]
:POSTROUTING ACCEPT [25:1508]
:OUTPUT ACCEPT [64239:4506008]
-A POSTROUTING -o ppp9+ -j MASQUERADE
COMMIT
# Completed on Sun Aug 27 21:10:31 2006
# Generated by iptables-save v1.3.3 on Sun Aug 27 21:10:31 2006
*mangle
:PREROUTING ACCEPT [8972072:43983625347]
:INPUT ACCEPT [8904220:43942249986]
:FORWARD ACCEPT [64055:40676940]
:OUTPUT ACCEPT [8096951:42527763934]
:POSTROUTING ACCEPT [8161012:42568441108]
-A OUTPUT -m owner --uid-owner lamer -j TOS --set-tos 0x02
COMMIT
# Completed on Sun Aug 27 21:10:31 2006
permet de deduire la config suivante:
# table "filter" pour commencer, l'option "-t" n'est pas necessaire
iptables -N PLOUF
iptables -A INPUT -i lo+ -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i lo+ -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# table "nat"
iptables -t nat -A POSTROUTING -o ppp9+ -j MASQUERADE
#table mangle
iptables -t mangle -A OUTPUT -m owner --uid-owner lamer -j TOS --set-tos 0x02
Pour les curieux:
- lo+ englobe les interfaces "lo" et "lo_lan", interface ethernet interne que j'ai renommé (cf "nameif") pour l'occasion.
- la ligne avec "--set-tos" traine depius l'epoque ou je fesais du P2P sur cette machine et de la QoS sur une autre, il faillait transmettre l'info sur l'emeteur du paquet, elle ne sert plus.
- la chaine "PLOUF" ne sert a rien, je l'ai cree pour l'example.
En fait, perso, j'utilise meme pas "iptables -L" mais toujours iptables-save, meme pour regarder.
Pareil, "route -n" ou "netstat -rn" se remplacent avantageusement par "ip ro ls", 'ifconfig" par contre garde me faveurs alors que la logique voudrait que j'utilise "ip addr ls". Va savoir ...
[^] # Re: Oublie les GUI
Posté par het . En réponse au message Cherche GUI pour iptables. Évalué à 1.
Mais de plus (ce qui repond a la question du parent), les lignes ainsi generées correspondent aux arguments que l'on passerait a iptables pour peupler les chaines en question: "-A ....".
Pour la creation des tables ("-N ...") et (pour les chaines "builtin") leur politique par defaut ("-P ..."), il faut regarder les lignes commençant par ":", par example
":PLOUF - [6596:1531004]" implique "iptables -N PLOUF"
et
":INPUT DROP [6596:1531004]" implique "iptables -P INPUT DROP"
Les nombres entre crochets sont les stats pour les paquets et les octets respectivement pour la chaine en question.
A noter tout de meme qu'il manque dans ces lignes la reference a la table visée (option "-t") qu'il est possible de retrouver en cherchant les lignes commençant par "*" par example "*mangle" ce qui sui jusq'au COMMIT se refere a la table en question.
Pour resumer:
#iptables-save
# Generated by iptables-save v1.3.3 on Sun Aug 27 21:10:31 2006
*filter
:INPUT DROP [6596:1531004]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2094864:353911224]
:PLOUF - [0:0]
-A INPUT -i lo+ -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -i lo+ -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Aug 27 21:10:31 2006
# Generated by iptables-save v1.3.3 on Sun Aug 27 21:10:31 2006
*nat
:PREROUTING ACCEPT [39829:3853197]
:POSTROUTING ACCEPT [25:1508]
:OUTPUT ACCEPT [64239:4506008]
-A POSTROUTING -o ppp9+ -j MASQUERADE
COMMIT
# Completed on Sun Aug 27 21:10:31 2006
# Generated by iptables-save v1.3.3 on Sun Aug 27 21:10:31 2006
*mangle
:PREROUTING ACCEPT [8972072:43983625347]
:INPUT ACCEPT [8904220:43942249986]
:FORWARD ACCEPT [64055:40676940]
:OUTPUT ACCEPT [8096951:42527763934]
:POSTROUTING ACCEPT [8161012:42568441108]
-A OUTPUT -m owner --uid-owner lamer -j TOS --set-tos 0x02
COMMIT
# Completed on Sun Aug 27 21:10:31 2006
permet de deduire la config suivante:
# table "filter" pour commencer, l'option "-t" n'est pas necessaire
iptables -N PLOUF
iptables -A INPUT -i lo+ -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i lo+ -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# table "nat"
iptables -t nat -A POSTROUTING -o ppp9+ -j MASQUERADE
#table mangle
iptables -t mangle -A OUTPUT -m owner --uid-owner lamer -j TOS --set-tos 0x02
Pour les curieux:
- lo+ englobe les interfaces "lo" et "lo_lan", interface ethernet interne que j'ai renommé (cf "nameif") pour l'occasion.
- la ligne avec "--set-tos" traine depius l'epoque ou je fesais du P2P sur cette machine et de la QoS sur une autre, il faillait transmettre l'info sur l'emeteur du paquet, elle ne sert plus.
- la chaine "PLOUF" ne sert a rien, je l'ai cree pour l'example.
En fait, perso, j'utilise meme pas "iptables -L" mais toujours iptables-save, meme pour regarder.
Pareil, "route -n" ou "netstat -rn" se remplacent avantageusement par "ip ro ls", 'ifconfig" par contre garde me faveurs alors que la logique voudrait que j'utilise "ip addr ls". Va savoir ...
Vala, "my 2c" comme disent nos amis saxons.