পোর্ট 3306 আমার উবুন্টু সার্ভারে বন্ধ রয়েছে বলে মনে হচ্ছে


33

আমার দুটি ভিপিএস সার্ভার রয়েছে এবং উভয়ের মাইএসকিউএল ইনস্টল করা আছে, একটি পরীক্ষার জন্য এবং একটি বিকাশের জন্য। আমার একটি সার্ভার আমাকে বাইরে থেকে সংযোগ করতে দেয় না। ব্যবহারকারীর সাথে;

'Mytestuser' @ '%'

ওপেন পোর্ট অনুসন্ধানকারীর মতে , আপত্তিজনক সার্ভারের জন্য 3306 পোর্ট বন্ধ রয়েছে বলে মনে হয়। আমার কাছে সি ++ এবং জাভা প্রোগ্রামগুলি কোনও ইস্যু ছাড়াই নির্বিচারে বন্দরগুলিতে শোনার আছে। কেন এটি হচ্ছে এবং আমি কীভাবে এটি ঠিক করতে পারি?

উবুন্টু ইনস্টল করা উবুন্টু ১১.১০ (জিএনইউ / লিনাক্স 2.6.32-042stab072.10 x86_64)

netstat -tupleপ্রতিটি সার্ভারে ফলাফল

অফার করা সার্ভার

tcp        0      0 localhost.lo:submission *:*                     LISTEN      root       39967664    -

ওয়ার্কিং সার্ভার

tcp        0      0 *:mysql                 *:*                     LISTEN      mysql      1847519288  -

উত্তর:


76

সমস্যাটি হ'ল সার্ভারটি কেবল অভ্যন্তরীণভাবে শুনছিল।

সমস্যার সমাধান bind-address 127.0.0.1থেকে লাইনটি সরিয়ে ফেলা হচ্ছে /etc/mysql/my.cnf

উবুন্টু (≥16.04) এর নতুন সংস্করণগুলিতে এই লাইনটি থাকতে পারে /etc/mysql/mysql.conf.d/mysqld.cnf


2
এটি আমার পক্ষে কাজ করেছে। উল্লেখ্য সঠিক ফাইলের নাম হয় /etc/mysql/my.cnfনা /etc/mysql/my.conf
ল্যারি ব্যাটেল

সার্ভারের বহিরাগত আইপি ঠিকানার সাথে মেলে আমার বাইন্ড-ঠিকানাটি পরিবর্তন করেছি এবং এটি আমার জন্য কাজ করেছে।
বাটল বাটকাস

সম্পূর্ণরূপে লাইনটি সরান এবং সার্ভার সমস্ত ইন্টারফেস
শুনবে

আপনি আমার দিন বাঁচিয়েছেন, কয়েক সপ্তাহ ধরে এই সমস্যাটি সমাধান করার চেষ্টা করছেন, ধন্যবাদ!
বুডিয়ানটোপ

9

আমার পরামর্শ, আপনি যদি নিশ্চিত হন যে বন্দরগুলি বন্ধ রয়েছে (কোনও ভিপিএসের কাছে সেই বন্দরটি বন্ধ করা আমার কাছে অদ্ভুত মনে হয়) অন্যটি ব্যবহার করার জন্য মাইএসকিউএল এর কনফিগারেশন ফাইলটি পরিবর্তন করা উচিত।

কেবলমাত্র টার্মিনালে কনফিগারেশন ফাইলটি খুলুন sudo nano /etc/mysql/mysql.confএবং [mysqld]বিভাগটি সন্ধান করুন। এটিতে যে পংক্তিটি পড়ছে তা সন্ধান করুন port = 3306। এটি ব্যবহার না করা অন্য পোর্টে পরিবর্তন করুন এবং ফাইলটি সংরক্ষণ করুন।

তারপরে হয় হয় ভিপিএস পুনরায় চালু করুন অথবা পরিষেবাটি পুনরায় চালু করুন, পছন্দ করুন sudo service mysql restart

