systemctl --quiet is-active NetworkManager.service
NM_RC=$?
done
-[ $WAITED -ne 0 ] && echo
+[ $WAITED -eq 1 ] && echo
-CONNECTIONS=$(nmcli connection show | grep -v '^NAME' | wc -l)
+nmcli --terse connection show | grep ':$' >/dev/null
+CONNECTION_DEVICES_UP=$?
+while [ $CONNECTION_DEVICES_UP -eq 0 ]
+do
+ sleep 1
+ nmcli --terse connection show | grep ':$' >/dev/null
+ CONNECTION_DEVICES_UP=$?
+done
+
+CONNECTIONS=$(nmcli --terse connection show | wc -l)
if [ $CONNECTIONS -ne 2 ]
then
echo "Number of connections: $CONNECTIONS" >&2
exit 1
fi
-CONNECTION_LINE_1=$(nmcli connection show \
- | grep -v '^NAME' | head -n 1)
-CONNECTION_LINE_2=$(nmcli connection show \
- | grep -v '^NAME' | tail -n 1)
-CONNECTION_TOKENS=$(echo $CONNECTION_LINE_1 | wc -w)
-#CONNECTION_NAME_POS=$(( $CONNECTION_TOKENS - 3 ))
-CONNECTION_UUID_POS=$(( $CONNECTION_TOKENS - 2 ))
-#CONNECTION_TYPE_POS=$(( $CONNECTION_TOKENS - 1 ))
-CONNECTION_DEVICE_POS=$CONNECTION_TOKENS
-#CONNECTION_NAME_1=$(echo $CONNECTION_LINE_1 \
-# | cut -f -$CONNECTION_NAME_POS -d ' ')
-CONNECTION_UUID_1=$(echo $CONNECTION_LINE_1 \
- | cut -f $CONNECTION_UUID_POS -d ' ')
-#CONNECTION_TYPE_1=$(echo $CONNECTION_LINE_1 \
-# | cut -f $CONNECTION_TYPE_POS -d ' ')
-CONNECTION_DEVICE_1=$(echo $CONNECTION_LINE_1 \
- | cut -f $CONNECTION_DEVICE_POS -d ' ')
-CONNECTION_TOKENS=$(echo $CONNECTION_LINE_2 | wc -w)
-#CONNECTION_NAME_POS=$(( $CONNECTION_TOKENS - 3 ))
-CONNECTION_UUID_POS=$(( $CONNECTION_TOKENS - 2 ))
-#CONNECTION_TYPE_POS=$(( $CONNECTION_TOKENS - 1 ))
-CONNECTION_DEVICE_POS=$CONNECTION_TOKENS
-#CONNECTION_NAME_2=$(echo $CONNECTION_LINE_2 \
-# | cut -f -$CONNECTION_NAME_POS -d ' ')
-CONNECTION_UUID_2=$(echo $CONNECTION_LINE_2 \
- | cut -f $CONNECTION_UUID_POS -d ' ')
-#CONNECTION_TYPE_2=$(echo $CONNECTION_LINE_2 \
-# | cut -f $CONNECTION_TYPE_POS -d ' ')
-CONNECTION_DEVICE_2=$(echo $CONNECTION_LINE_2 \
- | cut -f $CONNECTION_DEVICE_POS -d ' ')
-nmcli connection delete uuid "$CONNECTION_UUID_1"
-nmcli connection delete uuid "$CONNECTION_UUID_2"
+INTERNAL_DEVICE=ifg
+PM_DEVICE=eth0
+
+CONNECTION_LINE_INTERNAL=$(nmcli --terse connection show | grep ":${INTERNAL_DEVICE}$")
+CONNECTION_LINE_PM=$(nmcli --terse connection show | grep ":${PM_DEVICE}$")
+CONNECTION_UUID_INTERNAL=$(echo $CONNECTION_LINE_INTERNAL | cut -f 2 -d ':')
+CONNECTION_UUID_PM=$(echo $CONNECTION_LINE_PM | cut -f 2 -d ':')
+
+nmcli connection delete uuid "$CONNECTION_UUID_INTERNAL"
+nmcli connection delete uuid "$CONNECTION_UUID_PM"
nmcli connection add \
- type 802-3-ethernet \
- ifname $CONNECTION_DEVICE_1 \
- con-name internal \
- autoconnect yes \
- save yes \
+ connection.autoconnect yes \
+ connection.id internal \
+ connection.interface-name $INTERNAL_DEVICE \
+ connection.type 802-3-ethernet \
ipv4.addresses "10.228.109.254/16, 192.168.42.254/24, 192.168.43.254/24" \
ipv4.dns "10.228.109.104, 10.228.109.253" \
ipv4.dns-search "usr.user.hu" \
ipv4.method "manual" \
- ipv4.routes "172.16.223.0/24 10.228.109.236, 10.162.104.0/24 10.228.109.236"
+ ipv4.routes "172.16.223.0/24 10.228.109.236, 10.162.104.0/24 10.228.109.236" \
+ save yes
nmcli connection add \
- type 802-3-ethernet \
- ifname $CONNECTION_DEVICE_2 \
- con-name perimeter \
- autoconnect yes \
- save yes \
+ connection.autoconnect yes \
+ connection.id perimeter \
+ connection.interface-name $PM_DEVICE \
+ connection.type 802-3-ethernet \
ipv4.addresses "192.168.173.1/24" \
ipv4.gateway "192.168.173.254" \
- ipv4.method "manual"
+ ipv4.method "manual" \
+ save yes
nmcli connection show