হোস্টপ্যাডের জন্য কীভাবে NAT iptables নিয়ম ব্যবহার করবেন


9

আমার পিসি দুটি নেট ইন্টারফেসের সাথে সজ্জিত, wlan0এবং eth0, এবং আমি ওয়াইফাই বন্দরটি অ্যাক্সেস পয়েন্ট হিসাবে ব্যবহার করতে চাই wlan0

  • আমি hostapdসুবিধা ব্যবহার করেছি এবং এটি স্থানীয় নেটওয়ার্কের মধ্যে রাউটিং মোডে সঠিকভাবে কাজ করে; ব্যবহারকারীরা অ্যাক্সেস পয়েন্টের সাথে সংযোগ করতে পারে এবং ডিএইচসিপি উভয় বিভাগে সঠিকভাবে কাজ করে।
  • পিসি সহ hostapdকোনও ফায়ারওয়াল বা iptablesনিয়ম নেই ( iptablesএবং ফায়ারওয়ালগুলি অক্ষম), কারণ আমি কেবল এডিএসএল রাউটারের অন্তর্নির্মিত ফায়ারওয়ালটি ব্যবহার করতে চাই।

আমার নেট কনফিগারেশনটি নিম্নরূপ:

  • PC with hostapd -> cable connection -> ADSL router
  • wlan0 -> eth0 <-> 192.168.0.1 <-> internet
  • 192.168.10.1 -> 192.168.0.7 -> static routing to 192.168.10.X

পিসি ifconfig:

eth0  Link encap:Ethernet  HWaddr 00:12:3F:F2:31:65
      inet addr:192.168.0.7  Bcast:192.168.0.255  Mask:255.255.255.0
      inet6 addr: fe80::212:3fff:fef2:3165/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2169539 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1008097 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:3056198487 (2.8 GiB)  TX bytes:72727161 (69.3 MiB)
      Interrupt:16

lo    Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:3398 errors:0 dropped:0 overruns:0 frame:0
      TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:495444 (483.8 KiB)  TX bytes:495444 (483.8 KiB)

mon.wlan0  Link encap:UNSPEC  HWaddr 00-14-A5-04-94-3C-90-F0-00-00-00-00-00-00-00-00
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:151 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:17092 (16.6 KiB)  TX bytes:0 (0.0 b)

wlan0 Link encap:Ethernet  HWaddr 00:14:A5:04:94:3C
      inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
      inet6 addr: fe80::214:a5ff:fe04:943c/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1502 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:0 (0.0 b)  TX bytes:279392 (272.8 KiB)

আমি iptablesএটিতে পিসিতে কীভাবে একটি সাধারণ নেট কনফিগার করতে পারি?

  • আমি চাই যে hostapd(নেটওয়ার্ক 192.168.10.X) এর মাধ্যমে নেটওয়ার্কের সাথে সংযুক্ত সমস্ত ব্যবহারকারীদের ইন্টারনেটে এবং প্রবেশাধিকার রয়েছে
  • আমি কোনও ট্র্যাফিক, কেবল নাটকে ফিল্টার করতে চাই না।

আমি ওয়াইফাই বিভাগ থেকে ইন্টারনেটের সাথে সংযোগ পেতে পারি না:

  • ওয়াইফাইয়ের সাথে সংযুক্ত ক্লায়েন্টের ডিএইচসিপি ঠিকানা রয়েছে 192.168.10.48এবং কেবলমাত্র eth0ঠিকানা থেকে ট্রাফিক চালু রয়েছে :
    16:50:14.671587 ARP, Request who-has 192.168.0.48 tell 192.168.0.1, length 46
    
    দ্রষ্টব্য: ঠিকানাটি 192.168.0.48নয় 192.168.10.48, তাই মাসক্রেড কাজ করার জন্য seams।
  • আমি আর 192.168.0.1[ADSL রাউটার] পিং করতে পারি না , যা আগে সম্ভব ছিল।
  • WIFI ব্যবহারকারীদের ইন্টারনেট থেকে অ্যাক্সেস সম্পর্কে কী? অবশ্যই আমি এডিএসএল রাউটারে সেটআপ করব, ইন্টারনেট থেকে নির্দিষ্ট আইপি পোর্ট পুলিংকে এই জাতীয় ওয়াইফাই ব্যবহারকারীর নির্দিষ্ট আইপি ঠিকানায় ফরোয়ার্ড করব।

সম্পাদনা 1:

  • systemctliptablesহিসাবে দেখায় :
    iptables.service          loaded active exited
    
    যদিও আমি দৌড়েছি:
    systemctl enable iptables.service
    systemctl start iptables.service
    

