লিনাক্স iptables ssh পোর্ট ফরওয়ার্ডিং (মার্টিয়ান প্রত্যাখ্যান)


12

আমার হোম নেটওয়ার্কের জন্য NAT পারফর্ম করার জন্য আমার একটি লিনাক্স গেটওয়ে রয়েছে। আমার কাছে আরও একটি নেটওয়ার্ক রয়েছে যা আমি স্বচ্ছভাবে প্যাকেটগুলিতে ফরোয়ার্ড করতে চাই, তবে কেবলমাত্র নির্দিষ্ট আইপি / পোর্টগুলিতে / যেমন (কোনও ভিপিএন নয়)। এখানে কাজ করার জন্য কয়েকটি উদাহরণ আইপি এবং পোর্টস:

Source          Router          Remote Gateway     Remote Target
192.168.1.10 -> 192.168.1.1 ->  1.2.3.4        ->  192.168.50.50:5000

আমি চাই উত্স মেশিনটি দূরবর্তী টার্গেটের নির্দিষ্ট বন্দরগুলির সাথে কথা বলতে সক্ষম হবে যেন এটি রাউটার থেকে সরাসরি রাউটেবল হয়। রাউটারে, eth0 হল ব্যক্তিগত নেটওয়ার্ক এবং এথ 1 ইন্টারনেট-মুখী। রিমোট গেটওয়ে হ'ল আরেকটি লিনাক্স মেশিন যা আমি প্রবেশ করতে পারি এবং এটি সরাসরি দূরবর্তী টার্গেটে যেতে পারে।

একটি সহজ সমাধানে আমার প্রচেষ্টা হ'ল রাউটারে ssh পোর্ট ফরওয়ার্ডিং সেটআপ করা, যেমন:

ssh -L 5000:192.168.50.50:5000 1.2.3.4

এটি রাউটারের জন্য সূক্ষ্মভাবে কাজ করে, যা এখন 5000 পোর্টের সাথে স্থানীয়ভাবে সংযোগ করতে পারে So সুতরাং "টেলনেট লোকালহোস্ট 5000" প্রত্যাশার সাথে 192.168.50.50:5000 এর সাথে সংযুক্ত হবে।

এখন আমি উত্স থেকে ট্র্যাফিক পুনর্নির্দেশ এবং এখন প্রতিষ্ঠিত এসএস টানেলের মাধ্যমে ফানেলটি চাই। আমি এটির জন্য একটি NAT নিয়ম চেষ্টা করেছি:

iptables -t nat -D PREROUTING -i eth0 -p tcp -s 192.168.1.10 --dport 5000 -d 1.2.3.4 -j DNAT --to-destination 127.0.0.1:5000

এবং যেহেতু রাউটারটি ইতিমধ্যে আমার NAT গেটওয়ে, এটি ইতিমধ্যে প্রয়োজনীয় পোস্ট্রোটিং বিধি রয়েছে:

-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

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

লিনাক্স কার্নেলের মার্টিয়ান প্যাকেট প্রত্যাখ্যানের সাথে আমি খুঁজে পেতে পারি তার সেরা উত্তর:

iptables, লুপব্যাক থেকে পোর্ট পুনর্নির্দেশ কিভাবে?

আমি মার্টিয়ানদের লগিং সক্ষম করেছি এবং নিশ্চিত করেছি যে কার্নেল এই প্যাকেটগুলি মার্শিয়ান হিসাবে প্রত্যাখ্যান করছে। এগুলি না থাকলে ব্যতীত: আমি জানি যে এই প্যাকেটগুলি কোথায়, তারা কোথায় এবং কোথায় যাচ্ছে (আমার এসএস টানেল) my

সেখানে উপস্থাপিত "রাউন্ডআউট" সমাধানটি মূল প্রশ্নের ক্ষেত্রে প্রযোজ্য, তবে আমার ক্ষেত্রে প্রযোজ্য নয়।

