Bugzilla – Bug 337130
arpwatch ignores second interface
Last modified: 2008-11-12 10:33:03 UTC
arpwatch invoked as /usr/sbin/arpwatch -N -i eth0 -i tr0 ignores interface eth0. It only watches tr0. If I exchange the interfaces in /etc/sysconfig/arpwatch so it reads ARPWATCH_INTERFACE="tr0 eth0" then the running daemon only watches eth0. Only the last "-i ifX" seems to survive. This worked ok in openSUSE 10.2 so I took the binary /usr/sbin/arpwatch from 10.2 but funny enough that didn't work either! Might be one of the dependant libraries? ldd shows linux-gate.so.1, libresolv.so.2, libpcap.so.0 and libc.so.6 and ld-linux.so.2 but I didn't try further. Instead as a workaround I modfied the start/stop script to invoke arpwatch for each interface configured with additional "-f arp.ifX.dat" flag which works fine. Part of /etc/init.d/arpwatch now reads ----8<---- if [ -n "$ARPWATCH_INTERFACE" ]; then for ifX in $ARPWATCH_INTERFACE; do $ARPWATCH $ARPWATCH_ARGS -f arp.$ifX.dat -i $ifX rc_status -v done else startproc $ARPWATCH $ARPWATCH_ARGS rc_status -v fi ----8<---- and "ps ax|grep arpwatch" shows it running twice: /usr/sbin/arpwatch -N -f arp.eth0.dat -i eth0 /usr/sbin/arpwatch -N -f arp.tr0.dat -i tr0
Fixed for 11.1 and SLE11. Thank you for the report! *** This bug has been marked as a duplicate of bug 149003 ***