rc.library.source smarter ip address listing

This commit is contained in:
bergware
2023-06-17 20:09:11 +02:00
parent 89d499a801
commit d5a3292b88

View File

@@ -57,8 +57,8 @@ good() {
show() {
case $# in
1) ip -br addr show to $1 2>/dev/null|awk '{print $1;exit}';;
2) ip -br addr show $1 $2 2>/dev/null|awk '$3 !~ "169.254" && $3 !~ "fe80" {print $3;exit}';;
3) ip -br $1 addr show $2 $3 2>/dev/null|awk '$3 !~ "169.254" && $3 !~ "fe80" {print $3;exit}';;
2) ip -br addr show $1 $2 2>/dev/null|awk '$3 !~ "^169.254" && $3 !~ "^fe80" {print $3;exit}';;
3) ip -br $1 addr show $2 $3 2>/dev/null|awk '$3 !~ "^169.254" && $3 !~ "^fe80" {print $3;exit}';;
esac
}
@@ -144,7 +144,7 @@ check() {
else
[[ -n ${net[1]} ]] && ipv4=yes bind+=($(sub ${net[1]}))
fi
done <<< $(ip -br -4 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "169.254" {print $1,$3}')
done <<< $(ip -br -4 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "^169.254" {print $1,$3}')
# active ipv6 interfaces (including wireguard)
while IFS='\n' read -r net; do
net=($net)
@@ -153,7 +153,7 @@ check() {
else
[[ -n ${net[1]} ]] && ipv6=yes bind+=($(sub ${net[1]}))
fi
done <<< $(ip -br -6 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "fe80" {print $1,$3}')
done <<< $(ip -br -6 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "^fe80" {print $1,$3}')
# add loopback interface
if [[ "smb nfs ntp" =~ $CALLER ]]; then
[[ $ipv4 == yes ]] && bind+=(127.0.0.1)