Вы также можете удалить gstreamer0.10-plugins-good
зависимость пакета opera
, отредактировав /var/lib/dpkg/status
.
Просто откройте его текстовым редактором, найдите строку Package: opera
и под ней в строке Depends:
удалите оскорбительный пакет gstreamer0.10-plugins-good
.
После этого apt
снова работает.
попробуй этот
table inet filter {
set blackhole_4 {
type ipv4_addr
flags timeout
}
set blackhole_6 {
type ipv6_addr
flags timeout
}
set greed_4 {
type ipv4_addr
flags dynamic
size 128000
}
set greed_6 {
type ipv6_addr
flags dynamic
size 128000
}
chain input {
type filter hook input priority 0;
ct state new tcp flags syn tcp dport 8000 add @greed_4 { ip saddr ct count over 3 } add @blackhole_4 { ip saddr timeout 1m } drop
ct state new tcp flags syn tcp dport 8000 add @greed_6 { ip6 saddr ct count over 3 } add @blackhole_6 { ip6 saddr timeout 1m } drop
}
}
РЕДАКТИРОВАТЬ :Объяснение от @User1404316 :Так как @Zip May (правильно )запросил некоторое объяснение. Насколько я понимаю,:ct
вводит правило отслеживания соединений , в данном случае для соединений new tcp
, что, если они направляются на порт 8000 (dport
, это порт назначения ), добавить исходный IPv4 в предварительно -определенный набор сбора greed_4
. Если это произойдет, правило продолжится с условием первой скобки: если исходный адрес имеет более трех активных подключений, добавить исходный IPv4 во второй предопределенный набор blackhole_4
, но оставить его там только на одну минуту, и если мы продвинулись так далеко в правиле, затем прервите соединение.
В исходном опубликованном ответе были усечены две длинные строки, но я понял, какими, по моему мнению, они должны быть, и вставил их выше. Хорошей новостью является то, что мое тестирование показывает, что этот ответ работает!
Остается любопытство для меня, как решать, когда устанавливать размеры наборов коллекций и насколько большими они должны быть, поэтому я пока оставил все как есть.