Блокировка интернета при проведении ВсОШ в Москве
Материал из IT в школе
Версия от 12:02, 4 октября 2024; Dkirienko (обсуждение | вклад) (Создание страницы, настройка в МОС)
Эта статья описывает необходимые настройки фильтрации интернета при проведении школьного и муниципального этапов всероссийской олимпиады школьников в Москве, если такая фильтрация осуществляется на каждом компьютере при помощи файрвола на каждом компьютере. В статье описаны настройки для систем МОС-12 и Windows-10.
Список необходимых разрешённых хостов
На каждом компьютере должен быть открыт доступ:
- Для всех соединений, находящихся в состоянии Established или Related, то есть для уже открытых соединений.
- DNS-протокол: TCP и UDP, порт 53.
- ICMP-протокол, входящие и исходящие соединения, для тестирования сети командой ping.
- Входящие соединения по протоколу TCP на порт 22 - если используется ssh-сервер, запущенный на компьютере, для удалённого управления им.
- Все соединения на localhost, для работы локальных приложений.
Также должны быть разрешены исходящие соединения на следующие адреса.
Имя хоста | IP-адрес | Зачем нужен |
---|---|---|
10.0.0.0/8 | Локальная сеть ДОНМ для доступа ко всем ресурсам, для простоты конфигурирования | |
school.mos.ru | 94.79.51.81
94.79.51.82 94.79.51.83 |
Необходим для работы тестирующей системы МЭШ и "Магазина приложений" МОС |
olympiads.ru | 194.58.88.173 | Сайт городской предметно-методической комиссии ВсОШ по информатике |
os.mos.ru
repo.os.mos.ru |
37.230.149.17 | Репозитории МОС, для установки пакетов, если возникнет необходимость доставить приложения. |
marketplace.visualstudio.com | 13.107.42.18 | Магазин расширений для VSCode |
ms-vscode.gallerycdn.vsassets.io | 68.232.34.200 | Необходим для скачивания расширений для VSCode |
ms-vscode.gallery.vsassets.io | 13.107.6.175 | Необходим для скачивания расширений для VSCode |
az764295.vo.msecnd.net | 152.199.19.160 | Необходим для скачивания расширений для VSCode |
it-help-school.ru | 91.221.70.4 | Этот сайт, для доступа к техническим инструкциям |
Настройка МОС-12
В МОС-12 можно записать в файл /etc/sysconfig/nftables.conf следующий набор правил:
# Эта команда сбрасывает все правила, иначе новые правила будут добавляться к ранее установленным
flush ruleset
table ip filter {
chain input {
# Правила обработки входящих пакетов
# По умолчанию ставим правило drop для пакетов
type filter hook input priority 0; policy drop;
# Принимаем пакеты всех установленных соединений
ct state established,related accept
# Принимаем пакеты на 22 порт (для управления компьютером по ssh)
tcp dport 22 accept
# Принимаем входящий ping
icmp type echo-request accept
# Принимаем все пакеты с этого компьютера (на lo-интерфейс)
iif lo accept
}
chain output {
# Правила обработки исходящих пакетов
# По умолчанию ставим правило drop для пакетов
type filter hook output priority 0; policy drop;
# Разрешаем все установленные соединения
ct state established,related accept
# Разрешаем соединения на порт 53 для работы DNS
tcp dport 53 accept
udp dport 53 accept
# Разрешаем соединения на этот же компьютер (lo-интерфейс)
oif lo accept
# Далее идёт белый список сайтов, к которым должен быть открыт доступ
# Вся локальная сеть 10.*.*.* на всякий случай целиком
ip daddr 10.0.0.0/8 accept
# olympiads.ru
ip daddr 194.58.88.173 accept
# Репозитории МОС для возможности установки пакетов
# os.mos.ru, repo.os.mos.ru
ip daddr 37.230.149.17 accept
# school.mos.ru
ip daddr 94.79.51.81 accept
ip daddr 94.79.51.82 accept
ip daddr 94.79.51.83 accept
# Магазин расширений для vscode
# marketplace.visualstudio.com
ip daddr 13.107.42.18 accept
# ms-vscode.gallerycdn.vsassets.io
ip daddr 68.232.34.200 accept
# ms-vscode.gallery.vsassets.io
ip daddr 13.107.6.175 accept
# az764295.vo.msecnd.net
ip daddr 152.199.19.160 accept
# it-help-school.ru
ip daddr 91.221.70.4 accept
}
}
Затем выполните команды для включения файрвола под root
# systemctl enable nftables # systemctl start nftables
Для отключения фильтрации выполните команды
# systemctl disable nftables # systemctl stop nftables