Добавление правила в iptables в debian для открытия нового порта

Я пытаюсь открыть порт 3306 в iptables в моей системе Debian, чтобы разрешить доступ к серверу MySQL. Для которого я ввел эту команду:

root@debian:/# sudo iptables -A INPUT -p tcp --dport 3306 ACCEPT
root@debian:/# iptables-save

Я установил новое соединение, и оно было сохранено в iptables, поскольку я вижу новое правило в списке iptables, сгенерированном командой iptables-save.

Тем не менее, эта система Debian работает на виртуальной машине через Windows7, и я не могу подключиться через telnet из Windows к этому порту. Не уверен, где я должен проверить решение этой проблемы.

2 ответа

О вашей командной строке:

root@debian:/# sudo iptables -A INPUT -p tcp --dport 3306 --jump ACCEPT
root@debian:/# iptables-save
  • Вы уже аутентифицированы как root так sudo там избыточно.

  • Вы скучаете по -j или же --jump как раз перед ACCEPT параметр (только что подумал, что это опечатка, и вы вставляете его правильно).

О вашем вопросе:

Если вы вставляете iptables Правило правильно, как вы указали в вопросе, возможно, проблема связана с гипервизором (провайдером виртуальной машины), который вы используете.

Если вы укажете имя гипервизора (VirtualBox, VMWare?), Я могу вам в этом помочь, но вот несколько советов, которые вы можете попробовать сначала:

проверьте настройки сети vmachine и:

  • если он установлен на NAT, вы не сможете подключиться с вашей базовой машины к vmachine.

  • если для него установлено значение "Размещено", необходимо сначала настроить его сетевые параметры, обычно он предоставляет им IP-адрес в диапазоне 192.168.56.0/24, поскольку гипервизоры по умолчанию используют его для этого.

  • если он установлен на Bridge, то же самое, что и Hosted, но вы можете настроить его, когда диапазон IP имеет смысл для вашей конфигурации.

Надеюсь это поможет.

(Я предполагаю, что вы пришли к выводу, что это проблема iptables, полностью сбросив брандмауэр (iptables -P INPUT ACCEPT; iptables -P OUTPUT ACCEPT; iptables -F), и подтвердили, что вы можете подключиться к серверу MySQL из окна Windows?)

Некоторое предыдущее правило в таблице INPUT, вероятно, отклоняет или отбрасывает пакет. Вы можете обойти это, вставив новое правило вверху, хотя вы можете просмотреть существующие правила, чтобы понять, разумно ли это:

iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT

Обратите внимание, что iptables-save не будет сохранять новое правило постоянно (т. Е. При перезагрузках) - для этого вам нужно будет найти что-то еще. Мой обычный путь - сохранить выходные данные iptables-save в файле (/etc/network/iptables.rules или аналогичном) и затем загрузить их с предварительным оператором в /etc/network/interfaces).

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