Назад | Перейти на главную страницу

разрешить порт 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 не имеет состояния «Новый, ...». Это имеет значение? Все, что я пытаюсь сделать, это разрешить доступ mysql с этих IP-адресов на порт 3306 по умолчанию.

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

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

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

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

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

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

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

ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО

как общий.

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

ПРИНЯТЬ tcp - 192.168.101.101 в любом месте NEW tcp dpt: 306