রিমোট সংযোগের জন্য রেডিস পোর্ট খুলুন


118

আমি সার্ভারে পং রেডিসকে পিং করতে পারি:

# redis-cli ping
PONG

তবে দূর থেকে, আমার সমস্যা হয়েছে:

$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused

কনফিগারেশনে, আমি স্ট্যান্ডার্ড পোর্ট পেয়েছি:

# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379

তাহলে সম্ভবত আমার দূরবর্তী উবুন্টু মেশিনে 79৩79৯ বন্দরটি খুলতে হবে? আমি এটা কিভাবে করব?


রেডিস রিমোট মেশিনে শুনছেন না?
সার্জিও টুলেন্টসিভ

হতে পারে, কীভাবে এটি চেক করবেন
ম্যাক্সিম ইয়েফ্রেমভ

আপনি কি ufw অক্ষম করেছেন?
insign

উত্তর:


214

আপনি কি রেডিস সার্ভারে দূরবর্তী অ্যাক্সেসের জন্য বাইন্ড বিকল্পটি সেট করেছেন?

আগে (ফাইল /etc/redis/redis.conf)

bind 127.0.0.1

পরে

bind 0.0.0.0

এবং sudo service redis-server restartসার্ভারটি পুনরায় চালু করতে রান করুন । যদি সমস্যা না হয় তবে আপনি যে কোনও ফায়ারওয়ালগুলি অ্যাক্সেসকে আটকাতে পারে তা পরীক্ষা করতে চাইতে পারেন।

গুরুত্বপূর্ণ: আপনি যদি বন্দরের সাথে ব্যবহারের সাথে সংযোগ স্থাপন করেন তা নিয়ন্ত্রণ করতে যদি আপনি ফায়ারওয়াল (iptables, ufw ..) ব্যবহার না করেন তবে যে কেউ এই Redis উদাহরণের সাথে সংযোগ করতে পারে। রেডিসAUTH ব্যবহার না করে এর অর্থ যে কেউ আপনার ডেটা অ্যাক্সেস / পরিবর্তন / মুছতে পারে। সাবধান থাকা!


2
কনফিগ ফাইলে আমি স্ট্রিংয়ের bind 0.0.0.0পরে স্ট্রিং যুক্ত করেছি bind 127.0.0.1। পুনরায় চালু হয়েছে। এবং এখন দূরবর্তীভাবে সংযোগ করতে পারেন।
ম্যাক্সিম ইয়েফ্রেমভ

যদি আমরা bind 0.0.0.0একাই বনাম বনামbind 127.0.0.1 0.0.0.0
Nyxynyx

1
@ নিউকাইনিএক্স ০.০.০.০ সমস্ত অ্যাডাপ্টারে আবদ্ধ, সুতরাং এটি অপ্রয়োজনীয়। যদিও কোনও পার্থক্য করা উচিত নয়।
মাইল্ডলি সিরিয়াস

1
কোনও আইপি কলগুলিতে redis খুলতে নিরাপদ? আমরা কীভাবে কেবলমাত্র নির্দিষ্ট আইপি থেকে রেডিস অ্যাক্সেসকে সীমাবদ্ধ রাখতে পারি?
brsbilgic

1
@ মাইল্ডি সিরিয়াস অনেক ধন্যবাদ। ফায়ারওয়াল বা নেটওয়ার্ক বা অন্য কোনও সমস্যা আছে কিনা তা খুঁজে পাওয়ার জন্য আমরা প্রায় 2 সপ্তাহ নষ্ট করেছি। তবে এই পরিবর্তনটি চ্যাম্পের মতো কাজ করেছিল।
কিনু

23

আমার জন্য, আমাকে নিম্নলিখিতগুলি করা দরকার:

1- মন্তব্য bind 127.0.0.1

2- এ পরিবর্তন protected-modeকরুনno

