Разрешить порт 3306

# /sbin/iptables -nvL

Вывод вышеупомянутой команды iptables выглядит примерно так...

 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       192.168.101.101      0.0.0.0/0           tcp dpt:3306 state NEW,RELATED,ESTABLISHED 
16810 1009K ACCEPT     tcp  --  *      *       192.168.101.120      0.0.0.0/0           tcp dpt:3306 

В чем разница между этими двумя строками? Второй IP не имеет "состояния New,...". Это имеет какое-то значение? Все, что я пытаюсь сделать, это разрешить MySQL доступ с этих IP-адресов по умолчанию порт 3306

2 ответа

Решение

Это связано с -m state соответствует правилу iptables. Ты можешь использовать iptables-save чтобы увидеть полное правило.

state NEW,RELATED,ESTABLISHED означает, что только эти три будут приняты.

iptables (или, точнее, netfilter) знает о следующих состояниях:

  • NEW - новое соединение
  • УСТАНОВЛЕНО - обнаружен двусторонний трафик
  • RELATED - трафик, связанный с исходным соединением (например, ICMP-ответ, связанный с TCP-соединением)
  • INVALID - трафик недействителен, например, был получен неудачный TCP-сегмент
  • UNTRACKED - трафик не отслеживается сетевым фильтром conntrack модуль

Что касается вашего вопроса: между этими двумя правилами практически нет различий.

Разница заключается в IP-адресе источника и флагах состояния, как вы упомянули.

Что касается того, почему ваш первый IP-адрес не подключается или не может подключиться, когда вы используете отслеживание подключений в iptables, у вас обычно есть такое правило:

ПРИНЯТЬ все - где угодно и где угодно, СВЯЗАННЫЕ, УСТАНОВЛЕННЫЕ

как ловушка.

Правило.101 было бы просто НОВЫМ.

ПРИНЯТЬ TCP - 192.168.101.101 в любом месте НОВЫЙ TCP TCP:306

Другие вопросы по тегам