প্যাসিভ মোডের সাথে কাজ করার জন্য কীভাবে বনফুটপিডি কনফিগার করবেন


49

যখনই আমি ইনস্টল vsftpdউপর centos, ব্যবহারকারী এবং বাকি জন্য আমি শুধু সেটআপ জেল পরিবেশের ডিফল্ট কনফিগারেশন হয় vsftpd। আমি ব্যবহারকারী তৈরি করেছি এবং filezilaএফটিপি ক্লায়েন্টের সাথে সংযোগ করার চেষ্টা করেছি, তবে আমি প্যাসিভ মোডের সাথে সংযোগ করতে পারিনি। আমি অন্যথায় যা পেয়েছি transfer settingsতার সাথে সফলভাবে সংযোগ রাখতে ftp serverআমি সক্রিয় মোডে সর্বদা পরিবর্তন করি

 Error: Failed to retrieve directory listing

তাহলে কি vsftp.confফাইলের কোনও নির্দেশ পরিবর্তন করার কোনও উপায় আছে এবং আমরা সার্ভারের সাথে প্যাসিভ মোডের সাথে সংযোগ রাখতে পারি?

উত্তর:


86

Vsftpd এর জন্য প্যাসিভ মোড কনফিগার করতে আপনার vsftpd.conf এ কিছু পরামিতি সেট করতে হবে।

pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090

এটি প্যাসিভ মোড সক্ষম করে এবং ডেটা সংযোগের জন্য এগারোটি পোর্ট ব্যবহার করে এটি সীমাবদ্ধ করে। আপনার ফায়ারওয়ালে এই পোর্টগুলি খোলার প্রয়োজন হিসাবে এটি দরকারী।

iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT

যদি এই সমস্ত কাজ পরীক্ষার পরে তবে আপনার ফায়ারওয়ালের রাজ্যটি সংরক্ষণ করুন

service iptables save

যা /etc/sysconfig/iptablesফাইল আপডেট করবে ।

এটির জন্য সেন্টোস 7 আপনাকে নতুন ফায়ারওয়াল্ড ব্যবহার করতে হবে, আইপটেবলগুলি নয়:

আপনার অঞ্চলটি সন্ধান করুন:

# firewall-cmd --get-active-zones
public
  interfaces: eth0

আমার অঞ্চলটি 'সর্বজনীন', সুতরাং আমি আমার অঞ্চলটিকে জনসাধারণের মধ্যে সেট করি, বন্দর পরিসর যুক্ত করি এবং এর পরে আমরা পুনরায় লোড করি:

# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload

আপনি সংযোগ স্থাপন করলে কী হয়

  • আপনার ক্লায়েন্ট 21 বন্দরটিতে vsftpd সার্ভারের সাথে একটি সংযোগ তৈরি করে।

  • সেভর ক্লায়েন্টকে উপরে বর্ণিত রেঞ্জ থেকে কোন পোর্টে সংযোগ স্থাপন করবে তা জানায় respond

  • ক্লায়েন্ট নির্দিষ্ট পোর্টে একটি ডেটা সংযোগ তৈরি করে এবং সেশনটি অব্যাহত থাকে।

এখানে বিভিন্ন এফটিপি পদ্ধতিগুলির দুর্দান্ত ব্যাখ্যা রয়েছে ।


আপনি কেন maxবন্দরের পরে এই বন্দরটি রেখেছিলেন তা ভাবছেন min... তবে আরও গুরুত্বপূর্ণ, আপনি যদি 10090 থেকে 10100 বন্দরগুলি খুলেন তবে এটি 11 টি বন্দর এবং আপনি যা বলছেন 10 নয়।
অ্যালেক্সিস উইলক

আমি বিশ্বাস করি এটি বর্ণানুক্রমিক, এগুলি পৃথক দিকনির্দেশনা হওয়ায় আসলেই কিছু যায় আসে না।
ব্যবহারকারী 9517

3
এটি ছাড়া আমার পক্ষে কাজ করছে না pasv_address
fbmd

এটি খুঁজে পেতে আমাকে যুগে যুগে নিয়েছে, ভার্সফ্টপিডি গাইডের কেউই এটির তালিকা তৈরি করে না ... উজ্জ্বল
পিট

