1
0
mirror of synced 2025-03-03 19:33:16 +03:00

Clean up network detection

- Clean up default network interface detection and remove VPN_NET_IFACE
This commit is contained in:
hwdsl2 2019-01-12 00:44:23 -06:00
parent 2e164ad976
commit ed5cbb865f
2 changed files with 14 additions and 30 deletions

View File

@ -69,10 +69,8 @@ if [ "$(id -u)" != 0 ]; then
exiterr "Script must be run as root. Try 'sudo sh $0'" exiterr "Script must be run as root. Try 'sudo sh $0'"
fi fi
NET_IFACE=${VPN_NET_IFACE:-'eth0'} def_iface=$(route 2>/dev/null | grep '^default' | grep -o '[^ ]*$')
def_iface="$(route 2>/dev/null | grep '^default' | grep -o '[^ ]*$')" [ -z "$def_iface" ] && def_iface=$(ip -4 route list 0/0 2>/dev/null | grep -Po '(?<=dev )(\S+)')
[ -z "$def_iface" ] && def_iface="$(ip -4 route list 0/0 2>/dev/null | grep -Po '(?<=dev )(\S+)')"
def_state=$(cat "/sys/class/net/$def_iface/operstate" 2>/dev/null) def_state=$(cat "/sys/class/net/$def_iface/operstate" 2>/dev/null)
if [ -n "$def_state" ] && [ "$def_state" != "down" ]; then if [ -n "$def_state" ] && [ "$def_state" != "down" ]; then
if ! uname -m | grep -qi '^arm'; then if ! uname -m | grep -qi '^arm'; then
@ -83,18 +81,12 @@ if [ -n "$def_state" ] && [ "$def_state" != "down" ]; then
esac esac
fi fi
NET_IFACE="$def_iface" NET_IFACE="$def_iface"
fi else
eth0_state=$(cat "/sys/class/net/eth0/operstate" 2>/dev/null)
net_state=$(cat "/sys/class/net/$NET_IFACE/operstate" 2>/dev/null) if [ -z "$eth0_state" ] || [ "$eth0_state" = "down" ]; then
if [ -z "$net_state" ] || [ "$net_state" = "down" ] || [ "$NET_IFACE" = "lo" ]; then exiterr "Could not detect the default network interface."
printf "Error: Network interface '%s' is not available.\n" "$NET_IFACE" >&2
if [ -z "$VPN_NET_IFACE" ]; then
cat 1>&2 <<EOF
Could not detect the default network interface. Re-run this script with:
sudo VPN_NET_IFACE="default_interface_name" sh "$0"
EOF
fi fi
exit 1 NET_IFACE=eth0
fi fi
[ -n "$YOUR_IPSEC_PSK" ] && VPN_IPSEC_PSK="$YOUR_IPSEC_PSK" [ -n "$YOUR_IPSEC_PSK" ] && VPN_IPSEC_PSK="$YOUR_IPSEC_PSK"

View File

@ -60,10 +60,8 @@ if [ "$(id -u)" != 0 ]; then
exiterr "Script must be run as root. Try 'sudo sh $0'" exiterr "Script must be run as root. Try 'sudo sh $0'"
fi fi
NET_IFACE=${VPN_NET_IFACE:-'eth0'} def_iface=$(route 2>/dev/null | grep '^default' | grep -o '[^ ]*$')
def_iface="$(route 2>/dev/null | grep '^default' | grep -o '[^ ]*$')" [ -z "$def_iface" ] && def_iface=$(ip -4 route list 0/0 2>/dev/null | grep -Po '(?<=dev )(\S+)')
[ -z "$def_iface" ] && def_iface="$(ip -4 route list 0/0 2>/dev/null | grep -Po '(?<=dev )(\S+)')"
def_state=$(cat "/sys/class/net/$def_iface/operstate" 2>/dev/null) def_state=$(cat "/sys/class/net/$def_iface/operstate" 2>/dev/null)
if [ -n "$def_state" ] && [ "$def_state" != "down" ]; then if [ -n "$def_state" ] && [ "$def_state" != "down" ]; then
case "$def_iface" in case "$def_iface" in
@ -72,18 +70,12 @@ if [ -n "$def_state" ] && [ "$def_state" != "down" ]; then
;; ;;
esac esac
NET_IFACE="$def_iface" NET_IFACE="$def_iface"
fi else
eth0_state=$(cat "/sys/class/net/eth0/operstate" 2>/dev/null)
net_state=$(cat "/sys/class/net/$NET_IFACE/operstate" 2>/dev/null) if [ -z "$eth0_state" ] || [ "$eth0_state" = "down" ]; then
if [ -z "$net_state" ] || [ "$net_state" = "down" ] || [ "$NET_IFACE" = "lo" ]; then exiterr "Could not detect the default network interface."
printf "Error: Network interface '%s' is not available.\n" "$NET_IFACE" >&2
if [ -z "$VPN_NET_IFACE" ]; then
cat 1>&2 <<EOF
Could not detect the default network interface. Re-run this script with:
sudo VPN_NET_IFACE="default_interface_name" sh "$0"
EOF
fi fi
exit 1 NET_IFACE=eth0
fi fi
[ -n "$YOUR_IPSEC_PSK" ] && VPN_IPSEC_PSK="$YOUR_IPSEC_PSK" [ -n "$YOUR_IPSEC_PSK" ] && VPN_IPSEC_PSK="$YOUR_IPSEC_PSK"