This commit is contained in:
root
2024-01-27 07:49:05 +12:00
commit d45048e439
17 changed files with 435 additions and 0 deletions

71
docs/progs/nmcli.md Normal file
View File

@@ -0,0 +1,71 @@
# Connection start
```bash
nmcli con up ens18
```
# Connection modifity
```bash
ifc=eth0 \
nmcli con mod $ifc ipv4.addresses 172.16.23.56/24 && \
nmcli con mod $ifc ipv4.gateway 172.16.23.1 && \
nmcli con mod $ifc ipv4.dns 172.16.20.130 && \
nmcli con mod $ifc ipv4.method manual && \
nmcli con mod $ifc ipv6.method disable && \
nmcli con up $ifc restart && \
true
```
# Disable IPv6 for all
```
nmcli con show | awk '{if(NR > 1) { print $1; system("nmcli con mod " $1 " ipv6.method disable"); } }'
```
# Connection event
```bash
#!/bin/bash
# This is /etc/NetworkManager/dispatcher.d/0167-cmp.sh
# IFACE="$1" # DEVICE_IFACE
# EVENT="$2" # NM_DISPATCHER_ACTION
# - connectivity-change
# - down
# - up
# - vpn-down
# - vpn-up
#
#
if [ "${NM_DISPATCHER_ACTION}" = "connectivity-change" ]; then
if [ "${CONNECTIVITY_STATE}" = "FULL" ]; then
nmcli conn up ssh-37
exit 0
fi
if [ "${CONNECTIVITY_STATE}" = "LIMITED" ]; then
nmcli conn up ssh-37
exit 0
fi
if [ "${CONNECTIVITY_STATE}" = "NONE" ]; then
exit 0
fi
# exit 0
fi
if true; then
logger -t 0167-cmp.sh @=$@ "ENV" \
NM_DISPATCHER_ACTION=$NM_DISPATCHER_ACTION \
CONNECTION_UUID=$CONNECTION_UUID \
CONNECTION_ID=$CONNECTION_ID \
CONNECTION_DBUS_PATH=$CONNECTION_DBUS_PATH \
CONNECTION_FILENAME=$CONNECTION_FILENAME \
CONNECTION_EXTERNAL=$CONNECTION_EXTERNAL \
DEVICE_IFACE=$DEVICE_IFACE \
DEVICE_IP_IFACE=$DEVICE_IP_IFACE \
CONNECTIVITY_STATE=$CONNECTIVITY_STATE
fi
```