Iptables স্থানীয় হোস্ট পুনঃনির্দেশ?


13

ধরুন আমার কাছে একটি নেটওয়ার্ক রয়েছে যা নেটওয়ার্কে ইন্টারনেটের ভিতর থেকে সমস্ত সংযোগ রাউটিং করে। আমি কিভাবে iptables সেট আপ করতে পারি যাতে ইন্টারনেটে ইনকামিং সংযোগগুলিকে রাউটিং করার পরিবর্তে, এটি স্থানীয় লোস্ট পোর্ট 8080 এ চলে যায়। সমস্ত সাহায্যের প্রশংসা করা হয়।


সমস্যাটি হল যে সহজ পুনঃনির্দেশ (গন্তব্য IP ঠিকানা NAT) দিয়ে আপনি মূল গন্তব্য আইপি ঠিকানাটি হারাবেন। আপনি কি একটি স্বচ্ছ HTTP প্রক্সি সেটআপ করতে চান নাকি এটি HTTP এর চেয়ে অন্যান্য প্রোটোকলের প্রক্রিয়া করতে চান?
pabouk

এটি স্বচ্ছ বা না হলে এটি কোন ব্যাপার না
DankMemes

একটি প্রক্সি সব ট্রাফিক পুনর্চালনা হয় স্বচ্ছ প্রক্সি জন্য :) একটি বেস
pabouk

এখানে অন্য একটি উত্তর যা সত্যিই আমাকে সাহায্য করেছে: unix.stackexchange.com/questions/111433/...
টি।

উত্তর:


4
sysctl net.ipv4.ip_forward=1 
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:8080

1
সাহসী ব্যবহার করবেন না ....

ধন্যবাদ! আমি এখনো এটি চেষ্টা করে নি কিন্তু আমি যা অনুপস্থিত ছিল তা সন্দেহ করছি আইপি ফরওয়ার্ডিং কমান্ড। এবং পরের বার, সাহসী না কোড ব্লক ব্যবহার করুন।
ড্যাঙ্ক মেমস

@ অ্যালেক্সআনটনভ কোড ব্লক ব্যবহার করুন। সম্পাদনা মোডে আপনার লেখা নির্বাচন করুন এবং বন্ধনী আইকনে ক্লিক করুন।
DankMemes

@ জোভগেমস, দুঃখিত, এটি সংশোধন করা হয়েছে।
অ্যালেক্স আন্তোভভ

2
আমি এই সঙ্গে পরীক্ষা। Ip_forward sysctl প্রয়োজনীয় নয়। তবে এখানে route_localnet বিকল্পটি আছে । আমি এখন এই দেখুন জুয়ান Cespedes উত্তর রাজ্য ঠিক কি ।
ম্যাট জুনিয়র

28

যে দিয়ে কাজ করা যেতে পারে iptables, কিন্তু শুধুমাত্র কার্নেল> = 3.6।

আপনাকে করতে হবে:

sysctl -w net.ipv4.conf.all.route_localnet=1
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080

ip_forwardপ্রয়োজনীয় নয়, কারণ প্যাকেটটি ফরোয়ার্ড করা হয় না, তবে যদি আপনি sysctl route_localnet(যা শুধুমাত্র কার্নেলগুলিতে কাজ করে = = 3.6) অন্তর্ভুক্ত না করে, প্যাকেটটি কার্নেল দ্বারা বাদ দেওয়া হবে কারণ এটি একটি "মার্টিয়ান" বাইরে থেকে এবং একটি গন্তব্য ঠিকানা থাকার 127.0.0.1


Yup, যে কাজ
নিক ডি গ্রিক

রুট_লোকালনেট সম্পর্কে জানতাম না। তাই পুরানো স্কুল এবং IP_forward কাজ ছিল না কেন চিন্তা করতে পারে না (সন্দেহ ছিল এটি প্রয়োজন ছিল না কিন্তু যাইহোক চেষ্টা)।
ডমৌরাটি

1
নিশ্চিত করুন যে আপনি সংরক্ষণ করুন net.ipv4.conf.all.route_localnet=1মধ্যে /etc/sysctl.confঅন্যথায় এটি ক্রমাগত হবে না এবং রিবুটের পরে পরিবর্তনশীল 0 ফিরে যেতে হবে, যার ফলে প্যাকেট ছেড়ে দিয়েছিলেন। তাহলে এখন সবকিছু ঠিকঠাক কেন হবে তা বুঝতে অসুবিধা হবে না ... এটা আমার সাথে ঘটেছে। ;)
যেমন

নেক্রোকে দুঃখিত একটি পুরনো প্রশ্ন কিন্তু এর net.ipv4.conf.all.route_localnetসাথে ব্যবহারের জন্য একটি আইপিভি 6 সমান আছে ip6tables?
কেবিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.