শুধু লক্ষ্য করুন, ফাইলটি mysql.confআমি উপরে উল্লিখিত একটিতে না থাকলে এটি অন্য জায়গায় থাকতে পারে:

/etc/my.conf
/etc/my.cnf
/etc/mysql/my.conf

এবং যদি serviceকমান্ডটি কাজ করে না, তবে এটি করুন:

sudo /etc/init.d/mysql restart

যদি সমস্যাটি অব্যাহত থাকে তবে আমার ক্ষেত্রে আমি iptables চেক করব (আমি iptables এ সমস্ত কিছু মুছে ফেলতে পারি তবে এটি নতুন করে শুরু করার জন্য এটি বিকল্প হতে পারে) বা অন্য কোনও ফায়ারওয়াল-সক্ষম বিকল্প option

যেহেতু তারা ভিপিএস, তাই আমি ভিপিএস কন্ট্রোল প্যানেলটিও পরীক্ষা করে দেখব যাতে এটির কোনও বিকল্প রয়েছে যা পোর্টগুলি অবরুদ্ধ করতে পারে।

এর বাইরে, nmapআপনি কোন বন্দরগুলি খুলেছেন তা দেখতে আমি ভিপিএসে দৌড়াতে চাই । তারা কোন বন্দরগুলি খোলার জন্য তা আপনাকে ভিপিএসের বাইরে থেকে চালানো দরকার।

netstat -tuplen সার্ভারে আপনার কী খোলা পোর্ট রয়েছে এবং কোনটি তালিকাগুলি মোডে রয়েছে তা দেখার জন্যও এটি একটি ভাল ধারণা।


আরে, আমি এটি অন্য বন্দরে চেষ্টা করেছি এবং এটির আচরণটি এখনও মিস করছি, আমি 'iptables -A INPUT -i eth0 -p tcp -m tcp --dport Port -j ACCEPT ' চেষ্টা করেছি তবে ভাগ্য নেই :( .. সম্পাদনা আমি ও না eth0 এর .. আশা STIL পারে।
অ্যান্ডি

আরও কিছু পরামর্শ অন্তর্ভুক্ত করার জন্য @ অ্যান্ডি আপডেটেড উত্তর।
লুইস আলভারাদো

লুইস আমি এটি সন্ধান করব পরামর্শের জন্য আপনাকে ধন্যবাদ।
অ্যান্ডি

আমি নেটস্যাট-ফলাফলের প্রশ্নটি আপডেট করেছি। দেখে মনে হচ্ছে এখানে কোনও সমস্যা আছে।
অ্যান্ডি

6

আমি এটিতে পরিবর্তন bind-address 127.0.0.1করে bind-address 0.0.0.0এটি ঠিক করেছি /etc/mysql/mysql.conf.d(যাতে মাইএসকিউএল সমস্ত পোর্টে শুনবে)।

এছাড়াও, আমি দূর থেকে ব্যবহার করার জন্য একটি মাইএসকিএল ব্যবহারকারী অ্যাকাউন্ট সেট আপ করেছি ( https://stackoverflow.com/a/24171107/132374 দেখুন )।


6

আমি এই পদ্ধতিটি ব্যবহার করি:

sudo ufw status
sudo ufw allow XXXX/tcp
# use a port other than the default/predictable 3306
# work outside, and close the door when you are done
sudo ufw deny XXXX/tcp

অন্যান্য কনফিগারেশন ফাইলগুলি পরিবর্তন করার দরকার নেই এবং ডিফল্টরূপে কোনও অতিরিক্ত পোর্ট খোলা হবে না।


sudo ufw allow 3306/tcpআমি সম্পাদনা করার চেষ্টা করেছি কিন্তু আমাকে হতে দেয় না
আদম

1

এটি হতে পারে যে আপনার কনফিগারেশন ডিরেক্টরিটিতে রয়েছে /etc/mysql/mysql.conf.d/mysqld.cnf, যা যদি না হয় তা যাচাই করুন।


1
আমি এটি দেখার আগে তিন ঘন্টা মতো এটি বের করার চেষ্টা করছিলাম, ধন্যবাদ!
অলিভার নি 16
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.