Много времени потратил на тестирование разных вариантов и чтение инструкций.
Сработал белый список в iptabeles.
Но, если ошибешься при настройке iptabeles, то останешься без интернета в системе, поэтому следует подготовить загрузочную флешку, чтобы можно было если что через нее задавать вопросы на форуме.
======================================================
< Блокировка сайтов по белому списку >
======================================================
0. Подготовка.
Устанавливаем iptables-persistent
sudo apt update && sudo apt install iptables-persistent
На вопросы сохранить настройки сети, выбираем Да.
1. Открываем с правами администратора /etc/hosts
sudo geany /etc/hosts
Прописываем там IP адреса разрешенных сайтов, напротив каждого ip адреса вводим пробел и текстовый вид адреса.
IP адрес forum.runtu.org можно узнать выполнив в терминале команду:
ping forum.runtu.org
Пример строки в hosts:
77.222.57.68 forum.runtu.org
Таким же образом прописываем все адреса, которые должны открываться.
Последняя строка текстового файла должна быть пустой (если все строки заполнены, энтером добавить новую).
В текстовом редакторе нажать кнопку сохранить, и закрыть его.
2. Смотрим изначальный вариант настроек iptabeles
sudo iptables -L
Должны выйти такие настройки по умолчанию
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
3. Блокируем получение файлов от всех адресов
sudo iptables -P INPUT DROP
4. Разрешаем получение файлов от нужного нам сайта
sudo iptables -A INPUT -s 77.222.57.68 -j ACCEPT
5. Проверяем настройки iptabeles
sudo iptables -L
Должно получиться так
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- forum.runtu.org anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
6. Сохраняем настройки iptables, чтобы они не сбросились после перезагрузки системы
sudo dpkg-reconfigure iptables-persistent
На вопросы сохранить настройки сети, выбираем Да.
======================================================
< Временная отмена блокировки сайтов >
======================================================
Если понадобится обновить систему или установить программы.
Отключаем блокировку сайтов
sudo iptables -P INPUT ACCEPT
Устанавливаем программы. Или обновляем систему.
Включаем блокировку сайтов
sudo iptables -P INPUT DROP
Либо можно просто перезагрузить компьютер, чтобы блокировка обратно включилась.
======================================================
< Удаление блокировки сайтов >
======================================================
Для отключения блокировки сайтов достаточно выполнить следующие команды.
Стираем белый список
sudo iptables -F
Включаем прием файлов со всех адресов
sudo iptables -P INPUT ACCEPT
Смотрим настройки iptabeles
sudo iptables -L
Должно получиться так
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Сохраняем настройки iptabeles
sudo dpkg-reconfigure iptables-persistent
Удаляем программу для сохранения настроек iptabeles
sudo apt remove iptables-persistent