বক্ররেখাগুলি পোর্টের একটি ব্যাপ্তি ফরোয়ার্ড করুন


20

ভ্যানগ্র্যান্ট ১.২.১ বা তার বেশি ব্যবহার করে পোর্টের একটি বিস্তৃত ফরোয়ার্ড করার কোনও উপায় আছে কি? আমি জানি যে আপনি পৃথকভাবে যেকোনো বন্দর ব্যবহার করে ফরওয়ার্ড করতে পারেন

config.vm.forward_port 80, 4567

অথবা, উত্তরটি কি এই জাতীয় কাজটি করার জন্য কেবল অস্পষ্ট ব্যবহার করে না?


এটা কি সাহায্য করে? docs.vagrantup.com/v2/networking/forwarded_ports.html
দাউদ

বেপারটা এমন না. আপনি একবারে একের পরিবর্তে একাধিক বন্দর উন্মুক্ত করতে পারবেন কিনা তা জানতে চেয়েছিলেন। সম্ভবত আমি সরাসরি লেখকের সাথে যোগাযোগ করব।
এক্রোন

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

উত্তর:


27

যদি কারও কারও কাছে আপনার ভ্যাগ্রান্টফাইলে লুপটি কীভাবে করা যায় তার উদাহরণ প্রয়োজন needs

for i in 64000..65535
    config.vm.network :forwarded_port, guest: i, host: i
end

উপরের লুপটি 64000 থেকে 65535 এর মধ্যে সমস্ত বন্দরটি অতিথির ঠিক একই বন্দরে প্রেরণ করবে (নোট করুন যে 000৪০০০ এবং 5৫৫৩৫ অন্তর্ভুক্ত)।


2
আমার কম্পিউটারে 1000 টি পোর্ট ম্যাপ করার জন্য যোজনাগুলি কিছুটা দীর্ঘ ছিল। আপনার যদি এতগুলি ম্যাপযুক্ত পোর্ট না লাগে তবে আপনার 50 টি বন্দর মানচিত্র করা উচিত।
এন্টোইন

@ এন্টাইন হ্যাঁ আমি লক্ষ্য করেছি যে এটি খুব ধীরেও ধীর। আমি সাধারণত উন্নয়নের বাক্সগুলির জন্য 10 থেকে 20 ব্যবহার করে শেষ করি।
ddelrio1986

উইন্ডোতে ব্যবহৃত বন্দরগুলি পরীক্ষা করতে খুব ধীর গতি, একবার কমান্ড লাইনের সীমাবদ্ধতা কিক করলে ত্রুটিগুলি বের হয়ে যায়
আলেকজান্ডার টি

@ আলেকজান্দার আপনি কতটি বন্দর ফরোয়ার্ড করার চেষ্টা করছেন?
ddelrio1986

@ ddelrio1986 প্রায় এক হাজার।
আলেকজান্ডার টি

2

উপরোক্ত 'for' উদাহরণগুলি অন্তর্ভুক্তিমূলক ব্যাপ্তি করার জন্য সঠিক। আপনি যদি নির্দিষ্ট পোর্টের একটি সেট ফরোয়ার্ড করতে চান তবে আপনাকে রুবি .each অপারেটরটি ব্যবহার করতে হবে।

ভেরিয়েবলগুলি মূল ভ্যাগ্রান্ট কনফিগার লুপের ভিতরে বা বাইরে যেতে পারে।

UDP_PORTS_LIST={
  "5000" => 5000, # Some service
}

TCP_PORTS_LIST={
  "5900" => 5900, # VNC
}

আপনি যে ভিএম এর জন্য মানচিত্র তৈরি করতে চান তার জন্য লুপগুলিকে ভ্যাগ্রান্ট কনফিগার ব্লকের ভিতরে যেতে হবে (মনে রাখবেন আপনার একক ভ্যাগ্রান্টফাইলে একাধিক ভিএম থাকতে পারে)।

UDP_PORTS_LIST.each do |guest, host|
  config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "udp"
end
TCP_PORTS_LIST.each do |guest, host|
  config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "tcp"
end
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.