История изменений
Исправление Aber, (текущая версия) :
На клиенте systemd-resolved? Уже не помню всех деталей, но на клиенте у меня в файле /etc/NetworkManager/dispatcher.d/flush-dns-cache
#!/usr/bin/bash
/usr/bin/echo "NM-SCRIPT-DEBUG: DEVICE_IFACE=$DEVICE_IFACE NM_DISPATCHER_ACTION=$NM_DISPATCHER_ACTION" | /usr/bin/systemd-cat
case $NM_DISPATCHER_ACTION in
up)
[[ $DEVICE_IFACE =~ ^tun[0-9]+$ ]] && {
/usr/bin/resolvectl default-route $DEVICE_IFACE true
/usr/bin/resolvectl domain $DEVICE_IFACE '~.'
/usr/bin/resolvectl dns $DEVICE_IFACE 8.8.8.8
;;
vpn-up)
/usr/bin/resolvectl default-route $DEVICE_IFACE false
/usr/bin/resolvectl domain $DEVICE_IFACE 'skip.'
/usr/bin/resolvectl flush-caches
;;
vpn-down)
/usr/bin/resolvectl flush-caches
/usr/bin/resolvectl default-route $DEVICE_IFACE true
/usr/bin/resolvectl domain $DEVICE_IFACE '~.'
/usr/bin/resolvectl dns $DEVICE_IFACE 77.88.8.8
;;
esac
exit 0
# Send signal USR1 to systemd-resolve, it should print DNS cache into syslog:
# sudo killall -SIGUSR1 systemd-resolve
# Check syslogs for results:
# journalctl -b-0 -u systemd-resolved -f | grep -iE "google|yandex|ya|cache|flush"
И наверное весь смысл этого скрипта был в том чтоб заставить systemd-resolved поменять default-route:
sudo resolvectl default-route wlp4s0 false
sudo resolvectl default-route tun0 true
Ну и чтоб сбросить DNS кеш после включения/выключения тоннеля.
Исходная версия Aber, :
На клиенте systemd-resolved? Уже не помню всех деталей, но на клиенте у меня в файле /etc/NetworkManager/dispatcher.d/flush-dns-cache
#!/usr/bin/bash
/usr/bin/echo "NM-SCRIPT-DEBUG: DEVICE_IFACE=$DEVICE_IFACE NM_DISPATCHER_ACTION=$NM_DISPATCHER_ACTION" | /usr/bin/systemd-cat
case $NM_DISPATCHER_ACTION in
up)
[[ $DEVICE_IFACE =~ ^tun[0-9]+$ ]] && {
/usr/bin/resolvectl default-route $DEVICE_IFACE true
/usr/bin/resolvectl domain $DEVICE_IFACE '~.'
/usr/bin/resolvectl dns $DEVICE_IFACE 8.8.8.8
;;
vpn-up)
/usr/bin/resolvectl default-route $DEVICE_IFACE false
/usr/bin/resolvectl domain $DEVICE_IFACE 'skip.'
/usr/bin/resolvectl flush-caches
;;
vpn-down)
/usr/bin/resolvectl flush-caches
/usr/bin/resolvectl default-route $DEVICE_IFACE true
/usr/bin/resolvectl domain $DEVICE_IFACE '~.'
/usr/bin/resolvectl dns $DEVICE_IFACE 77.88.8.8
;;
esac
exit 0
# Send signal USR1 to systemd-resolve, it should print DNS cache into syslog:
# sudo killall -SIGUSR1 systemd-resolve
# Check syslogs for results:
# journalctl -b-0 -u systemd-resolved -f | grep -iE "google|yandex|ya|cache|flush"
И наверное весь смысл этого скрипта был в том чтоб заставить systemd-resolved поменять default-route:
sudo resolvectl default-route wlp4s0 false
sudo resolvectl default-route tun0 true