তবে, এই প্রশ্নটি লেখার / গবেষণার সময়, আমি এসএসএইচ উত্স আইপি বাইন্ডিংটি ব্যবহার করে আমার সমস্যাটি ঘটিয়েছি:

ssh -L 192.168.1.1:5000:192.168.50.50:5000 1.2.3.4
iptables -t nat -D PREROUTING -i eth0 -p tcp -s 192.168.1.10 --dport 5000 -d 1.2.3.4 -j DNAT --to-destination 192.168.1.1:5000

যেহেতু আমি লুপব্যাকটি ব্যবহার করছি না, এটি মার্টিয়ান প্রত্যাখ্যানের কাছাকাছি চলে আসে।

আমি এখনও দুটি কারণে এখানে প্রশ্ন পোস্ট করি:

  1. ভবিষ্যতে এই জাতীয় কিছু করার চেষ্টা করছেন এমন ব্যক্তি তার অনুসন্ধানে এটি খুঁজে পেতে পারে এবং এই কাজটি তাদের সহায়তা করতে পারে বলে আশাবাদী In
  2. আমি আমার এসএস পোর্ট ফরওয়ার্ডস সংযোগটি কেবল লুপব্যাকের সাথে আবদ্ধ রাখতে এবং আইপ্যাটেবলগুলির মাধ্যমে তাদের কাছে যাত্রা করতে সক্ষম হওয়ার ধারণাটি পছন্দ করি। যেহেতু আমি জানি যে এই প্যাকেটগুলি ঠিক কী এবং সেগুলি কোথায় চলছে, তাই লিনাক্স মার্টিয়ান ফিল্টারিংগুলি সেগুলি প্রত্যাখ্যান না করার জন্য আমার পক্ষে তাদের পতাকা লাগানোর কোনও উপায় থাকা উচিত নয়? এই বিষয়ে আমার সমস্ত অনুসন্ধান rp_filter বাড়ে, যা আমার পরীক্ষায় মোটেই সহায়তা করেনি। এমনকি এটি কাজ করেও, আমি যে সঠিক প্যাকেটগুলির অনুমতি দেওয়ার চেষ্টা করছি তার সাথে এটি সুনির্দিষ্ট নয়।

আমি আমার প্রশ্নের অবদান রাখতে আগ্রহী এবং সাধারণ অনুসন্ধানে কাজটি করতে আগ্রহী আমি অন্য কাউকে বাঁচানোর জন্য কেবলমাত্র মৃত্যুর শেষগুলি উপস্থিত করতে এসেছি, পাশাপাশি আশা করি কেউ আমার প্রশ্নের লুপব্যাক / মার্টিয়ান অংশটির উত্তর দিয়েছেন যা এখনও খোলা রয়েছে আমার কাছে.


ইউএল বনাম এসএফ-তে মেটা পোস্টটি আরও পড়ার সময়, আমি মাইকেলকে ক্রসপোস্ট না করার অনুরোধটিও লক্ষ্য করি। আমি কেবল এটিই ক্রসপোস্ট করেছি কারণ এটি বিশেষত এসএফ-এ অফ-টপিক হিসাবে চিহ্নিত করা হয়েছিল, সুতরাং যদি মূল প্রশ্নটি সরিয়ে নেওয়া এবং এটি বন্ধ করা আরও উপযুক্ত এবং সম্ভব হয় তবে এটিও দুর্দান্ত হবে।
চিহ্নিত করুন

আপনার /etc/sysctl.conf এ নেট.ipv4.conf.default.rp_filter = 0 এবং নেট.ipv4.conf.all.rp_filter = 0 লাগানো এবং "sudo sysctl -p" করা আপনার সমস্যার সমাধান করে?
রুই এফ রিবেইরো

