80 থেকে 8080 পোর্ট পুনর্নির্দেশ করুন এবং এটি স্থানীয় মেশিনে কাজ করুন


61

আমি আমার মেশিনে 80 থেকে 8080 পোর্টের জন্য ট্র্যাফিক পুনঃনির্দেশিত করেছি

sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080

এটি আমার নিজস্ব মেশিন বাদে সমস্ত বিশ্বের পক্ষে কাজ করে। আমি একজন বিকাশকারী এবং নিজের জন্য আমার 80 থেকে 8080 বন্দর পুনর্নির্দেশ করা দরকার।

আমার আইপি 192.168.0.111

আমার ওয়েব সার্ভার 8080 পোর্টে চলমান

আমি সার্ভার চালিত একই মেশিনের http://192.168.0.111/পরিবর্তে ওয়েবসাইট খুলতে চাই http://192.168.0.111:8080/


ক্ষমতার জন্য ক্ষমা করুন, তবে 80 থেকে 8080 পোর্ট ফরওয়ার্ড করার উদ্দেশ্য কী?
ma11 She28

2
@mattdipasquale, সাধারণ ব্যবহারকারী 80 পোর্ট অ্যাক্সেস করতে পারবেন না তাই আপনি সাধারণ ব্যবহারকারী হিসাবে পাইথন ফ্লাস্কের মতো একটি ওয়েব সার্ভিস চালাতে পারবেন না।
খ্রিস্টান

আপনি কেবল 80 টি পোর্টে ওয়েব সার্ভারকে আবদ্ধ করবেন না কেন?
ডেভিড ফোস্টার 13

5
আমি এটি অনুমান করতে পারি কারণ নন-রুট ব্যবহারকারী 80/443 বন্দরগুলিতে আবদ্ধ হতে পারে না এবং সে তার ওয়েব পরিষেবাটি রুট হিসাবে চালাতে চায় না ..
পাভেল কে।

উত্তর:


80

লুপব্যাক ইন্টারফেসের OUTPUTজন্য বোঝানো প্যাকেটগুলি চেইনের মধ্য দিয়ে যায় না বলে আপনাকে চেইনটি ব্যবহার করতে হবে । নিম্নলিখিতগুলি কাজ করা উচিত; হিসাবে চালান :PREROUTINGroot

iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080

1
80 বন্দরটি কি বিশ্বব্যাপী অ্যাক্সেসযোগ্য হতে হবে? আমি আপনার সমাধানটি চেষ্টা করেছিলাম, আমার পোর্ট নম্বর 8080 অ্যাক্সেসযোগ্য তবে 80 এটি কার্যকর হয়নি। @heemayl
Alper

2
এটি কার্যকর হয়নি, কেন এটি কেন ভোট দেওয়া হয়েছে তা নিশ্চিত নয়
ডায়োডা_

@ ডায়োদা_ দয়া করে সংজ্ঞাটি কার্যকর হয়নি
হিমাইল

3
আমি নিশ্চিত করতে পারি যে এটি উবুন্টুতে 18.04
আহমেদ হামেদি


6

সরল কেবল iptables ব্যবহার করুন 80 এবং 8080 উভয় পোর্টের অনুমতি দিয়ে 80 থেকে 8080 পুনর্নির্দেশের বিষয়টি নিশ্চিত করুন যে আপনি সঠিক nic এ নিয়োগ করছেন .. উদাহরণস্বরূপ আমি eth0 ব্যবহার করি

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

ধন্যবাদ! এটি উবুন্টু 19
ভ্লাদিমির ইসহেনকো

1
এরপরে iptable পরিবর্তনগুলি সংরক্ষণ করতে ভাল লাগবেsudo apt-get install iptables-persistent
ভ্লাদিমির ইসহেনকো

6

এটি আমার পক্ষে কাজ করেছে।

$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

+1 আমার জন্য উবুন্টু 18.04 (কমপক্ষে টিসিপির জন্য) কাজ করে, 7000-> 7001 বন্দরটি ব্যবহার করে এবং সার্ভারগুলি 7001 বন্দরটিতে শুনছে 7000 বন্দর থেকে আগত সংযোগ পেয়েছে :)
হ্যানশেন্রিক

1
সঠিক নেটওয়ার্ক ইন্টারফেসটি অবশ্যই ব্যবহার করার বিষয়টি নিশ্চিত করুন, এটি eth0সমস্ত সিস্টেমে ডাকা হয় না
হ্যানশেন্রিক

4

এর পরিবর্তে iptables, আপনি চেষ্টা করতে পারেন: sudo ssh -gL 80:127.0.0.1:8080 localhost


2
এটি একটি বিকল্প তবে এটি আমি যা চাই তা ঠিক নয় কারণ আমার কাছে ইতিমধ্যে ৮০ বন্দরটিতে ওয়েব সার্ভার রয়েছে I আমি এটি iptables দিয়ে করতে পছন্দ করব এবং ওয়েব সার্ভারটি 80 পোর্টে চালিয়ে যাব। আমি অনুমান করি যে আমাকে পরিবর্তে বিভিন্ন পদক্ষেপের জন্য নিয়ম প্রয়োগ করতে হবেPREROUTING
সর্বোচ্চ

হ্যাঁ - যদি আপনার এমন কিছু শুনার মতো থাকে যা আপনি ম্যাক্সের পরামর্শ অনুসারে পোর্ট ফরওয়ার্ড করছেন this উপরের উত্তরটি আরও সাধারণ ক্ষেত্রে।
cgseller

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