সম্পাদনা 2:

  • এটি কাজ করে, তবে প্রতিবারই আমি কম্পিউটার বুট করি, একটি স্টার্টআপ স্ক্রিপ্টের মাধ্যমে ম্যানুয়ালি নিম্নলিখিতটি যুক্ত করা কি স্বাভাবিক?
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

নীচে আমার আপডেট হওয়া প্রতিক্রিয়াটি দেখুন ...
এমএলু

উত্তর:


6

সরল আকারে:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

যে সব ওয়াইফাই ব্যবহারকারীদের একসেস করতে অনুমতি দেয় করার ইন্টারনেট।

অবশ্যই ধরে নেওয়া আপনার অন্য রাউটিং সেটআপটি ইতিমধ্যে সম্পন্ন হয়েছে, যথা:

  1. কার্নেলটিতে ফরোয়ার্ডিং সক্ষম করা হয়েছে

    sysctl net.ipv4.ip_forward=1
    
  2. এতে ফরওয়ার্ডিং সক্ষম হয়েছে iptables:

    iptables -P FORWARD ACCEPT
    iptables -F FORWARD
    

সমস্যার যথাযথভাবে NATed হয় কিনা, প্রতিক্রিয়া ফিরে আসছে কিনা ইত্যাদি দেখতে tcpdump -nn -i eth0ট্র্যাফিক দেখার জন্য ব্যবহার করুন eth0etc.

সম্পাদনা: "প্রতিবার আমি কম্পিউটার বুট করার সময় আমাকে ম্যানুয়ালি যুক্ত করতে হবে (স্টার্টআপ স্ক্রিপ্ট থেকে) ..." এটি আপনার লিনাক্সের বিতরণের উপর নির্ভর করে। দুঃখজনকভাবে প্রতিটি ডিস্ট্রোর নিজস্ব ফায়ারওয়াল সরঞ্জাম রয়েছে - শেষ পর্যন্ত তারা কেবল কল করছে iptablesতবে কোনও কারণেই লেখকরা বিশ্বাস করেন যে iptables এর কাজের উপায়টিকে অচল করে দেওয়া ব্যবহারকারীরা যা চান তা হ'ল।

আপনার প্রশ্নের উত্তরের জন্য - সম্ভবত আপনার ফায়ারওয়ালটি এই নাট বিধিটি স্বয়ংক্রিয়ভাবে যুক্ত করতে কনফিগার করা যেতে পারে। কোনও সঠিক কারণে লিনাক্স ডিস্ট্রোসের মধ্যে সঠিক উপায়টি পরিবর্তিত হয়। দুঃখের হলেও সত্য.


পিসিতে থাকা সমস্ত ফায়ারওয়াল অক্ষম are একমাত্র চলমান পরিষেবাটি iptables
mackowiakp

iptables == ফায়ারওয়াল - কোনওভাবেই আপনাকে সেই মস্কুরিড বিধি নির্গত করতে আইপটিবলগুলি কনফিগার করতে হবে। কিভাবে? এটি আপনার লিনাক্স বিতরণের উপর নির্ভর করে। কোথাও কনফিগারেশন ফাইল থাকতে হবে। কোথায়? এটি আপনার লিনাক্স বিতরণের উপর নির্ভর করে।
এমএলু

সুতরাং আপনারা মিউ
আইপেটেবলদের

সুতরাং আপনারা মিউ আইপেটেবলদের শাসন করেছেন: [মূল @ মিডিয়া ~] # আইপিটবেলস-এল চেইন ইনপুট (পলিসি এসিসিপিটি) টার্গেট প্রট অপট সোর্স গন্তব্য চেইন ফরওয়ার্ড (পলিসি এসিসিপিটি) টার্গেট প্রট অপট সোর্স গন্তব্য চেইন আউটপুট (পলিসি এসিসিপিটি) টার্গেট প্রট অপট সোর্স গন্তব্য । এবং আমি এবং প্রারম্ভকালে এ জাতীয় লাইন: iptables -t nat -A পোষ্ট্রোটিং -o এথ0-জে ম্যাসকেডে। সুতরাং আমার iptables এর বাস্তবায়ন হল "স্বচ্ছ" ফায়ারওয়াল - বা কোনও ফায়ারওয়াল
mackowiakp

5

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

প্রয়োজনীয় অংশ:

HostAP

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

হোস্টএ্যাপের দু'টি এসিইপিটি কাজ করতে নীচের লাইনগুলির প্রয়োজন

iptables -A INPUT -j ACCEPT >> /dev/null 2>&1 
iptables -A OUTPUT -j ACCEPT >> /dev/null 2>&1

https://github.com/diveyez/fw.sh

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