Skip to content

Commit

Permalink
Fixing default route search and code comment typo
Browse files Browse the repository at this point in the history
  • Loading branch information
igorpecovnik committed Oct 8, 2024
1 parent 388ce4e commit d2e41f3
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 9 deletions.
4 changes: 2 additions & 2 deletions lib/armbian-configng/config.ng.jobs.json
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@
],
"status": "Preview",
"author": "Igor Pecovnik",
"condition": "[[ -f /etc/netplan/armbian.yaml ]] && ! cat /etc/netplan/armbian.yaml | diff -q 1>/dev/null <(netplan get all) - || [[ ! -f /etc/netplan/10-dhcp-all-interfaces.yaml ]] && ! cat /etc/netplan/10-dhcp-all-interfaces.yaml 2>/dev/null | diff -q 1>/dev/null <(netplan get all) -"
"condition": ""
},
{
"id": "N04",
Expand All @@ -442,7 +442,7 @@
{
"id": "N05",
"description": "Apply changes",
"prompt": "This will apply new network configuration\n\nwould you like to continue?",
"prompt": "This action might disconnect you from network.\n\nAre you sure network was configured correctly?",
"command": [
"netplan apply"
],
Expand Down
55 changes: 51 additions & 4 deletions lib/armbian-configng/config.ng.network.sh
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,18 @@ function network_config() {
# defaul yaml file
local yamlfile=${1:-armbian}

# delete default automatic DHCP on all wired networks setup
# store current configs to temporal folder
local restore_netplan_config_folder=$(mktemp -d /tmp/XXXXXXXXXX)
rsync --quiet /etc/netplan/* ${restore_netplan_config_folder}/
trap restore_netplan_config 1 2 3 6

restore_netplan_config()
{
echo "Restoring NetPlan configs"
rsync -ar ${restore_netplan_config_folder}/. /etc/netplan --delete
#exit
}

rm -f /etc/netplan/10-dhcp-all-interfaces.yaml

LIST=()
Expand Down Expand Up @@ -238,7 +249,7 @@ function network_config() {
else

#
# Wireless networking
# Wired networking
#
LIST=("dhcp" "Auto IP assigning")
LIST+=("static" "Set IP manually")
Expand All @@ -251,16 +262,35 @@ function network_config() {
netplan set --origin-hint ${yamlfile} bridges.br0.dhcp4=yes
netplan set --origin-hint ${yamlfile} bridges.br0.dhcp6=yes
show_message <<< "$(netplan get all)"
$DIALOG --title " Changing network settings " --yes-button "Yes" --no-button "Cancel" --yesno "This action might disconnect you from network.\n\nAre you sure network was configured correctly?" 9 50
if [[ $? = 0 ]]; then
netplan apply
else
restore_netplan_config
fi
elif [[ "${wiredmode}" == "static" ]]; then
address=$(ip -br addr show dev $adapter | awk '{print $3}')
local ips=()
for f in /sys/class/net/*; do
local intf=$(basename $f)
# skip unwanted
if [[ $intf =~ ^dummy0|^lo|^docker|^virbr ]]; then
continue
else
local tmp=$(ip -4 addr show dev $intf | grep -v "$intf:avahi" | awk '/inet/ {print $2}' | uniq)
[[ -n $tmp ]] && ips+=("$tmp")
fi
done
address=${ips[@]}
[[ -z "${address}" ]] && address="1.2.3.4/5"
address=$($DIALOG --title "Enter IP for $adapter" --inputbox "\nValid format: $address" 9 40 "$address" 3>&1 1>&2 2>&3)
if [[ -n $address && $? == 0 ]]; then
defaultroute=$(ip route show default | grep "$adapter" | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]" | head 1 | xargs)
defaultroute=$(ip route show default | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]" | head -1 | xargs)
defaultroute=$($DIALOG --title "Enter IP for default route" --inputbox "\nValid format: $defaultroute" 9 40 "$defaultroute" 3>&1 1>&2 2>&3)
if [[ -n $defaultroute && $? == 0 ]]; then
nameservers="9.9.9.9,1.1.1.1"
nameservers=$($DIALOG --title "Enter DNS server" --inputbox "\nValid format: $nameservers" 9 40 "$nameservers" 3>&1 1>&2 2>&3)
else
restore_netplan_config
fi
if [[ -n $nameservers && $? == 0 ]]; then
netplan set --origin-hint ${yamlfile} renderer=${renderer}
Expand All @@ -270,9 +300,26 @@ function network_config() {
netplan set --origin-hint ${yamlfile} bridges.br0.addresses='['$address']'
netplan set --origin-hint ${yamlfile} bridges.br0.routes='[{"to":"0.0.0.0/0", "via": "'$defaultroute'","metric":200}]'
netplan set --origin-hint ${yamlfile} bridges.br0.nameservers.addresses='['$nameservers']'
else
restore_netplan_config
fi
if [[ $? == 0 ]]; then
show_message <<< "$(netplan get all)"
$DIALOG --title " Changing network settings " --yes-button "Yes" --no-button "Cancel" --yesno "This action might disconnect you from network.\n\nAre you sure network was configured correctly?" 9 50
if [[ $? = 0 ]]; then
netplan apply
else
restore_netplan_config
fi
fi
else
restore_netplan_config
fi
else
restore_netplan_config
fi
fi
else
restore_netplan_config
fi
}
7 changes: 4 additions & 3 deletions tools/json/config.network.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@
"id": "N03",
"description": "Revert to defaults",
"command": [
"default_network_config"
"default_network_config",
"get_user_continue \"prompt\" process_input; echo $?; exit"
],
"status": "Preview",
"author": "Igor Pecovnik",
"condition": "[[ -f /etc/netplan/armbian.yaml ]] && ! cat /etc/netplan/armbian.yaml | diff -q 1>/dev/null <(netplan get all) - || [[ ! -f /etc/netplan/10-dhcp-all-interfaces.yaml ]] && ! cat /etc/netplan/10-dhcp-all-interfaces.yaml 2>/dev/null | diff -q 1>/dev/null <(netplan get all) -"
"condition": ""
},
{
"id": "N04",
Expand All @@ -43,7 +44,7 @@
{
"id": "N05",
"description": "Apply changes",
"prompt": "This will apply new network configuration\n\nwould you like to continue?",
"prompt": "This action might disconnect you from network.\n\nAre you sure network was configured correctly?",
"command": [
"netplan apply"
],
Expand Down

0 comments on commit d2e41f3

Please sign in to comment.