Добавяне на правило в 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 и не мога да се свържа с телнет от Windows към този порт. Не съм сигурен къде трябва да търся решението на този проблем.


person EternallyCurious    schedule 28.02.2014    source източник
comment
Offtopic за Stack Overflow, но вижте напр. help.ubuntu.com/community/IptablesHowTo -- по-специално, обърнете внимание как chain не е полезен или очакван аргумент навсякъде.   -  person tripleee    schedule 28.02.2014
comment
@tripleee Благодаря. Тази страница помогна. Въпреки че проблемът ми не е напълно решен и съм променил въпроса, за да отрази това.   -  person EternallyCurious    schedule 28.02.2014


Отговори (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.

  • ако е настроено на Hosted, първо трябва да конфигурирате неговите мрежови настройки, обикновено е да им предоставите IP в диапазона 192.168.56.0/24, тъй като е по подразбиране, което хипервайзорите използват за това.

  • ако е зададено на Bridge, същото като Hosted, но можете да го конфигурирате винаги, когато обхватът на IP има смисъл за вашата конфигурация.

Надявам се това да помогне.

person Diosney    schedule 10.03.2014
comment
След ...--dport 3306 ... забравихте -j, така че трябва да е --dport 3306 -j ACCEPT - person Andremoniy; 20.10.2015

(Предполагам, че сте заключили, че това е проблем с 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).

person user3392484    schedule 08.03.2014