আশ্চর্যজনক - এই বনফুটটি কনফিগারেশনটি আমার সমস্ত এফটিপি-ফায়ারওয়াল সমস্যার সমাধান করেছে :)
বার্নিনলিও

24

প্যাসিভ মোড সক্ষম করতে, আপনার vsftp.conf এ নিম্নলিখিত কনফিগারেশন বিকল্পগুলি সেট করুন:

pasv_enable=YES
pasv_min_port=41361
pasv_max_port=65534
pasv_address=xxx.xxx.xxx.xxx

আপনি অবশ্যই শুরু এবং শেষ পোর্ট পরিবর্তন করতে পারেন, এবং আপনার সার্ভারের সার্বজনীন আইপি দিয়ে xxx এর প্রতিস্থাপন করা উচিত।

এছাড়াও, আপনার ফায়ারওয়ালে প্যাসিভ মোড পোর্ট পরিসরটি খোলা উচিত। Centos এ, আপনি ip_conntrack_ftpআপনার ফায়ারওয়ালে ftp সংযোগগুলি পরিচালনা করতে মডিউলটি লোড করতে পারেন । /etc/sysconfig/iptables-configIPTABLES_MODULES বিকল্পে সম্পাদনা করুন এবং ip_conntrack_ftp যুক্ত করুন । এরপরে iptables পুনরায় আরম্ভ করুন:

/sbin/service iptables restart

3
pasv_addressযখন সমস্ত কিছু সেট আপ হয়ে গেছে এবং এটি এখনও কাজ করে না তখন কৌশলটি কী করে।
fbmd

1
@vbmd pasv_address চেষ্টা করার আগে, pasv_max এবং min_port উভয়ই সঠিক ক্রমে আছে কিনা তাও পরীক্ষা করা উচিত। আমার সাথে এটি ঘটেছে যে আমি pasv_min_port এ সর্বাধিক মানটি কনফিগার করেছি এবং vsftpd কেবল এটিকে উপেক্ষা করে। এটি একটি পরিচিত নীরব ত্রুটি / বাগ যা দৃশ্যত আপনাকে ভাবতে বাধ্য করে যে পাসভ বন্দরগুলি সঠিকভাবে কনফিগার করা হয়েছে, তবে সেগুলি তা নয়। এটি আমার সাথে ঘটেছিল, এবং আমার সমস্যার সমাধান করেছে।
পেড্রো সওসা

আপনি যদি কোনও ডিএনএস ঠিকানা নির্দিষ্ট করতে চান তবে আপনার pasv_addressযুক্ত করতে হবে pasv_addr_resolve=YES(ডিফল্ট NO)
পিয়েরে-দামিয়েন

6

এর pasv_enable=YESপাশেই, একটি পোর্ট পরিসর নির্দিষ্ট করুন যেখানে ভিএসএফটিপি পিএএসভি মোড চালাবে:

pasv_min_port=50000
pasv_max_port=50999
port_enable=YES

Iptables কনফিগার করতে ভুলবেন না এই পোর্টগুলিতে প্যাকেট সংক্রমণ করার অনুমতি দেয়:

iptables -I INPUT -p tcp --dport 50000:50999 -j ACCEPT

একটি স্ট্যান্ডার্ড CentOS সিস্টেমে একটি কম্বল DROP রয়েছে যার ফলে যুক্ত বিধিগুলিকে iptables -A INPUT ... উপেক্ষা করা হয়
ব্যবহারকারী 9517 GoFundMonica সমর্থন করে

আপনি pasv_addressvsftpd.conf ফাইলে অন্তর্ভুক্ত করেছেন তা নিশ্চিত করুন।
পেড্রো মাদ্রিদ

3

সাধারণত এটি ftp সার্ভার, vsftpd নয়, তবে iptable এর মত ফায়ারওয়াল যা প্যাসিভ মোড ব্যবহার হতে বাধা দেয় (ডেটা ট্রান্সফারের জন্য টিসিপি সংযোগ অবরুদ্ধ করে)।


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

3
@Alexsis। অ্যাপ্লিকেশনগুলি যেভাবেই কেবল নিয়ম এবং পোর্টগুলি খোলা থাকলে কোনও ফায়ারওয়ালের কোনও অর্থ নেই point
নির্মাতা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.