# Memo Configuration

**Memo commandes iptables**

---

Accepter tout provenant d'une IP:

```bash
iptables -A INPUT -s 185.149.218.50 -j ACCEPT 
iptables -A OUTPUT -d 185.149.218.50 -j ACCEPT
```

Accepter ICMP:

```bash
iptables -A OUTPUT -p icmp -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT -> Tout accepter
iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT -> Juste ICMP déjà établit par la machine	
```

Refuser tout sauf ce qui est déjà autorisé (dernière règle ) entrer:

```bash
iptables -P INPUT DROP
```

Accepter tout venant du réseau local:

```bash
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
```

Lister règles actives dans iptable:

```bash
iptables -L
```
Avec numéro de ligne (pratique quand on veut modifier ou supprimer une règle)
	
```bash
iptables -L --line-numbers
```

Supprimer une règle:	

```bash
iptables -D INPUT/OUTPUT x (x= num ligne) ex: iptables -D INPUT 5
```

Ajouter une règle à la Xènieme position:

```bash
iptable -I INPUT/OUTPUT x règleaAppliquer ACCEPT -> ex iptables -I INPUT 3 -s 77.146.24.106 -p tcp -i etho0 --dport 80 -j ACCEPT
```

Remplacer une règle:

```bash
iptable -R INPUT/OUTPUT x règleaAppliquer ACCEPT -> ex iptables -R INPUT 3 -s 77.146.24.106 -p tcp -i etho0 --dport 80 -j ACCEPT
```

Sauvegarder configuration:

```bash
iptables-save -c
netfilter-persistent save -> Pour prise en compte au redémarrage (installer iptables-persistent avant, apt-get install iptables-persistent)
```
    
ou 

```bash
iptables-save -c >> /etc/iptables/rules.v4 (Pareil qui netfilter-persistent save)
netfilter-persistent reload (Permet de tester si la config est bien sauvegardée)
```

#### Liens Utiles:
	
✔ [Doc Ubuntu](https://doc.ubuntu-fr.org/iptables)<br>
✔ [Developpez Forum - Iptables](https://www.developpez.net/forums/d573017/systemes/linux/reseau/iptables-autoriser-ip/)<br>
✔ [ubuntu Forum](https://help.ubuntu.com/community/IptablesHowTo)