Configure Port Forwarding to Remotely Access Your Synology NAS | Synology
Tartalomjegyzék:
- A MySQL Server konfigurálása
- Hozzáférés biztosítása egy felhasználónak távoli számítógépről
- A tűzfal konfigurálása
- iptables
- UFW
- FirewallD
- A változások ellenőrzése
- Következtetés
Alapértelmezés szerint a MySQL szerver csak a localhost-tól keresi a kapcsolatokat, azaz csak ugyanazon a gépen futó alkalmazások férhetnek hozzá.
Bizonyos helyzetekben azonban a MySQL szervert távolról kell elérni. Például, ha a távoli MySQL szerverhez szeretne csatlakozni a helyi rendszertől, vagy ha többkiszolgálós központi telepítést használ, ahol az alkalmazás az adatbázis-kiszolgálótól eltérő gépen fut. Az egyik lehetőség a MySQL szerver elérése az SSH alagúton keresztül, a másik lehetőség a MySQL szerver konfigurálása távoli kapcsolatok elfogadására.
Ebben az útmutatóban végigmegyünk a MySQL szerverhez való távoli kapcsolatok engedélyezéséhez szükséges lépéseken. Ugyanezek az utasítások vonatkoznak a MariaDB-re.
A MySQL Server konfigurálása
Az első lépés annak beállítása, hogy a MySQL szerver meghallgassa egy adott IP-címet vagy a gép összes IP-címét.
Ha a MySQL szerver és az ügyfelek privát hálózaton keresztül tudnak kommunikálni egymással, akkor a legjobb megoldás az, ha a MySQL szervert csak a privát IP-n hallgatja. Ellenkező esetben, ha nyilvános hálózaton keresztül szeretne csatlakozni a szerverhez, akkor állítsa be a MySQL szervert a gép összes IP-címének meghallgatására.
Ehhez szerkesztenie kell a MySQL konfigurációs fájlt, és hozzá kell adnia, vagy meg kell változtatnia a
bind-address
beállítást. Beállíthat egyetlen IP-címet és IP-tartományokat. Ha a cím
0.0.0.0
, a MySQL szerver elfogadja a kapcsolatokat az összes host IPv4 interfészen. Ha az IPv6-ot konfigurálta a rendszeren, akkor a
0.0.0.0
helyett használja a
::
.
A MySQL konfigurációs fájl helye a terjesztéstől függően különbözik. Az Ubuntu és a Debian esetében a fájl az
/etc/mysql/mysql.conf.d/mysqld.cnf
címen található, míg a Red Hat alapú disztribúciókban, például a CentOS, a fájl az
/etc/my.cnf
fájlban található.
Nyissa meg a fájlt a szövegszerkesztővel:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Keressen egy olyan sort, amely kezdődik a
bind-address
és állítsa az értékét arra az IP-címre, amelyen a MySQL szerver figyeljen.
Alapértelmezés szerint az értéket
127.0.0.1
állítja (csak a localhost-on hallgat).
Ebben a példában a MySQL szervert úgy állítjuk be, hogy az összes IPv4 interfészen figyeljen, ha az értéket
0.0.0.0
bind-address = 0.0.0.0 # skip-networking
Ha van egy sor, amely
skip-networking
, törölje azt vagy kommentálja a
#
elejével a sor elejére.
A MySQL 8.0 vagy újabb verziójában előfordulhat, hogy a
bind-address
irányelv nincs jelen. Ebben az esetben adja hozzá a
szakasz.
Miután kész, indítsa újra a MySQL szolgáltatást, hogy a változások érvénybe lépjenek. Csak a root vagy a sudo jogosultságokkal rendelkező felhasználók indíthatják újra a szolgáltatásokat.
A MySQL szolgáltatás újraindításához Debianon vagy Ubuntuon írja be:
sudo systemctl restart mysql
RedHat alapú disztribúciókon, mint például a CentOS, a szolgáltatásfutás újraindításához:
Hozzáférés biztosítása egy felhasználónak távoli számítógépről
A következő lépés az adatbázishoz való hozzáférés engedélyezése a távoli felhasználó számára.
Jelentkezzen be a MySQL szerverre root felhasználóként:
sudo mysql
mysql -uroot -p
A MySQL parancsértelmezőn belül a
GRANT
utasítás segítségével adja meg a hozzáférést a távoli felhasználó számára.
GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';
Hol:
-
database_nameannak azdatabase_namea neve, amelyhez a felhasználó csatlakozik.user_namea MySQL felhasználó neve.ip_addressaz az IP cím, amelyhez a felhasználó csatlakozik. Használja a%, hogy a felhasználó bármilyen IP-címről csatlakozhasson.user_passworda felhasználói jelszó.
Például ahhoz, hogy hozzáférést biztosítson az adatbázis-
dbname
hez a
foo
nevű felhasználónak, a
my_passwd
jelszóval egy ügyfélgépről, IP
10.8.0.5
, futtassa:
GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';
A tűzfal konfigurálása
Az utolsó lépés a tűzfalak konfigurálása a
3306
-os porton (MySQL alapértelmezett port) történő forgalom engedélyezésére a távoli gépektől.
iptables
sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
Adott IP-címről való hozzáférés engedélyezése:
sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT
UFW
Az UFW az Ubuntu alapértelmezett tűzfal eszköze. Az Internet bármely IP-címéről való hozzáférés engedélyezése (nagyon nem biztonságos):
sudo ufw allow 3306/tcp
Adott IP-címről való hozzáférés engedélyezése:
sudo ufw allow from 10.8.0.5 to any port 3306
FirewallD
A FirewallD az alapértelmezett tűzfalkezelő eszköz a CentOS-ban. Az Internet bármely IP-címéről való hozzáférés engedélyezése (nagyon nem biztonságos):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
Egy adott IP-címen keresztül történő hozzáférés engedélyezéséhez egy adott porton létrehozhat egy új FirewallD zónát, vagy használhat gazdag szabályt.
mysqlzone
új
mysqlzone
nevű
mysqlzone
:
sudo firewall-cmd --new-zone=mysqlzone --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
sudo firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
sudo firewall-cmd --reload
A változások ellenőrzése
Futtassa a következő parancsot annak ellenőrzéséhez, hogy a távoli felhasználó csatlakozhat-e a MySQL szerverhez:
mysql -u user_name -h mysql_server_ip -p
Ahol a
user_name
annak a
user_name
a neve,
mysql_server_ip
hozzáférést biztosított, a
mysql_server_ip
pedig annak a gazdagépnek az IP-címe, ahol a MySQL szerver fut.
Ha minden helyesen van beállítva, akkor bejelentkezhet a távoli MySQL szerverre.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.8.0.5' (111)"
Az alábbi hiba azt jelzi, hogy a belépni próbáló felhasználónak nincs engedélye a távoli MySQL szerver elérésére.
"ERROR 1130 (HY000): Host '10.8.0.5' is not allowed to connect to this MySQL server"
Következtetés
A MySQL, amely alapértelmezés szerint a legnépszerűbb nyílt forráskódú adatbázis-kiszolgáló, csak a helyihoston figyeli a bejövő kapcsolatokat.
A MySQL-kiszolgálóval történő távoli kapcsolatok engedélyezéséhez a következő lépéseket kell végrehajtania:
- Konfigurálja a MySQL szervert az összes vagy egy adott felületen történő meghallgatáshoz. Adjon hozzáférést a távoli felhasználóhoz.Nyissa meg a tűzfal MySQL portját.
Az adatbázis készítője, Michael "Monty" Widenius azt mondta egy blogbejegyzésen, hogy csütörtökön lemondott az elégedetlenség miatt, hogy a Sun hogyan kezelte a MySQL fejlesztését, és néhány hónappal ezelőtt a MySQL társalapítója, David Axmark is elhagyta a vállalatot, a vállalati élet korlátozó jellegére hivatkozva.
Mickos feladatai a Sun vezetõje, Karen Tegan Padir vette át, aki jelenleg az újonnan alakult MySQL és Software Infrastructure csoport alelnöke. A Padir felelőssége magában foglalja az Glassfish alkalmazáskiszolgálót, a személyazonosság-kezelést, a SOA-t (szolgáltatásorientált architektúrát) és a Java Enterprise System-et.
Távoli asztali kapcsolatkezelő: Több távoli asztali kapcsolat kezelése
A Microsoft Távoli asztali kapcsolatkezelő vagy a RDCMan több távoli asztali kapcsolatot kezel és hasznos a kiszolgálólaborok
Távoli asztaliszolgáló: Távoli asztali kapcsolatok kezelése
A Távoli asztaliszolgáló egy füles távoli asztali ügyfél, amely lehetővé teszi az összes távoli asztali kapcsolat egy helyen.







