Проблема заключалась в --efi-directory, это должно быть то же самое, что и grub-mkconfig
arch-root /mnt
grub-install --efi-directory=boot /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux
. Решено.
Вы можете создать несколько скриптов .sh, которые будут выполняться с помощью crontab. в crontab :
00 9 * * * /somedir/blockfun.sh
00 18 * * * /somedir/unblockfun.sh
и добавьте в blockfun.sh что-то вроде этого:
iptables -A INPUT -m string --string "facebook.com" --algo kmp --to 65535 -j DROP
, или как вы предпочитаете блокировать URL
и, конечно, удалите это правило в unblock.sh
Возможно, вы пытаетесь использовать часы местного времени, а ядро, при использовании time
модуля iptables, предполагает, что даты и время указаны в UTC.
Цитируя мою страницу руководства iptables
о -m time
:
time
This matches if the packet arrival time/date is within a given range.
All options are optional, but are ANDed when specified. All times are
interpreted as UTC by default.
Полагаю, вы имеете в виду этот и тот вопрос, когда речь идет о фактической блокировке Facebook.
Есть две вещи, которые там не обсуждаются.
Предполагать, что каждый пакет, направляющийся в Facebook, содержит строку www.facebook.com
- это слишком долго. Обратите внимание, что в связанных вопросах используется только строка facebook.com
. Не самый лучший подход, но это, кажется, общественно приемлемый метод блокировки facebook, так что вы можете сделать это.
После разрешения доменного имени, которое ваше правило не блокирует, ваш компьютер открывает TCP-соединение с Facebook. TCP квитирование не содержит строки www.facebook.com
и поэтому ваше правило не препятствует этому. После этого весь трафик просто принимается каким-то правилом -m state --state related,established -j ACCEPT
, которое у вас, скорее всего, есть.
Следующий sceenshot показывает мою (по умолчанию) таблицу фильтров OpenWRT, где хорошо видно, что для любой цепочки вторым правилом является упомянутое related,established
правило. В сочетании с успешным TCP квитированием, ваше правило никогда не оценивается для любого трафика данных к и от Facebook.
Вам придется ввести свое правило перед этим общим -j ACCEPT
.