Jeg har lige fundet løsningen på mit problem,
Særlig tak til @Slava for at vise mig vejen, det var trods alt iptables.
Så jeg blev ved med at modtage en "MySQL-forbindelse nægtet"-meddelelse, da jeg forsøgte at oprette forbindelse eksternt, så jeg søgte efter en måde at se TCP-forbindelseslogfiler og jeg fandt tcpdump
kommando.
Ved at køre sudo tcpdump port 3306 -vvv -n
Jeg så følgende output, hver gang jeg forsøgte at oprette forbindelse via fjernadgang:
Jeg søgte på tcpdump man-siden og så, at R betyder for TCP RST (RESET) flag.
Søgte lidt og fandt denne spørgsmål og dets accepterede svar førte mig igen ind i IPTABLES, som @Slava foreslog siden den første kommentar.
Det var da jeg kiggede grundigt og så, at min INPUT ACCEPT tcp:3306 blev defineret efter REJECT TCP reject-with tcp-reset-reglen, så loggen blev vist.
Herefter fjernede jeg lige reglen for at acceptere tcp:3306 og satte den foran afvis tcp-reglerne og voila!
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 ser nu sådan ud, og endelig kan jeg oprette forbindelse til MySQL eksternt:
For at vise iptablerne med linjenumre, skriv:
sudo iptables -nL --line-numbers
Sidste tanker:
- Dette kan forbedres ved at hvidliste kilde-IP-adressen, hvorfra du laver fjernforbindelsen af sikkerhedsmæssige årsager.