Мне нужен способ отключить, а затем включить доступ в Интернет через командную строку, оставаясь при этом подключенным к Wi-Fi.
Удаление Вашего шлюза по умолчанию должно добиться цели, Вы все еще сможете достигнуть всего в своей подсети, но не за пределами него. IIRC это должно работать, не может попробовать его банкомат, заменить IP Вашим IP маршрутизаторов (в той же подсети):
sudo route del default gw 192.168.1.1
Редактирование: Для отмены его это должно работать:
sudo route add default gw 192.168.1.1
Для нахождения IP шлюзов по умолчанию:
route -n|grep "^0.0.0.0"
То, что можно попробовать, отклоняет все пакеты с помощью правила брандмауэра, принимают все пакеты в сети, когда Вы хотите вещи, нормальные, просто удаляют это правило брандмауэра, делают сценарий и выполнение с кроном. Поскольку больше относится https://help.ubuntu.com/lts/serverguide/firewall.html , я еще не попробовал это, но попробую его позже. Сообщите мне, пробуете ли Вы его передо мной.
Ubuntu теперь имеет параметр в настройках сети Wi-Fi, чтобы ограничить использование соединения локальными ресурсами.
Настройки > Wi-Fi > Значок шестеренки > IPv4/IPv6
Поставьте галочку рядом с использовать это подключение только для ресурсов в своей сети