Помимо правильной настройки сетевых адаптеров, VLAN и сетей, для выполнения маршрутизации на вашем Linux-сервере вам также необходимо добавить в файл /etc/sysctl.conf следующие строки:
Первый для IP-переадресации:
net.ipv4.ip_forward = 1
Второй для отключения правил анти--спуфинга, чтобы можно было использовать несколько сетей в одном сетевом адаптере:
net.ipv4.conf.all.rp_filter=0
Чтобы активировать эти правила, выполните:
sudo sysctl -p
Я наблюдаю подобное поведение на одной из своих машин. :Использование sudo
с правильным паролем создает запись в счетчике pam_tally2
.
Запись pam.d/sudo
используется по умолчанию, довольно простая:
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive
В common-auth
я добавил строку pam_tally2.so
вверху перед строкой pam_unix.so
:
auth required pam_tally2.so onerr=fail audit deny=5 unlock_time=900
# here are the per-package modules (the "Primary" block)
auth [success=1 default=ignore] pam_unix.so nullok_secure
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
На справочной странице pam_tally2
указано (выделение мое):
Authentication phase first increments attempted login counter and checks if user should be denied access. If the user is authenticated and the login process continues on call to pam_setcred(3) it resets the attempts counter.
Итак, до сих пор я считаю, что стек неправильно вызывает pam_setcred
. Ни один файл в pam.d
не имеет вызова pam_setcred
(, он даже не установлен в моей системе ).
В примерах на странице руководства -указано (ударение мое):
The module does not have to be called in the account phase because the login calls pam_setcred(3) correctly.
Итак, если нет вызова pam_setcred
, то модуль нужно вызывать в фазе account
.
Я отредактировал файл pam.d/common-account
и добавил сверху:
account required pam_tally2.so
Это сбросит счетчик, когда пользователю удастся аутентифицироваться.
Если пользователь отменяет аутентификацию (, т.е. нажав Ctrl+C при запросе пароля ), это увеличивает счетчик, не уменьшая его, поэтому его нельзя отличить от неудачной попытки.