আমরা dnsmasq
এই উদ্দেশ্যে প্যাকেজটি ব্যবহার করব কারণ এটি ডিএইচসিপি এবং ডিএনএস সার্ভার এবং কনফিগার করা সহজ is
আপনি যদি আরও কিছু 'হেভিওয়েট' চান, তবে আপনি যথাক্রমে ডিএইচসিপি এবং ডিএনএসের জন্য isc-dhcp-server
এবং bind9
প্যাকেজগুলি ব্যবহার করতে পারেন
, তবে আমাদের উদ্দেশ্যে, dnsmasq
ঠিক কাজ করে।
sudo apt-get install dnsmasq
আমাদের ইন্টারফেস কনফিগার করতে হবে। আমরা একটি স্থির আইপি ঠিকানা বরাদ্দ করব
eth0
যা গেটওয়ে হিসাবে ব্যবহৃত হবে। ইন্টারফেস ফাইল খুলুন
sudo nano /etc/network/interfaces
eth0
বিভাগটি এর মতো সম্পাদনা করুন :
allow-hotplug eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
পরবর্তী, আমরা কনফিগার করব dnsmasq
। শিপড dnsmasq
কনফিগারেশন ফাইলটিতে এটি কীভাবে ব্যবহার করা যায় সে সম্পর্কে প্রচুর তথ্য রয়েছে। সুতরাং, আমি এটিকে স্থানান্তরিত করতে এবং একটি নতুন তৈরি করার পরামর্শ দেব।
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
নতুন ফাইলটিতে নিম্নলিখিতগুলি আটকে দিন
interface=eth0 # Use interface eth0
listen-address=192.168.2.1 # listen on
# Bind to the interface to make sure we aren't sending things
# elsewhere
bind-interfaces
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
# Never forward addresses in the non-routed address spaces.
bogus-priv
# Assign IP addresses between 192.168.2.2 and 192.168.2.100 with a
# 12 hour lease time
dhcp-range=192.168.2.2,192.168.2.100,12h
/etc/sysctl.conf
প্যাকেট ফরওয়ার্ডিং সক্ষম করতে ফাইলটি সম্পাদনা করুন
sudo nano /etc/sysctl.conf
এতে #
থাকা লাইনের শুরু থেকে এটি সরিয়ে
ফেলুন এটি net.ipv4.ip_forward=1
পরবর্তী রিবুটটিতে প্যাকেট ফরওয়ার্ডিং সক্ষম করবে। তবে আপনি যদি এখনই রিবুট ছাড়াই এটি চেষ্টা করতে চান তবে এটি করুন।
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
আমাদের ওয়াই-ফাইয়ের সাথে সংযুক্ত ডিভাইসের সাথে আরপি'র ইন্টারনেট সংযোগও ভাগ করে নেওয়া দরকার। আমরা এর মধ্যে একটি ন্যাট কনফিগার করবে eth0
এবং
wlan0
:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
যাইহোক, প্রতিবারই আমরা পাই পুনরায় বুট করার সময় এই নিয়মগুলি প্রয়োগ করা দরকার, সুতরাং sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
নিয়মে ফাইলটিতে সংরক্ষণ করার জন্য চালান /etc/iptables.ipv4.nat
। এখন আমাদের প্রতিটি পুনরায় বুট করার পরে এটি চালানো দরকার, সুতরাং লাইনটি /etc/rc.local
দিয়ে sudo nano /etc/rc.local
এবং ঠিক ঠিক উপরে উপরে ফাইলটি
খুলুন exit 0
, নিম্নলিখিত লাইনটি যুক্ত করুন:
iptables-restore < /etc/iptables.ipv4.nat
এবং যে সব! এখন কেবল আপনার আরপিআই পুনরায় বুট করুন এবং আপনি ইন্টারনেট অ্যাক্সেস করতে সক্ষম হবেন
sudo reboot
উপরে কনফিগারেশন রাস্পবিয়ান এর নতুন সংস্করণে কাজ করবে না। সুতরাং, আমি এর জন্য একটি স্ক্রিপ্ট তৈরি করেছি যা এটি কম ব্যথায় সম্ভব করে তোলে।
আপনি ফাইলটি পুরো পথ দিয়েছেন তা নিশ্চিত করুন। এবং তুমি করে ফেলেছ. পরিবর্তনগুলি দেখতে এখন পুনরায় বুট করুন