diff --git a/STABLE/firewall b/STABLE/firewall index f74af7606..04935f011 100755 --- a/STABLE/firewall +++ b/STABLE/firewall @@ -844,7 +844,7 @@ find_broadcasts() { for interface in $all_interfaces; do eval bcast=\$`chain_base $interface`_broadcast if [ "x$bcast" = "xdetect" ]; then - addr="`ip addr show $interface 2> /dev/null`" + addr="`ip -f inet addr show $interface 2> /dev/null`" if [ -n "`echo "$addr" | grep 'inet.*brd '`" ]; then addr="`echo "$addr" | \ grep "inet " | sed 's/^.* inet.*brd //;s/scope.*//'`" @@ -4050,7 +4050,7 @@ add_ip_aliases() # # Get all of the lines that contain inet addresses # - ip addr show $interface 2> /dev/null | grep 'inet' | while read inet cidr rest ; do + ip -f inet addr show $interface 2> /dev/null | grep 'inet' | while read inet cidr rest ; do case $cidr in */*) if in_subnet $external $cidr; then