3- দিয়ে আমার সার্ভারটি সুরক্ষিত করুন iptables( https://www.digitalocean.com/commune/tutorials/how-to-implement-a-basic-firewall-template-wit-iptables-on-ubuntu-14-04 )


1
আমাকে বাইন্ড 0.0.0.0 ব্যবহার করতে হয়েছিল। "বাঁধাই 127.0.0.1" আমার পক্ষে কাজ করে না। আমার "সুরক্ষিত-মোড" "" না "সেট করার দরকার নেই। সতর্কতা: "বাঁধাই" বা সার্ভার শুরু হওয়ার আগে খালি জায়গা ছেড়ে যাবেন না। দ্রষ্টব্য: আমি রেডিসের উইন্ডোজ পোর্টটি ব্যবহার করছি
জোশ

7

একটি দ্রুত নোট যে আপনার রেডিস সার্ভারকে আরও সুরক্ষিত না করে এটি করা ভাল ধারণা নয় কারণ এটি আপনাকে আক্রমণে মুক্ত রাখতে পারে। এথথ বাস্তবায়ন নিশ্চিত করুন বা অন্যথায় এটি সুরক্ষিত করুন। বিশদ জানতে http://redis.io/topics/ সুরক্ষা দেখুন ।


3

1- মন্তব্য বাঁধাই 127.0.0.1

2- সেট পাসওয়ার্ড আপনার পাসওয়ার্ড

তারপরে ফায়ারওয়ালটি আপনার বন্দরটিকে অবরুদ্ধ করেছে কিনা তা পরীক্ষা করে দেখুন

iptables -L -n

পরিষেবা iptables বন্ধ


3
  1. Open রেডিসহোম / redis.conf এবং কোনও অসুবিধা খুলুন এবং requirepass -YOUR-PASSWORD-HERE-নির্দিষ্ট লাইনগুলিতে আপনার পাসওয়ার্ডটি লিখুন।

  2. Redis-cli ব্যবহার করে redis এ লগইন করুন এবং auth -YOUR-PASSWORD-HERE-কমান্ড ব্যবহার করে ডাটাবেসে আপনার পাসওয়ার্ড যাচাই করুন ।

  3. সুরক্ষিত মোডটিকে তার স্ট্রিংটি $ REDIS_HOME / redis.conf এ পরিবর্তন করে অক্ষম করুন protected-mode no

  4. সমস্ত বাইন্ড পোর্টের মানগুলি অনুসন্ধান করুন এবং সেগুলি সম্পর্কে সমস্ত মন্তব্য করুন। কেবলমাত্র bind 0.0.0.0$ রেডিসহোম / redis.conf ফাইল যুক্ত করুন।

  5. আপনার ফায়ারওয়াল অক্ষম করুন বা রেডিস পোর্ট খুলুন।

  6. পুনরায় ব্যবহার শুরু করুন ./redis-server $REDIS_HOME/redis.conf

  7. মাধ্যমে কনফিগারেশন পরীক্ষা করুন ./redis-cli -h -YOUR-IP- -a -YOUR-PASSWORD-HERE-

  8. মাধ্যমে কনফিগারেশন পরীক্ষা করুন ./redis-cli -h -YOUR-IP- ping

9
"আপনার ফায়ারওয়ালটি অক্ষম করুন" দয়া করে কোনও পরামর্শ দেবেন না।
সামান্থা অ্যাটকিনস

3
  1. লোকেশনটিতে ফাইলটি খুলুন /etc/redis.conf

  2. মন্তব্য bind 127.0.0.1

  3. পুনরায় চালু করুন:

     sudo systemctl start redis.service
    
  4. ফায়ারওয়াল্ড অক্ষম করুন:

     systemctl disable firewalld
    
  5. ফায়ারওয়াল্ড বন্ধ করুন:

     systemctl stop firewalld
    

তারপরে চেষ্টা করুন:

redis-cli -h 192.168.0.2(ip) -a redis(username)

1

একটি তাত্ক্ষণিক নোট যে আপনি যদি এডাব্লুএস ইক্য 2 উদাহরণ ব্যবহার করেন তবে আরও একটি অতিরিক্ত পদক্ষেপ রয়েছে যা আমি বিশ্বাস করি এটিও বাধ্যতামূলক। আমি পদক্ষেপ -3 মিস করেছি এবং সুরক্ষা গোষ্ঠীতে একটি অন্তর্মুখী নিয়ম যুক্ত করতে পুরো দিনটি লেগেছিল

পদক্ষেপ 1 (পূর্বের মতো): আপনার redis.conf পরিবর্তনতে 0.07.0 এ বাঁধতে 127.0.0.1 বাঁধুন

পদক্ষেপ 2 (আগের হিসাবে): আপনার redis.conf সুরক্ষিত-মোডে হ্যাঁ সুরক্ষিত-মোড নংতে পরিবর্তন করুন

আমাজন ই সি 2 ইনস্ট্যান্সের জন্য গুরুত্বপূর্ণ:

স্টিপি 3: আপনার বর্তমান ইস 2 মেশিনে সুরক্ষা গোষ্ঠীতে যান। 6379 পোর্ট সহ কাস্টম টিসিপির জন্য একটি অভ্যন্তরীণ নিয়ম যুক্ত করুন এবং "যে কোনও জায়গা থেকে ব্যবহার করুন" বিকল্পটি নির্বাচন করুন।


1

আমার ক্ষেত্রে, আমি redis- স্থির ব্যবহার করছি

Go to redis-stable path 
 cd /home/ubuntu/software/redis-stable

Redis.conf খুলুন

vim redis.conf

পরিবর্তন bind 127.0.0.1করার জন্যbind 0.0.0.0

পরিবর্তন protected-mode yesকরার জন্য protected-mode no

রেডিস-সার্ভারটি পুনরায় চালু করুন:

/etc/init.d/redis-server stop
 redis-server redis.conf

0

বাইন্ড এবং সুরক্ষিত-মোড উভয়ই প্রয়োজনীয় পদক্ষেপ। কিন্তু যদি ufw সক্ষম করা থাকে আপনি redis বন্দর ufw অনুমতি করতে হবে।

  1. পরীক্ষা করে দেখুন ufw অবস্থা ufw statusযদি Status: activeতারপর redis পোর্ট অনুমতিufw allow 6379
  2. vi /etc/redis/redis.conf
  3. পরিবর্তন bind 127.0.0.1করার জন্যbind 0.0.0.0
  4. পরিবর্তন protected-mode yesকরার জন্যprotected-mode no
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.