[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Erreur "pfctl: DIOCADDRULE: Device busy" en utilisant rtable dans pf.conf
Bonjour,
J'ai voulu utiliser rtable dans pf.conf pour gérer sur une machine OpenBSD
4.3 plusieurs tables de routage et j'ai une erreur "pfctl: DIOCADDRULE:
Device busy" au démarrage.
Au départ j'ai constaté le problème sur un boitier NEXCOM NSA1083L en IPv6,
mais j'ai recréé ce problème sous VMware en IPv6 et enfin en IPv4 (plus
commode pour la majorité des lecteurs!)
OpenBSD : 4.3
VMware guest avec 3 interfaces ethernet vic0, vic1 et vic2
Installation tout ce qu'il y a de plus standard
# cat /etc/hostname.vic0
inet 192.168.0.1 255.255.255.0 NONE
# cat /etc/hostname.vic1
inet 192.168.1.1 255.255.255.0 NONE
# cat /etc/hostname.vic2
dhcp
# cat /etc/pf.conf
pass in inet all
pass out inet all
pass in on vic0 rtable 1
pass in on vic1 rtable 1
# grep inet.ip.forwarding /etc/sysctl.conf
net.inet.ip.forwarding=1 # 1=Permit forwarding (routing) of IPv4
packets
# cat /etc/rc.conf.local
pf=YES
#
Au démarrage on voit un magnifique "pfctl: DIOCADDRULE: Device busy" :
...
starting network
vic2: no link ... got link
DHCPREQUEST on vic2 to 255.255.255.255 port 67
DHCPACK from 192.168.19.254
bound to 192.168.19.236 -- renewal in 900 seconds.
pfctl: DIOCADDRULE: Device busy
starting system logger
...
Bien entendu, le résultat c'est que pf ne marche pas (par exemple on ne peut
pas pinger l'adresse DHCP 192.168.19.236 de vic2).
Nota : si on lance pf sans les lignes rtable dans pf.conf, il fonctionne
correctement, l'erreur provient bien des 2 lignes en question.
Maintenant, si on tape une commande "pfctl -f /etc/pf.conf" plus tard, le
fichier se charge sans erreur et pf fonctionne alors correctement. Le
workaround que j'ai trouvé, est de rajouter en fin de rc.local cette
commande "pfctl -f /etc/pf.conf"
Quelqu'un a-t-il une idée de l'origine de ce problème. Comme c'est la 1ère
fois que je faisais du rtable, il n'est pas exclus que j'ai mal compris
quelque chose. Merci pour toute aide.
Cordialement,
Guy Widloecher