Току-що намерих решението на моя проблем,
Специални благодарности на @Slava, че ми посочи пътя, все пак беше iptables.
И така, продължих да получавам съобщение "MySQL връзка е отказана", когато се опитвах да се свържа отдалечено, така че потърсих начин да видя регистрационните файлове за TCP връзката и намерих tcpdump
команда.
Като стартирате sudo tcpdump port 3306 -vvv -n
Виждах следния изход всеки път, когато се опитах да се свържа отдалечено:
Претърсих tcpdump man страницата и видях, че R означава TCP RST (RESET) флаг.
Потърсих малко и намерих това въпрос и неговият приет отговор ме доведе отново до IPTABLES, които @Slava предложи още от първия коментар.
Тогава се вгледах внимателно и видях, че моят INPUT ACCEPT tcp:3306 беше дефиниран след правилото REJECT TCP reject-with tcp-reset, поради което дневникът се показваше.
След това просто премахнах правилото за приемане на tcp:3306 и го добавих към правилата за отхвърляне на tcp и воала!
iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT {line number from the first reject tcp rule} -p tcp -m tcp --dport 3306 -j ACCEPT
IPTABLES вече изглежда така и накрая мога да се свържа с MySQL отдалечено:
За да изброите iptables с номера на редове, въведете:
sudo iptables -nL --line-numbers
Последни думи:
- Това може да се подобри чрез добавяне в белия списък на IP адреса на източника, откъдето осъществявате отдалечената връзка, от съображения за сигурност.