Ipatables + adresse MAC

hedora Messages postés 1 Statut Membre -  
kmf31 Messages postés 1564 Statut Contributeur -
je voudrai définir une règle de firewall strict avec iptables pour
la communication entre 2 routeurs :

je voudrai que mon "routeur1" accepte UNIQUEMENT les paquets du protocole tcp (encapsulé dans IP) depuis UNE adresse MAC (celle du routeur distant) et vice versa.

Nb: ds m reseau local ca marche bien mais je vais aussi integre des adresses mac de pc en wan.

merci d avance
A voir également:

2 réponses

crabs Messages postés 909 Statut Membre 507
 
Salut,
Y a le module module MAC qui permet de faire ça. La première commande
vérifie que ce module est actif dans la version d'iptables :
# iptables -m mac --help
...
MAC v1.2.11 options:
 --mac-source [!] XX:XX:XX:XX:XX:XX
                                Match source MAC address

Exemple d'utilisation :
iptables -A INPUT -i eth0 -m mac --mac-source ! MAC_router -j DROP

A+, crabs
0
hedora
 
we j ai essaye le filtrage avec adresse mac est ca marche bien. mais juste ds un Ethernet. je veux l appliquer pour deux pc distants. chaqun se trouve ds un routeur different

Pc1 du Router1 et Pc2 du Router2

iptable + Mac du Pc1 du Router1
et
iptable + Mac du Pc2 du Router2
0
kmf31 Messages postés 1564 Statut Contributeur 501
 
Je crois ca ne fonctionne pas et tu n'as pas acces aux adresses MAC des pcs derrieres d'autres routeur, ca marche seulement si les pcs sont sur le meme sous-reseau ou peut-etre meme sur le meme switch. Si le PC n'est pas dans le meme sous reseau tu ne vois que l'adresse MAC du 1er routeur meme si les requetes viennent d'un autre PC derrier. Chez moi c'est comme ca avec la Freebox. Tout paquet qui entre chez moi par internet, possede l'adresse MAC de la Freebox et c'est ca. Par contre pour mes deux pcs directement relies la ca marche et de meme si c'est separe par un seul switch.

Pour voir ca tu n'as qu'a faire une regle iptables avec la cible LOG, genre:

iptables -I INPUT -s numero_IP_a_tester -i eth0 -j LOG --log-level info

et apres tu regardes l'output de ca dans le fichier /var/log/messages ("tail -f /var/log/messages" pour suivre en directe). Dans cette log tu vois les IPs source et destination (ton IP) et les ports a distant et local et les deux numeros MAC colles ensemble, par exemple:

Jan 19 23:51:03 xxxxxx kernel: IN=eth1 IN= MAC=xxxxxxxxxxxxxxx SRC= IP_Source DST= IP_destination LEN=1356 TOS=0x00 PREC=0x00 TTL=56 ID=55863 DF PROTO=UDP SPT=32889 DPT=32774 LEN=1336

Ici le champ MAC=... contient d'abord ton adresse MAC et apres directement colle la dessus l'adresse MAC de l'autre cote, donc en principe l'adresse MAC que tu souhaites filtrer, seulement si c'est a distance c'est toujours le MAC du routeur et c'est ca.
0