আমি সরাসরি উভয় প্রয়োগ করার চেষ্টা করেছি, অর্থাৎ। 'sysctl নেট.ipv4.conf.default.rp_filter = 0', এছাড়াও আমার নির্দিষ্ট ব্যক্তিগত ইন্টারফেসের জন্য একটি অন্তর্ভুক্ত। আমি নিশ্চিত করেছি যে সেগুলি 'সিস্টেস্টএ-এ' এর মাধ্যমে সেট করা হয়েছে, তবে, 127.0.0.1 এ থাকা মার্চিয়ান প্যাকেটগুলি এখনও প্রত্যাখ্যান করা হচ্ছে। এমনকি যদি এটি কাজ করে তবে মার্টিনদের কাছে আমার সমস্ত ইন্টারফেস খোলার বিষয়টি আমি চাই না। এমনকি আমি একটি একক (আলবাইট বেসরকারী) ইন্টারফেসও খুলতে চাই না। আমি ঠিক জানি যে আমি কোন মার্টিয়ান প্যাকেটগুলিতে অনুমতি দিতে চাই এবং একটি iptables NAT / ম্যাঙ্গেল এক্সপ্রেশনটি আশা করি / প্রত্যাশা করে আমাকে এটি সম্পাদন করতে দেয়।
চিহ্নিত করুন

আপনি নেট.ipv4.conf.default.rp_filter = 2 এবং কিছু অন্যান্য iptables নিয়ম চাইতে পারেন
রুই এফ রিবেইরো

উত্তর:


1

127.0.0.1:5:5000 এ DNAT করার সমস্যাটি হ'ল দূরবর্তী দিকটি যখন সাড়া দেয় তখন এই প্যাকেটগুলি রাউটিং ইঞ্জিনে ফিরে আসে যেন তারা স্থানীয়ভাবে উদ্ভূত হয়েছিল (127.0.0.1 থেকে) তবে তাদের বাইরের গন্তব্যের ঠিকানা রয়েছে। বাইরের ইন্টারফেসের সাথে মিলে যাওয়া SNAT / MASQUERADE এগুলি ধরে ফেলত এবং সেগুলি আবার লিখতে পারে, তবে সেই ইন্টারফেসে প্যাকেটগুলি পৌঁছানোর জন্য যে রাউটিংয়ের সিদ্ধান্ত নিতে হয় সেগুলি প্রথমে আসে এবং ডিফল্টরূপে বোগাসযুক্ত এই প্যাকেটগুলি তারা অস্বীকার করে। রাউটিং ইঞ্জিন গ্যারান্টি দিতে পারে না যে আপনি পরে পুনরায় লেখার কথাটি মনে করবেন।

পরিবর্তে আপনি যে জিনিসটি করতে সক্ষম হবেন তা হ'ল সোর্স অ্যাড্রেস স্পেসিফিকেশনের !আগে আর্গুমেন্টটি ব্যবহার করে 192.168.1.1:5000 আইপ্যাবেলগুলি INPUT এ অন্য যে কোনও বাইরের সংযোগগুলি প্রত্যাখ্যান করা উচিত -s। আপনি যদি টিসিপি রিসেটটিকে প্রত্যাখ্যান প্রক্রিয়া হিসাবে ব্যবহার করেন ( -j REJECT --reject-with tcp-resetতবে ডিফল্ট আইসিএমপি গন্তব্যটি নাগালের বাইরে), এটি বহুলাংশে সেই অবস্থার সাথে সমান হবে যেখানে এই ঠিকানায় কিছুই শোনা যায়নি: পোর্ট সংমিশ্রণ যতদূর বহিরাগতের সাথে সম্পর্কিত।


0

আমি রাউটার থেকে রিমোটগেটওয়েতে একটি টানেল তৈরি করতে ওপেনভিপিএন ব্যবহার করব।

তারপরে আমি রাউটারে একটি রুট যুক্ত করব:

রুট অ্যাড-হোস্ট রিমোটটারেজ জিডব্লিউ রিমোটগেটওয়ে-ভিপিএনড্রেস

আপনি কোন বন্দরগুলিকে সোর্সটিতে যেতে অনুমতি দিন তা সীমাবদ্ধ করতে আপনার পছন্দ মতো সাধারণ আইপটিবল নিয়ম ব্যবহার করুন।

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