И nix-shell
, и nix-build
поддерживают передачу аргументов с помощью --arg
и --argstr
. --arg
будет оцениваться как выражение nix, а --argstr
будет рассматриваться как строковый литерал.
Используя выражение, указанное в вопросе, вы можете использовать его для переопределения значения pkgs
следующим образом:
nix-shell -A yarn --arg pkgs 'import /home/me/nixpkgs {}'
Вы можете добавить в выражение еще один аргумент, представляющий ветвь зависимости:
branch ? "2310-nifty-unmerged-feature"
и сослаться на него в выражении с помощью:
profile="export DEPENDENCY_BRANCH=${branch}";
Затем ветку можно передать в командной строке с помощью:
nix-shell --arg branch \"somebranch\"
nix-shell --argstr branch somebranch
Имея это в виду, нужно настроить внешние выражения аналогичным образом и заставить их распространять branch
аргумент.
nix-shell
содержит более подробную информацию об обработке --arg
и --argstr
.
Это должно помочь:
iptables -A INPUT -p tcp --syn --dport 12871:12881 -m connlimit --connlimit-above 15 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
Это приведет к отклонению подключений более 15 с одного исходного IP-адреса.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 150/second --limit-burst 160 -j ACCEPT
При этом действительно разрешено 160 новых соединений (пакетов )до применения ограничения в 150 НОВЫХ соединений (пакетов )в секунду.
iptables -A INPUT -p tcp --syn --dport 12871:12881 -m connlimit --connlimit-above 3 -j REJECT
Это ограничивает до 3 подключений на IP-адрес.
Получена информация из:Ограничить максимальное количество подключений на IP-адрес и количество новых подключений в секунду с помощью iptables
Пример :Ограничение количества подключений в секунду
В следующем примере входящие подключения будут сброшены, если IP сделает более 3 попыток подключения к порту 12871 :12881 в течение 5 секунд.
iptables -A INPUT -p tcp --dport 12871:12881 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 12871:12881 -i eth0 -m state --state NEW -m recent --update --seconds 5 --hitcount 3 -j DROP
Просто измените eth0 на идентификатор вашего интерфейса...
Количество попаданий и секунд можно настроить в соответствии с вашими потребностями.