# /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) знает о следующих состояниях:
conntrack
модульЧто касается вашего вопроса: между двумя правилами практически нет разницы.
Разница заключается в исходном IP-адресе и флагах состояния, как вы упомянули.
Что касается того, почему ваш первый IP-адрес не подключается или не может подключиться, когда вы используете отслеживание подключения в iptables, у вас обычно есть такое правило, как:
ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО
как общий.
Правило .101 было бы просто НОВЫМ.
ПРИНЯТЬ tcp - 192.168.101.101 в любом месте NEW tcp dpt: 306