74 lines
1.6 KiB
Markdown
74 lines
1.6 KiB
Markdown
|
|
# NMCli
|
|
|
|
## 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
|
|
|
|
```
|