Всем привет!
На выделенном сервере крутиться MySQL и Redis, необходимо разрешить доступ к ним с доверенных IP.
Мои правила:
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
iptables -A INPUT -s x.x.x.x -p tcp -m state --state NEW --dport 3306 -j ACCEPT
iptables -A INPUT -s x.x.x.x -p tcp -m state --state NEW --dport 6379 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
В час пик в syslog падает большое количество ошибок вида:
Feb 2 22:03:04 cache kernel: [595850.616259] nf_conntrack: table full, dropping packet
Feb 2 22:03:09 cache kernel: [595855.555346] net_ratelimit: 806 callbacks suppressed
Подобного рода ошибки рекомендуется лечить следующим образом:
echo "net.netfilter.nf_conntrack_max=1048576" >> /etc/sysctl.conf
sysctl -p
Вопросы:
1. Если доверенным IP разрешить доступ ко всем портам и убрать правило --state ESTABLISHED,RELATED, то nf_conntrack использоваться не будет и ошибок переполнения таблицы не будет?
2. Не смотря на установку net.netfilter.nf_conntrack_max=1048576, после перезагрузки сервера параметр принимает исходное значение 65536, как этого избежать?
3. Какие дополнения к моим правилам iptables стоит внести?
Спасибо за ответы!