Соответствие правила Iptables

С помощью @GunnarHjalmarsson я решил проблему.

Я точно не знаю, почему это произошло, но, возможно, Firefox искал шрифты там, нашел один и использовал его.

Решение

@GunnarHjalmarsson предложило переместить шрифты в /usr/share/fonts/calibri.

Поскольку это были шрифты TrueType, я переместил их в /usr/share/fonts/truetype/calibri

. На самом деле в пакете больше шрифтов, поэтому я сделал это:

for i in calibri cambria candara consola constan corbel; do
    sudo mkdir /usr/share/fonts/truetype/$i # create the folder
    sudo mv ~/.fonts/$i* /usr/share/fonts/truetype/$i/ # move the font files
    sudo chmod 644 /usr/share/fonts/truetype/$i/* # change permission of the fonts to rw-r--r--
done

После этого Я удалил ~/.fonts и перезапустил Firefox, и проблема была решена ...

Но тогда шрифты больше не были доступны (по крайней мере, для XeTeX). Поэтому я загрузил скрипт, который сначала установил шрифты:

wget -qO- http://plasmasturm.org/code/vistafonts-installer/vistafonts-installer

, но не выполнил его. В конце скрипта я нашел fc-cache -fv ~/.fonts. Читая страницу man fc-cache, я узнал, что эта команда создает сортировку доступных шрифтов, поэтому я использовал:

fc-cache -fvs

для восстановления этих сопоставлений.

После этого

Я должен добавить, что на другом компьютере (как с Ubuntu 16.04, так и с Firefox 58) я сделал то же самое, что и у моего Firefox, и шрифты были доступны для XeTeX. процедура, описанная в вопросе (установка шрифта), но проблемы не произошло ... Я понятия не имею, почему: P

0
задан 4 February 2018 в 19:12

3 ответа

Поскольку ваше первое правило не запускается до тех пор, пока в третий раз его не пройдут, и ваше второе правило полностью удалит запись таблицы, первое правило будет наблюдать только то, что, по его мнению, является первым пакетом с этого IP-адреса. 0]

Не используйте правило «удалить», и таблица «ping» будет управляться просто отлично.

EDIT: Вот один из способов использования iptables и последнего модуля, чтобы иметь другой время запрета, чем время, чтобы стать запрещенным. Я использовал 5 pings за 10 секунд в качестве критериев запрета и только время запрета на 120 секунд (просто чтобы было легче проверить).

#!/bin/sh
FWVER=0.01
#
# ping_then_block Smythies 2018.02.05 Ver:0.01
#       An iptables recent module example of how to make the
#       ban time differ from the time to become banned.
#
#       See here:
#       https://askubuntu.com/questions/1002958/iptables-rule-matching
#
#       run as sudo
#

echo "Loading ping_then_block $FWVER..\n"

# The location of the iptables program
#
IPTABLES=/sbin/iptables

#Setting the EXTERNAL and INTERNAL interfaces and addresses for the network
#
# Smythies (for testing)
EXTIF="enp9s0"
EXTIP="192.168.111.104"
NETWORK="192.168.111.0/24"

UNIVERSE="0.0.0.0/0"

#Clearing any previous configuration
#
echo "  Clearing any existing rules and setting default policies.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -F FORWARD
# Otherwise, I can not seem to delete it later on
$IPTABLES -F ping-check
$IPTABLES -F ping-ban
# Delete user defined chains
$IPTABLES -X
# Reset all IPTABLES counters
$IPTABLES -Z

#######################################################################
# USER DEFINED CHAIN SUBROUTINES:
#
# ping-ban
#
# An ICMP echo request packet source IP address needs to added to
# the bad guy list
#
# Custom tables must exist before being referenced, hence the order
# of these sub-routines.
#
$IPTABLES -N ping-ban

$IPTABLES -A ping-ban -m recent --update --hitcount 1 --seconds 120 --name PING_BAN -j DROP
$IPTABLES -A ping-ban -m recent --set --name PING_BAN
$IPTABLES -A ping-ban -j DROP

#######################################################################
# USER DEFINED CHAIN SUBROUTINES:
#
# ping-check
#
# An ICMP echo request packet has arrived and the source IP
# address is either not on the bad guy list, or is but the penalty
# period criteria has been met.
#
# Check if the IP needs to be added to the bad guy list, and
# drop it if it does.
#
# Custom tables must exist before being referenced, hence the order
# of these sub-routines.
#
$IPTABLES -N ping-check

$IPTABLES -A ping-check -m recent --update --hitcount 5 --seconds 10 --name PING_TABLE -j ping-ban
$IPTABLES -A ping-check -m recent --set --name PING_TABLE
$IPTABLES -A ping-check -j ACCEPT

#
# If you are on the bad guy list, then you are banned.
#
$IPTABLES -A INPUT -i $EXTIF -m recent --update --seconds 120 --name PING_BAN -j LOG --log-prefix "BANPING:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m recent --update --seconds 120 --name PING_BAN -j DROP

#
# All ICMP? Or just ECHO requests?
#
$IPTABLES -A INPUT -i $EXTIF -p ICMP --icmp-type echo-request -s $UNIVERSE -d $EXTIP -j ping-check

$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -m state --state ESTABLISHED,RELATED -j ACCEPT

echo ping_then_block rule set version $FWVER done.
2
ответ дан 22 May 2018 в 13:18
  • 1
    Вы правы +1. Я пытаюсь достичь чего-то вроде: если есть 2 пинга за 5 секунд, тогда запретите IP-адрес, например. 3 часа, но через 3 часа удалите IP из списка ping. – EdiD 5 February 2018 в 20:51
  • 2
    Очень хорошо. Спасибо за предложение. Два последних списка выполняют эту работу. – EdiD 6 February 2018 в 22:37

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

Не используйте правило «удалить», и таблица «ping» будет управляться просто отлично.

EDIT: Вот один из способов использования iptables и последнего модуля, чтобы иметь другой время запрета, чем время, чтобы стать запрещенным. Я использовал 5 pings за 10 секунд в качестве критериев запрета и только время запрета на 120 секунд (просто чтобы было легче проверить).

#!/bin/sh FWVER=0.01 # # ping_then_block Smythies 2018.02.05 Ver:0.01 # An iptables recent module example of how to make the # ban time differ from the time to become banned. # # See here: # https://askubuntu.com/questions/1002958/iptables-rule-matching # # run as sudo # echo "Loading ping_then_block $FWVER..\n" # The location of the iptables program # IPTABLES=/sbin/iptables #Setting the EXTERNAL and INTERNAL interfaces and addresses for the network # # Smythies (for testing) EXTIF="enp9s0" EXTIP="192.168.111.104" NETWORK="192.168.111.0/24" UNIVERSE="0.0.0.0/0" #Clearing any previous configuration # echo " Clearing any existing rules and setting default policies.." $IPTABLES -P INPUT ACCEPT $IPTABLES -F INPUT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -F OUTPUT $IPTABLES -P FORWARD ACCEPT $IPTABLES -F FORWARD # Otherwise, I can not seem to delete it later on $IPTABLES -F ping-check $IPTABLES -F ping-ban # Delete user defined chains $IPTABLES -X # Reset all IPTABLES counters $IPTABLES -Z ####################################################################### # USER DEFINED CHAIN SUBROUTINES: # # ping-ban # # An ICMP echo request packet source IP address needs to added to # the bad guy list # # Custom tables must exist before being referenced, hence the order # of these sub-routines. # $IPTABLES -N ping-ban $IPTABLES -A ping-ban -m recent --update --hitcount 1 --seconds 120 --name PING_BAN -j DROP $IPTABLES -A ping-ban -m recent --set --name PING_BAN $IPTABLES -A ping-ban -j DROP ####################################################################### # USER DEFINED CHAIN SUBROUTINES: # # ping-check # # An ICMP echo request packet has arrived and the source IP # address is either not on the bad guy list, or is but the penalty # period criteria has been met. # # Check if the IP needs to be added to the bad guy list, and # drop it if it does. # # Custom tables must exist before being referenced, hence the order # of these sub-routines. # $IPTABLES -N ping-check $IPTABLES -A ping-check -m recent --update --hitcount 5 --seconds 10 --name PING_TABLE -j ping-ban $IPTABLES -A ping-check -m recent --set --name PING_TABLE $IPTABLES -A ping-check -j ACCEPT # # If you are on the bad guy list, then you are banned. # $IPTABLES -A INPUT -i $EXTIF -m recent --update --seconds 120 --name PING_BAN -j LOG --log-prefix "BANPING:" --log-level info $IPTABLES -A INPUT -i $EXTIF -m recent --update --seconds 120 --name PING_BAN -j DROP # # All ICMP? Or just ECHO requests? # $IPTABLES -A INPUT -i $EXTIF -p ICMP --icmp-type echo-request -s $UNIVERSE -d $EXTIP -j ping-check $IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -m state --state ESTABLISHED,RELATED -j ACCEPT echo ping_then_block rule set version $FWVER done.
2
ответ дан 17 July 2018 в 21:34

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

Не используйте правило «удалить», и таблица «ping» будет управляться просто отлично.

EDIT: Вот один из способов использования iptables и последнего модуля, чтобы иметь другой время запрета, чем время, чтобы стать запрещенным. Я использовал 5 pings за 10 секунд в качестве критериев запрета и только время запрета на 120 секунд (просто чтобы было легче проверить).

#!/bin/sh FWVER=0.01 # # ping_then_block Smythies 2018.02.05 Ver:0.01 # An iptables recent module example of how to make the # ban time differ from the time to become banned. # # See here: # https://askubuntu.com/questions/1002958/iptables-rule-matching # # run as sudo # echo "Loading ping_then_block $FWVER..\n" # The location of the iptables program # IPTABLES=/sbin/iptables #Setting the EXTERNAL and INTERNAL interfaces and addresses for the network # # Smythies (for testing) EXTIF="enp9s0" EXTIP="192.168.111.104" NETWORK="192.168.111.0/24" UNIVERSE="0.0.0.0/0" #Clearing any previous configuration # echo " Clearing any existing rules and setting default policies.." $IPTABLES -P INPUT ACCEPT $IPTABLES -F INPUT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -F OUTPUT $IPTABLES -P FORWARD ACCEPT $IPTABLES -F FORWARD # Otherwise, I can not seem to delete it later on $IPTABLES -F ping-check $IPTABLES -F ping-ban # Delete user defined chains $IPTABLES -X # Reset all IPTABLES counters $IPTABLES -Z ####################################################################### # USER DEFINED CHAIN SUBROUTINES: # # ping-ban # # An ICMP echo request packet source IP address needs to added to # the bad guy list # # Custom tables must exist before being referenced, hence the order # of these sub-routines. # $IPTABLES -N ping-ban $IPTABLES -A ping-ban -m recent --update --hitcount 1 --seconds 120 --name PING_BAN -j DROP $IPTABLES -A ping-ban -m recent --set --name PING_BAN $IPTABLES -A ping-ban -j DROP ####################################################################### # USER DEFINED CHAIN SUBROUTINES: # # ping-check # # An ICMP echo request packet has arrived and the source IP # address is either not on the bad guy list, or is but the penalty # period criteria has been met. # # Check if the IP needs to be added to the bad guy list, and # drop it if it does. # # Custom tables must exist before being referenced, hence the order # of these sub-routines. # $IPTABLES -N ping-check $IPTABLES -A ping-check -m recent --update --hitcount 5 --seconds 10 --name PING_TABLE -j ping-ban $IPTABLES -A ping-check -m recent --set --name PING_TABLE $IPTABLES -A ping-check -j ACCEPT # # If you are on the bad guy list, then you are banned. # $IPTABLES -A INPUT -i $EXTIF -m recent --update --seconds 120 --name PING_BAN -j LOG --log-prefix "BANPING:" --log-level info $IPTABLES -A INPUT -i $EXTIF -m recent --update --seconds 120 --name PING_BAN -j DROP # # All ICMP? Or just ECHO requests? # $IPTABLES -A INPUT -i $EXTIF -p ICMP --icmp-type echo-request -s $UNIVERSE -d $EXTIP -j ping-check $IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -m state --state ESTABLISHED,RELATED -j ACCEPT echo ping_then_block rule set version $FWVER done.
2
ответ дан 23 July 2018 в 22:12

Другие вопросы по тегам:

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