Dimka

Рейтинг
228
Регистрация
07.11.2000
kovalkov:
Dimka, да, конечно, тариф BS-64-SSD https://fastvps.ru/dedicated#/cheapssd

Гарантированная скорость 1 Гбит/с?

В каком ДЦ будет?

kovalkov, у FastVPS можно арендовать этот сервер?

Intel® Core™ i7-6700 Quad-Core Skylake

Оперативная память: 64 ГБ DDR4

Жёсткие диски: 2 x 250 ГБ SATA 6 Гбит/с SSD

Подключение: 1 Гбит/с порт

Гарантировано: 1 Гбит/с
Место для резервных копий: 100 ГБ

http://ru.hetzner.com/hosting/produkte_rootserver/ex41sssd

netwind:
Раз правил нет - надо отключать.

получается, nf_nat, iptable_nat, а уже потом nf_conntrack_ipv4

nf_nat - получилось отключить, iptable_nat - не дает.

---------- Добавлено 11.03.2016 в 17:38 ----------

esetnod:
У вас nginx сам всё же ходит так интенсивно на бэкэнд

Все запросы (почти) статика, без бакэнда.

---------- Добавлено 11.03.2016 в 17:54 ----------

netwind, как мне кажется, очень верно указал причину - модуль conntrack.

При уменьшении в sysctl net.ipv4.netfilter.ip_conntrack_tcp_timeout****** стало легче.

Было net.netfilter.nf_conntrack_count = 312231, сейчас до 40.000

Забыл спросить.

После уменьшения таймаутов net.ipv4.netfilter.ip_conntrack_tcp_timeout_***** при выводе стат с ip_conntrack и было очень много с [UNREPLIED]:

2416 ESTABLISHED [UNREPLIED]

53289 SYN_SENT [UNREPLIED]

Это нормально?

Хочу сделать это во время минимального наплыва посетителей. А чем лучше тестить? Чем создавать нагрузку? Мне кажется, что ab не потянет.

Может быть проблема больше из-за того, что много уникальных IP коннектится к сайту (до 35-40К IP в минуту)? Или это не имеет значения, кто создает 40к коннектов в минуту: несколько IP или много?

Большое спасибо за ответы и советы.

netwind:
выгрузить последовательно модули, от которых зависит conntrack : получается, nf_nat, iptable_nat, а уже потом nf_conntrack_ipv4

1. ничего важного не теряю без этих модулей?

2. может ли вообще отвалиться сеть при попытке их выгрузки?

iptables-save

*mangle
:PREROUTING ACCEPT [177843126:17635608945]
:INPUT ACCEPT [177843126:17635608945]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [142916802:112534774905]
:POSTROUTING ACCEPT [142916802:112534774905]
COMMIT

*nat
:PREROUTING ACCEPT [25697328:1492668854]
:POSTROUTING ACCEPT [46158:15496482]
:OUTPUT ACCEPT [46158:15496482]
COMMIT


*filter
:INPUT ACCEPT [9278874:990739787]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8898559:6764500732]
:fail2ban-ssh - [0:0]
:fail2ban-ssh-ddos - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh-ddos
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A fail2ban-ssh -s 180.XXX.XXX.XXX/32 -j DROP
-A fail2ban-ssh -s 40.XXX.XXX.XXX/32 -j DROP
-A fail2ban-ssh -s 60.XXX.XXX.XXX/32 -j DROP
-A fail2ban-ssh -s 183.XXX.XXX.XXX/32 -j DROP
-A fail2ban-ssh -j RETURN
-A fail2ban-ssh-ddos -j RETURN
COMMIT



---------- Добавлено 08.03.2016 в 10:45 ----------

fail2ban стоит недавно, и до него бывали проблемы. Поставил, т.к. надоели многомегабайтные логи подбора доступа.

iptables -L -n -v (заменил IP XXX)

Chain INPUT (policy ACCEPT 4893K packets, 522M bytes)
pkts bytes target prot opt in out source destination
3895 332K fail2ban-ssh-ddos tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
3895 332K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 4698K packets, 3581M bytes)
pkts bytes target prot opt in out source destination

Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
163 9780 DROP all -- * * 180.XXX.XX.XX 0.0.0.0/0
19 1632 DROP all -- * * 40.XXX.XXX.XX 0.0.0.0/0
0 0 DROP all -- * * 60.XXX.XXX.XX 0.0.0.0/0
51 3060 DROP all -- * * 183.XXX.XXX.XX 0.0.0.0/0
3439 305K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Chain fail2ban-ssh-ddos (1 references)
pkts bytes target prot opt in out source destination
3895 332K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
netwind:
Там тоже своих таймаутов куча и он как бы сам по себе, потому что призван отслеживать чужие транзитные соединения на линукс-роутерах.
Но я бы пока не пытался эти параметры испортить, если можно просто лимит поднять.

Опустил все таймауты net.ipv4.netfilter.ip_conntrack_tcp_timeout_***** - провисать и выпадать по таймауту стало меньше.

Стал net.netfilter.nf_conntrack_count = 49574 (вместо 312231)

lsmod | grep ipt

iptable_mangle 2817 0
iptable_nat 4283 0
nf_nat 13308 1 iptable_nat
nf_conntrack_ipv4 9833 3 nf_nat,iptable_nat
nf_conntrack 46391 3 nf_conntrack_ipv4,nf_nat,iptable_nat
iptable_filter 2258 1
ip_tables 13915 3 iptable_filter,iptable_nat,iptable_mangle
x_tables 12845 4 ip_tables,xt_multiport,ip6_tables,iptable_nat

lsmod | grep nf

nf_nat 13308 1 iptable_nat
nf_conntrack_ipv4 9833 3 nf_nat,iptable_nat
nf_conntrack 46391 3 nf_conntrack_ipv4,nf_nat,iptable_nat
nf_defrag_ipv4 1139 1 nf_conntrack_ipv4



---------- Добавлено 08.03.2016 в 07:32 ----------

modprobe -n -r nf_conntrack

FATAL: Module nf_conntrack is in use.

---------- Добавлено 08.03.2016 в 07:52 ----------

Поборол "nf_conntrack: table full, dropping packet"

Все равно сервер страшно тупит. Проверки на доступность - каждая третья вылетает по таймауту.

И munin не может получить по localhost стат от nginx

Т.к.

telnet localhost 80

Trying 127.0.0.1...

telnet: Unable to connect to remote host: Connection timed out

Всего: 750