GNU/Linux >> Tutoriels Linux >  >> Linux

Service d'exploitation Linux "iptables"

Nom du service

iptables

Description

Les iptables L'utilitaire contrôle le code de filtrage de paquets réseau dans le noyau Linux. Si vous devez configurer des pare-feux et/ou un masquage IP, vous devez installer cet outil. Les /sbin/iptables application est le programme de ligne de commande de l'espace utilisateur utilisé pour configurer les règles de filtrage de paquets Linux IPv4. Étant donné que la traduction d'adresses réseau (NAT) est également configurée à partir des règles de filtrage de paquets, /sbin/iptables est également utilisé pour cela. Il existe un outil similaire pour les réseaux IPv6 alias iptables-ipv6 .

La fonctionnalité iptables est utilisée pour configurer, maintenir et inspecter les tables de règles de filtrage de paquets IP dans le noyau Linux. Plusieurs tables différentes peuvent être définies. Chaque table contient un certain nombre de chaînes intégrées et peut également contenir des chaînes définies par l'utilisateur.

Chaque chaîne est une liste de règles pouvant correspondre à un ensemble de paquets. Chaque règle spécifie quoi faire avec un paquet qui correspond. C'est ce qu'on appelle une cible , qui peut être un saut vers une chaîne définie par l'utilisateur dans la même table.

Nom du package RPM

iptables

Contrôle des services

Exemples de démarrage et d'arrêt

# service iptables start
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]

Utilisation

# service iptables
Usage: /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
# service iptables start
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
# service iptables restart
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables condrestart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0           
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353 
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631 
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
11   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
# service iptables panic
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy DROP: filter                      [  OK  ]
# service iptables save
Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]

Démon

/sbin/iptables

Modules

nfnetlink
ip_conntrack
ip_conntrack_netbios_ns

Configuration

Fichier de configuration

/etc/sysconfig/iptables          - iptables rules
/etc/sysconfig/iptables-config   - iptables configuration

Exemple de fichier de configuration

# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Feb  3 12:54:50 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [254737803:197953409382]
-A INPUT -p tcp -m tcp --dport 162 -j ACCEPT 
-A INPUT -p udp -m udp --dport 162 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 14545 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 14161 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 5634 -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Wed Feb  3 12:54:50 2016

Exemple de configuration de NAT avec iptables

1. Supprimer les règles existantes de chaque table iptables

# iptables -F
# iptables -t nat -F
# iptables -t mangle -F

2. Activer NAT

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i eth1 -j ACCEPT

3. Enregistrer les règles iptables

# service iptables save

Remarque  :Il est nécessaire d'activer le transfert IP avant de configurer NAT.

# echo 1 > /proc/sys/net/ipv4/ip_forward

Exemple d'ouverture d'un port spécifié avec iptables

1. Pour autoriser le trafic entrant sur le port SSH par défaut (22), vous pouvez demander à iptables d'autoriser l'entrée de tout le trafic TCP sur ce port

# iptables -A INPUT -p tcp --dport ssh -j ACCEPT

2. Pour autoriser tout le trafic Web entrant, vous pouvez demander à iptables d'autoriser l'entrée de tout le trafic TCP sur ce port

# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

3. Enregistrer les règles iptables

# service iptables save


Linux
  1. Service du système d'exploitation Linux "dhcpd"

  2. Service d'exploitation Linux "anacron"

  3. Service de système d'exploitation Linux "réseau"

  4. Service d'exploitation Linux "portmap"

  5. Service du système d'exploitation Linux "audité"

Service de système d'exploitation Linux « ldap »

Service d'exploitation Linux "yppasswdd"

Service d'exploitation Linux "xendomains"

Service de système d'exploitation Linux « nscd »

Service d'exploitation Linux "squid"

Service d'exploitation Linux "smartd"