Image

ज्ञानधार → मारियाडीबी डेटाबेस तक दूरस्थ पहुंच स्थापित करना

[वर्चुअल सर्वर]
प्रकाशन तिथि: 17.10.2023

डिफ़ॉल्ट रूप से, सुरक्षा कारणों से मारियाडीबी डेटाबेस सेवा तक दूरस्थ पहुंच अक्षम है। इस गाइड में हम आईपी एड्रेस द्वारा डेटाबेस तक रिमोट एक्सेस स्थापित करने पर गौर करेंगे।

आइए मान लें कि हमारे पास 2 सर्वर हैं, 1 पर एक निश्चित सिस्टम (साइट/सीआरएम) है, और दूसरे पर हम एक डेटाबेस संग्रहीत करेंगे और सर्वर के लॉगिन, पासवर्ड और आईपी पते को निर्दिष्ट करके डेटा का अनुरोध करेंगे।

#1. सेटअप के लिए तैयारी

1.1 आइए कॉन्फ़िगरेशन फ़ाइल की जाँच करें

आइए सुनिश्चित करें कि कनेक्शन विकल्प पर टिप्पणी नहीं की गई है और वह इस तरह दिखता है:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

...
bind-address = 0.0.0.0
...

सेटिंग्स लागू करने के लिए, सेवा को पुनरारंभ करें

systemctl restart mariadb

1.2 आइए पोर्ट की उपलब्धता की जाँच करें

netstat -ant | grep 3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

2. समायोजन

mysql -u aroot -p

2.1 आइए एक डेटाबेस और उपयोगकर्ता बनाएं

CREATE DATABASE base1;
CREATE USER  'user1'@'localhost' IDENTIFIED BY 'password';

2.2 आइए उस सर्वर का आईपी निर्दिष्ट करके कनेक्शन की अनुमति दें जिससे हम कनेक्ट होंगे

GRANT ALL ON base1.* to 'user1'@'xx.ip.xx.ip' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

इन विवरणों का उपयोग कनेक्ट करने के लिए किया जा सकता है:

  • base1 - डेटाबेस।
  • user1 - उपयोगकर्ता.
  • password - पासवर्ड।
  • xx.ip.xx.ip - सर्वर का आईपी पता जिससे हम कनेक्ट होंगे।

2.3 अन्य उदाहरण

2.3.1 निर्दिष्ट आईपी से सभी डेटाबेस तक पहुंच की अनुमति दें

GRANT ALL ON *.* to 'user1'@'xx.ip.xx.ip' IDENTIFIED BY 'password' WITH GRANT OPTION;

2.3.2 किसी भी आईपी पते से बेस1 तक कनेक्शन की अनुमति दें

GRANT ALL ON base1.* to 'user1'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

2.3.3 केवल विशिष्ट सबनेट से बेस1 तक कनेक्शन की अनुमति दें

GRANT ALL ON base1.* to 'user1'@'xx.ip.xx.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

3. एक iptables फ़ायरवॉल स्थापित करना

3.1 आइए केवल एक विशिष्ट आईपी की अनुमति दें

iptables -A INPUT -p tcp -s xx.ip.xx.ip --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT

3.2 आइए सभी आईपीएस के लिए अनुमति दें

iptables -A INPUT -p tcp -m tcp --dport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT

3.3 एक विशिष्ट सबनेट के लिए अनुमति दें

iptables -A INPUT -p tcp -s xx.ip.xx.0/24 --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT

4. आइए सर्वर 1 से कनेक्शन की जाँच करें

4.1 मारियाडीबी क्लाइंट स्थापित करें

apt install mariadb-client

4.2 कॉन्फ़िगर किए गए सर्वर से कनेक्ट हो रहा है

mysql -u wpuser -h ip.xx.ip.xx -p

Enter password:

MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| base1              |
+--------------------+
2 rows in set (0.10 sec)

तैयार।





No Comments Yet