Заблокировать все веб-сайты, кроме Kahn academy.

Шаблон подстановки имени файла для «либо 1, либо 2» — [12]. Это будет соответствовать одному символу, который равен либо 1, либо 2.

Чтобы сопоставить все .cфайлы, имена которых начинаются с abcи продолжаются с 1 или 2, вы должны использовать

abc[12].c

Чтобы разрешить пятый символ, который является также 1 или 2, вы должны использовать

abc[12][12].c

?будет соответствовать любому одиночному символу, а *будет соответствовать любому количеству символов , поэтому abc[12][12]???.cбудет соответствовать abc11xxx.c, но не abc11xxxx.c, тогда как abc[12][12]*.cбудет.

1
27.04.2020, 20:52
1 ответ

IIRC, блокирующий сайты в /etc/hosts, переопределяет только DNS-поиск машины, вместо того, чтобы фактически блокировать подключения, поэтому дети, вероятно, все еще могут получить доступ к YouTube, напрямую перейдя по IP-адресу в адресной строке

Я бы использовал для этого брандмауэр iptables, чтобы ваша цепочка правил выглядела примерно так:

iptables --append OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 

, чтобы заработали уже установленные соединения.

Затем, для IP основного сайта академии хана и IP-адресов каждого из сайтов, нуждающихся в белом списке, упомянутых в этом руководстве (, которые можно найти, используя, например, dig +short youtube-nocookie.comиз dnsutils,)

iptables --append OUTPUT --destination [IP of site] -j ACCEPT

Что позволит разрешить любые исходящие подключения к этим сайтам

Затем, чтобы УДАЛИТЬ все исходящие запросы на подключение от этого пользователя, которые не были приняты в предыдущих правилах,

iptables --append OUTPUT -m owner --uid-owner [Ubuntu-Username] -j DROP 

, затем сохраните/установите конфигурацию

iptables-save 

Так работает

(UbuntuUser requests connection, sending output packet)
=> (if packet is part of an ongoing relationship, Accept (send) it)
=> (if packet destination is a khanacademy site, Accept it) 
=> (if packet is from this user, and hasn't been accepted already, drop it) 

Недостатком является то, что если IP-адрес любого из тех сайтов, которые вам нужно внести в белый список, изменится, вам придется перенастроить правила iptables, и чтобы использовать этот способ, вам нужно иметь права администратора на машине, но это дает вам контроль над сетевыми пакетами на уровне ядра -, что сложнее для кого-то понять

Вы, вероятно, захотите сделать что-то похожее на цепочку INPUT, если она еще не была обработана, но вышеизложенное должно (теоретически, я не пробовал на практике )достичь того, что вам нужно

Это руководство также может быть устаревшим, первый из этих сайтов из белого списка, похоже, не в сети

0
19.03.2021, 02:25

Теги

Похожие вопросы