সুচিপত্র:

রাস্পবেরি পাই 4 ফায়ারওয়াল: 12 টি ধাপ
রাস্পবেরি পাই 4 ফায়ারওয়াল: 12 টি ধাপ

ভিডিও: রাস্পবেরি পাই 4 ফায়ারওয়াল: 12 টি ধাপ

ভিডিও: রাস্পবেরি পাই 4 ফায়ারওয়াল: 12 টি ধাপ
ভিডিও: netgate mini firewall router 2024, জুন
Anonim
রাস্পবেরি পাই 4 ফায়ারওয়াল
রাস্পবেরি পাই 4 ফায়ারওয়াল

সদ্য প্রকাশিত নতুন রাস্পবেরি পাই 4 (RPi4) এর সাথে, আমি নিজেকে একটি হোম-ইউজ ফায়ারওয়াল বানানোর সিদ্ধান্ত নিয়েছি। ইন্টারনেটে হোঁচট খাওয়ার পরে, আমি এই বিষয়ে একটি দুর্দান্ত নিবন্ধ পেয়েছি গিলাইম কাদৌচ (https://networkfilter.blogspot.com/2012/08/building-your-piwall-gateway-firewall.html)। নিবন্ধটি আশ্চর্যজনক, এবং এগিয়ে যাওয়ার আগে আপনার এটি পড়া উচিত-এটি এখানে বর্ণিত প্রক্রিয়াটিকে আরও সহজ করে তুলবে। বিষয় হল, সেই নিবন্ধটি ২০১২ সালে লেখা হয়েছিল এবং এটি আর্চলিনাক্স ডিস্ট্রোর উপর ভিত্তি করে। আর্কলিনাক্সের বিরুদ্ধে কিছুই নয়, তবে আমি আরও সাধারণ রাস্পবিয়ান বিল্ড ব্যবহার করে এটি তৈরি করতে চেয়েছিলাম। RPi4 প্রক্রিয়াকরণের প্রয়োজনীয়তাগুলি পরিচালনা করতে পারে। সুতরাং, অনুপ্রেরণার জন্য আপনাকে ধন্যবাদ, গিলাম !! এই নির্দেশযোগ্যটি গিলাউমের (সংক্ষিপ্ত জন্য "GK") মূল পোস্টের জন্য উল্লেখ করা হবে, আপনি সম্ভবত আপনার ব্রাউজারে উভয় পৃষ্ঠা খোলা রাখতে চান।

আমার ফায়ারওয়াল সম্পর্কে কয়েকটি মূল বিষয়:

  • আমি বিল্ট-ইন ইথারনেট জ্যাক (eth0) ল্যান যাচ্ছে
  • ISP রাউটার TRENDnet অ্যাডাপ্টারে (eth1)
  • আমি ওয়্যারলেস অ্যাডাপ্টার সক্রিয়ভাবে অক্ষম করেছি (wlan0)
  • এটি আপনাকে সেখানে 100% পাওয়ার নিশ্চয়তা দেয় না … আশা করি কমপক্ষে 99%:) তাই দয়া করে প্রতিক্রিয়া/মন্তব্য প্রদান করুন
  • এটি আমার প্রথম নির্দেশযোগ্য। যথাযথ ইন্সট্রকেবল-রীতি অনুসরণ না করে এমন কোন কিছুর জন্য দু Sorryখিত।

এবার একটু মজা করা যাক …

সরবরাহ

  • রাস্পবেরি পাই 4

    • আমি 4 গিগাবাইট সংস্করণ ব্যবহার করেছি, একটি ভিন্ন সংস্করণ চেষ্টা করে দেখুন
    • কেস (আমি FLIRC পছন্দ করি, কিন্তু এটি আপনার কল)
    • পাওয়ার অ্যাডাপ্টার
  • মাইক্রোএসডি কার্ড, 32 গিগাবাইট বা তার বেশি (আমি 64 জিবি কার্ড ব্যবহার করেছি)
  • TRENDnet USB3.0 গিগাবিট ইথারনেট ডংগল (মডেল: TU3-ETG)
  • একটি দম্পতি RJ45 নেটওয়ার্ক কেবল
  • ইউএসবি কীবোর্ড এবং মাউস
  • একটি মাইক্রো-এইচডিএমআই থেকে এইচডিএমআই কেবল (যা একটি এইচডিএমআই মনিটরে প্লাগ করা আছে)

একবার আপনি SSH এবং VNC চালু এবং চালাতে সক্ষম হলে সেই কীবোর্ড, ভিডিও এবং মাউস সরানো যাবে।

ধাপ 1: প্রাথমিক RPi সেটআপ

প্রাথমিক RPi সেটআপ
প্রাথমিক RPi সেটআপ

প্রথম কাজটি হল আপনার RPi4 চালু করা এবং একটি নতুন সিস্টেম হিসাবে চালানো। রাস্পবিয়ান সম্পূর্ণ বিতরণ ডাউনলোড করুন এবং ইনস্টল করুন (ডেস্কটপ এবং প্রস্তাবিত সফ্টওয়্যার সহ রাস্পবিয়ান বাস্টার)। আপনাকে কয়েকবার রিবুট করতে হবে যাতে এটি প্রসারিত হতে পারে এবং সম্পূর্ণ মাইক্রোএসডি কার্ডের সুবিধা নিতে পারে।

এটি বুট হওয়ার সাথে সাথে আপনাকে এলাকা, নেটওয়ার্ক, কীবোর্ড এবং মাউস সম্পর্কিত প্রশ্নের উত্তর দিতে হবে। একটি নেটওয়ার্কের সাথে সংযোগ করুন এবং এটি আপডেট করার অনুমতি দিন।

সবকিছু নিশ্চিত করুন যে সবকিছু সঠিকভাবে আপডেট করা হয়েছে, এবং কয়েকটি ইউটিলিটি পান যা পরে ডিবাগ করতে সহায়তা করতে পারে:

$ sudo apt-get update

$ sudo apt-get dist-upgrade $ sudo apt-get htop install $ sudo apt-get install tcpdump

আমি vim ইনস্টল করিনি, না GK এর ধাপ 8 (vim কনফিগার করুন)। আমি শুধু vi এডিটর ব্যবহার করেছি কারণ এটিতে বেশিরভাগ বৈশিষ্ট্যই আছে। এটি কিছু সময় এবং প্রচেষ্টা সাশ্রয় করেছে।

একবার এটি সম্পন্ন হলে, RPi4 সেট আপ করা যাক যাতে আমরা একটি মনিটর হট-প্লাগ করতে পারি। আমার লক্ষ্য ছিল এটিকে হেডলেস চালানো, কিন্তু যদি আমাকে একটি মনিটর লাগাতে হয় তবে এটি স্বীকৃত হবে।

$ sudo vi /boot/config.txt

সেই ফাইলে:

অস্বস্তি (সামনের #-সিম্বল সরান): hdmi_force_hotplug = 1

অস্বস্তি: hdmi_drive = 2

বিকল্পভাবে, যোগ করুন: enable_hdmi_sound

পদক্ষেপ 2: নেটওয়ার্কিং

নেটওয়ার্কিং
নেটওয়ার্কিং
নেটওয়ার্কিং
নেটওয়ার্কিং

যদি আপনি GK এর সাইটে অনুসরণ করেন, তাহলে এটি 3 ধাপ। কিন্তু মনে রাখবেন, আমি তার প্রথম ধাপগুলি সঠিক ক্রমে অনুসরণ করিনি।

যখন আমি এটি প্রথম শুরু করেছিলাম, তখন আমি RPi কে সরাসরি আমার ISP রাউটারের সাথে সংযুক্ত করেছিলাম ("আমার বিদ্যমান নেটওয়ার্কের পাশে")। এটি আমাকে নেটওয়ার্ককে প্রভাবিত না করে কনফিগারেশনের সাথে খেলতে দেয়। RPi4 বিল্ট-ইন RJ45 কে আপনার রাউটারের সাথে সংযুক্ত করুন (অথবা আপনি চাইলে ওয়্যারলেস)। রাস্পবিয়ানের সাথে, এটি করার সবচেয়ে সহজ উপায় হল GUI ব্যবহার করা। ডেস্কটপ থেকে, রাস্পবেরি আইকন> পছন্দ> রাস্পবেরি পাই কনফিগারেশনে ক্লিক করুন। SSH এবং VNC সক্ষম করতে ভুলবেন না। এটি রিয়েল-ভিএনসি সার্ভার ক্লায়েন্ট ইনস্টল করবে। আমি দেখেছি যে আপনি যদি টাইট ভিএনসি ক্লায়েন্টের সাথে সংযোগ স্থাপনের চেষ্টা করেন, তবে এটি ফিট করে দেবে এবং কিছু অতিরিক্ত কনফিগারেশনের প্রয়োজন হবে। সুতরাং, এই মুহুর্তে আপনার প্রাথমিক ডেস্কটপ/ল্যাপটপে রিয়েল-ভিএনসি ক্লায়েন্ট ইনস্টল করুন (আপনার আরপিআই 4 নয়)।

SSH বাক্সের বাইরে কাজ করবে না (GK এর ধাপ 7)। আমাদের কিছু কনফিগারেশন পরিবর্তন করতে হবে। প্রথমে, ssh কনফিগ ফাইলটি সংশোধন করা যাক। আমার করা পরিবর্তনগুলি এখানে। মনে রাখবেন যে আমি এখানে প্রতিটি পরিবর্তনের প্রভাব অধ্যয়ন করিনি। আমি GK- এর সাইট যা সুপারিশ করেছি তা করেছি। এই পরিবর্তনের কিছু প্রয়োজন হতে পারে না।

$ sudo vi/etc/ssh/sshd_config

সেই ফাইলে, নিম্নলিখিত লাইনগুলি অসম্পূর্ণ করুন:

HostKey/etc/ssh/ssh_host_rsa_keyHostKey/etc/ssh/ssh_host_ecdsa_keySyslogFacility AUTHLogLevel INFOStrictModes yesPubkeyAuthentication yesHostBasedAuthentication no

Rhosts উপেক্ষা হ্যাঁ

PrintMotd noPrintLastLog yesTCPKeepAlive হ্যাঁ

এবং নিম্নলিখিত লাইন যোগ করুন:

প্রটোকল 2 ইউজ প্রাইভিলিজ সেপারেশন হ্যাঁ কি -রিজেনারেশন ইন্টারভাল 3600 সার্ভারকী বিটস 768 আরএসএ প্রামাণিকতা হ্যাঁ রোস্টস আরএসএ প্রমাণীকরণ নং

এবং নিম্নলিখিত লাইনগুলি সংশোধন করুন:

পোর্ট 15507 লগিনগ্রেসটাইম 60 পারমিটরুটলগিন নং

আসুন তাড়াতাড়ি সেই প্রথম সংশোধনের কথা বলি… পোর্ট 15507। SSH সাধারণত 22 পোর্টে চলে। GK এটিকে 15507 এ সরিয়ে দিল-কেন জানি না আপনি যেকোনোভাবে এটি সংশোধন করতে পারেন বা নাও করতে পারেন … যদি আপনি এটি সংশোধন করতে চান, তাহলে আপনি যে-কোন SSH কমান্ডের সাথে সংযোগ স্থাপনের চেষ্টা করবেন তাতে "-p 15507" যোগ করতে হবে। যদি আপনি এটি এড়িয়ে যাওয়ার সিদ্ধান্ত নেন, তবে এই নির্দেশাবলীতে 15507 উল্লেখ করা অন্যান্য স্থানগুলির দিকে নজর রাখুন এবং সেগুলি উপেক্ষা করুন, বিশেষ করে ফায়ারওয়ালের নিয়মগুলি!

অবশেষে এই ধাপের জন্য, RPi4 এর IP ঠিকানা পেতে দিন যাতে আমরা জানি যে কিসের সাথে সংযোগ স্থাপন করতে হবে:

$ ipconfig -a

সক্রিয় নেটওয়ার্ক সংযোগ খুঁজুন (সম্ভবত eth0 বা wlan0 তে) এবং সেই IP ঠিকানাটি লিখুন। এখন আপনার কাছে RPi4 এর সাথে দূর থেকে সংযোগ করার জন্য আপনার যা প্রয়োজন তা আছে। চলুন আগে আমরা রিবুট করি:

$ sudo রিবুট

ধাপ 3: অন্য ব্যবহারকারী

আরেকজন ব্যবহারকারী
আরেকজন ব্যবহারকারী

ডিফল্ট RPi ব্যবহারকারীর নাম (pi) ব্যবহার না করা ভাল, এবং আপনার অবশ্যই পাসওয়ার্ড পরিবর্তন করা উচিত। নিরাপদ থাকার জন্য, অন্য ব্যবহারকারীর অ্যাকাউন্ট যোগ করুন যা আপনি দূরবর্তীভাবে সংযোগ করতে এবং (GK এর ধাপ 6) ব্যবহার করতে পারেন। RPi তে ফিরে আসুন, একটি নতুন ব্যবহারকারী যোগ করুন এবং ব্যবহারকারীর SSH- এ অনুমতি সেট করুন এবং sudo কমান্ডটি ইস্যু করুন:

$ sudo useradd -m -g ব্যবহারকারীরা -G sudo, netdev -s /bin /bash [USERNAME]

$ sudo passwd [USERNAME]

নির্দ্বিধায় লগআউট বা রিবুট করুন এবং সেই নতুন তৈরি অ্যাকাউন্টটি এগিয়ে যান।

ধাপ 4: Syctl ফাইল

Syctl ফাইল
Syctl ফাইল

পরবর্তী ধাপ হল /etc/sysctl.conf ফাইলটি পরিবর্তন করা (GK এর ধাপ 9)। এই ফাইলটি কয়েকটি কার্নেল সেটিংস পরিবর্তন করতে ব্যবহৃত হয়। GK যা করতে বলে আমরা ঠিক তাই করতে যাচ্ছি। এখানে ধাপগুলির একটি সরলীকৃত সেট।

$ sudo vi /etc/sysctl.conf

সেই ফাইলে, নিম্নলিখিত লাইনগুলি অসম্পূর্ণ করুন:

net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.all.rp_filter = 1net.ipv4.tcp_syncookies = 1

net.ipv4.ip_forward = 1

net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.all.log_martians = 1

এবং নিম্নলিখিত লাইন যোগ করুন:

net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.icmp_ignore_bogus_error_responses = 1net.ipv4.conf.eth0.accept_redirects = 0vm.min_free_kbytes = 8192

এই নতুন সেটিংস দিয়ে পরিষেবাটি পুনরায় চালু করুন এবং পুনরায় বুট করুন:

$ sudo sysctl -p

$ sudo রিবুট

ধাপ 5: DHCP এবং DNS (পর্ব 1)

DHCP এবং DNS (পর্ব 1)
DHCP এবং DNS (পর্ব 1)

আমার জন্য, এই প্রক্রিয়ার দুটি বেদনাদায়ক অংশ ছিল … সুতরাং, এখানে আমরা প্রথম অংশ নিয়ে যাই। আপনি যদি GK- এর সাইটে অনুসরণ করেন, তাহলে আমরা 10 তম ধাপে আছি।

এটি করার জন্য, আপনার ISP রাউটার (অথবা বর্তমান ফায়ারওয়াল) থেকে কিছু তথ্য প্রয়োজন হবে:

  • রাউটারের অভ্যন্তরীণ আইপি ঠিকানা
  • একটি IP ঠিকানা যা আপনি RPi4- এর ইন্টারফেসের জন্য রাউটারে ব্যবহার করতে পারেন
  • একটি নাম সার্ভারের জন্য আইপি (বা দুটি)
  • LAN সংযোগের জন্য ইন্টারফেসের নাম (যেমন, eth0 বা eth1)
  • আইএসপি সংযোগের জন্য ইন্টারফেসের নাম (যেমন, আপনি ল্যানের জন্য যা ব্যবহার করেননি)

RPi4 কে একটি স্ট্যাটিক আইপি অ্যাড্রেস (উপরে বুলেট 2,) দেওয়ার জন্য আপনাকে রাউটারের সেটিংস পরিবর্তন করতে হতে পারে। অন্তত, আমি সেটাই করেছি।

প্রথমে, dhcpcd.conf ফাইলটি সংশোধন করা যাক …

$ sudo vi /etc/dhcpcd.conf

এই লাইনগুলি আনকমেন্ট করুন:

persistentoption Rapid_commitoption domain_name_servers, domain_name, domain_search, host_nameoption interface_mtu

প্রতিটি নেটওয়ার্ক ইন্টারফেসের জন্য, আপনাকে নেটওয়ার্কের বিবরণ সেট করতে হবে। তাদের এইরকম কিছু দেখতে হবে:

# আইএসপি ইন্টারফেসের জন্য স্ট্যাটিক

ইন্টারফেস eth1 স্ট্যাটিক ip_address = 192.168.1. স্ট্যাটিক রাউটার = 192.168.1.254 স্ট্যাটিক domain_name_servers = 8.8.8.8 8.8.4.4 মেট্রিক 100 # LAN ইন্টারফেসের ইন্টারফেসের জন্য স্ট্যাটিক eth0 স্ট্যাটিক ip_address = 10.210.212 স্ট্যাটিক রাউটার = 10.210.212.1 স্ট্যাটিক domain_name_servers = 8.8.8.8 8.8.4.4 #interface wlan0 #static ip_address = 10.210.212। #static routers = 10.210.212.1 #static domain_name_servers = 8.8.8.8 #আপনি যদি কোনো ডিভাইসে আইপি ঠিকানা জোর করতে চান তাহলে এই বিভাগটি অস্বীকার করুন। 'হোস্ট' এর নাম #সিস্টেমের জন্য অর্থহীন। ডিভাইসের MAC ঠিকানা সেইসাথে পছন্দসই #IP ঠিকানা লিখুন। নিশ্চিত করুন যে এটি dhcp পরিসরের বাইরে। প্রয়োজনে পুনরাবৃত্তি করুন। # হোস্ট [কিছু] { # হার্ডওয়্যার ইথারনেট xx: xx: xx: xx: xx: xx; # স্থির ঠিকানা 10.210.212.250; #}

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

এছাড়াও, যদি আপনি একটি ডিভাইসে একটি আইপি ঠিকানা জোর করতে চান (যেমন একটি NAS), নিচের অংশটি ব্যবহার করুন। হোস্টকে এমন একটি নাম দিন যা আপনার কাছে অর্থবহ, কিন্তু জেনে রাখুন এটি কখনই কোন কিছু দ্বারা ব্যবহৃত হয় না। সেমিকোলন ভুলে যাবেন না।

ধাপ 6: DHCP এবং DNS (অংশ 2)

DHCP এবং DNS (পর্ব 2)
DHCP এবং DNS (পর্ব 2)

পরবর্তী ধাপ হল dnsmasq.conf ফাইলটি পরিবর্তন করা …

$ sudo vi /etc/dnsmasq.conf

আমাদের কিছু লাইন অসম্পূর্ণ করতে হবে, এবং কয়েকটি লাইন সম্পাদনা করতে হবে। আপনাকে dhcpcd.conf ফাইল থেকে কয়েকটি সেটিংস অনুলিপি করতে হবে। আপনার নিজের জন্য আরও দুটি প্রশ্নের উত্তর দিতে হবে:

অভ্যন্তরীণ ল্যানের (যেমন, eth0) কি DHCP এবং DNS প্রয়োজন? আপনার LAN এর জন্য আপনি কোন DHCP পরিসীমা চান এবং প্রতিটি লিজ কতদিনের হওয়া উচিত?

কয়েকটি লাইন অসম্পূর্ণ করে শুরু করুন:

bogus-privno-dhcp-interface = wlan0bind-interfaces

আপনার নাম সার্ভার সেট করুন। 'সার্ভার =' শুরু হওয়া লাইনটি সন্ধান করুন এবং এটি 'সার্ভার = 8.8.8.8' এর মতো কিছু করুন।

আপনার DHCP রেঞ্জ সেট করুন। এটি করার অনেক উপায় আছে। আমি দুটি এন্ডপয়েন্ট আইপি, মাস্ক এবং লিজের দৈর্ঘ্য প্রদান করা বেছে নিয়েছি। আমার পরিসীমা ছিল 10.210.212.20-10.210.212.240, 255.255.255.0 এর নেট মাস্ক এবং 12 ঘন্টার লিজ টাইম। আমি আপনাকে সুপারিশ করি যে আপনি যদি আপনার স্ট্যাটিক আইপি কিছু দেওয়ার প্রয়োজন হয় তবে আপনার পরিসরের উপরে এবং নীচে কিছু আইপি রেখে দিন।

ইন্টারফেসটি সেট করুন যা DNS এবং DHCP (LAN) 'ইন্টারফেস =' লাইন পরিবর্তন করে 'ইন্টারফেস = eth0) হতে পারে। লক্ষ্য করুন যে আমি বিশেষভাবে বলেছি আমার বেতার নেটওয়ার্কে একটি DHCP আইপি ঠিকানা বরাদ্দ করতে নয়। আবার, আমি সেই ইন্টারফেসটি পুরোপুরি বন্ধ করতে চাই, তাই এটি আমার জন্য বোধগম্য।

ধাপ 7: DHCP এবং DNS (অংশ 3)

DHCP এবং DNS (অংশ 3)
DHCP এবং DNS (অংশ 3)

এই শেষ ধাপের জন্য GK- এর নির্দেশনা থেকে একটি বিচ্যুতি …

যখন আমি এই সময়ে আমার RPi পুনরায় চালু করতে গিয়েছিলাম, তখন dnsmasq প্রক্রিয়াটি সক্রিয় ছিল না। একটু ঘেউ ঘেউ করে আমি দেখতে পেলাম যে আমার eth0 এবং eth1 নেটওয়ার্ক ইন্টারফেসগুলি dnsmasq শুরু হওয়ার আগে সক্রিয় ছিল না, তাই dnsmasq শুরুতে ব্যর্থ হবে। আমাকে একটি কীবোর্ড এবং মাউসকে RPi এর সাথে সংযুক্ত করতে হবে এবং ম্যানুয়ালি dnsmasq পুনরায় চালু করতে হবে। হেডলেস সেটআপের সাথে এটি আদর্শ নয়। আমি একগুচ্ছ পোস্ট পড়েছিলাম যা সেটিংসে বিভিন্ন পরিবর্তন করতে বলেছিল (যেমন, বাইন্ড-ইন্টারফেস অক্ষম করুন) এবং অন্যান্য জিনিস। এর কোনোটাই কাজ করেনি। শেষ পর্যন্ত, আমি কেবল একটি শেল স্ক্রিপ্ট লেখার সিদ্ধান্ত নিয়েছি যা প্রতি 2 মিনিটে চলবে এবং dnsmasq এর অবস্থা পরীক্ষা করবে। যদি এটি চলছিল না, এটি শুরু করুন। আমি অনুমান করি যে এই পরিস্থিতি আমার জন্য অনন্য নয়। সুতরাং, আপনাকে যা করতে হবে তা এখানে:

আপনার RPi- এ 'dns_masq_keepalive.sh' নামে একটি ফাইলে নিম্নলিখিত কোডটি তৈরি করুন।

#!/বিন/ব্যাশ

# ফাইল: dns_masq_keepalive.sh # আগস্ট 2019 # dnsmasq চলছে কিনা তা নিশ্চিত করতে crontab -e (*/2 * * * * /etc/dns_masq_keepalive.sh) দিয়ে এটি ব্যবহার করুন। Dhcpcd.conf- এ উল্লিখিত সমস্ত ইন্টারফেস শুরু না হওয়ার আগে পরিষেবাটি বন্ধ হয়ে যাবে। এটি সমস্যার সমাধান করে। # এই পরবর্তী লাইনটি তাদের মধ্যে 'dnsmasq' শব্দ দিয়ে সমস্ত সক্রিয় চাকরি ফিরিয়ে দেবে। সুতরাং, এই # ফাইলের নামের মধ্যে 'dnsmasq' অন্তর্ভুক্ত করবেন না, অন্যথায় এটি প্রতিবারই এটি ফিরিয়ে দেবে এবং আপনার কখনই পুনরায় চালু হবে না। dns_running = $ (ps -e | grep dnsmasq) echo $ dns_running যদি [-z "$ dns_running"] তাহলে #echo No DNSMasq sudo /etc/init.d/dnsmasq restart #else #echo DNSMasq Running fi

প্রয়োজনে কাট-পেস্ট করুন। আপনি যাই করুন না কেন, নামের মধ্যে 'dnsmasq' অন্তর্ভুক্ত করবেন না। স্ক্রিপ্টটি 'dnsmasq' শব্দটির সন্ধান করে এবং যদি স্ক্রিপ্টটি নামে থাকে তবে এটি ধরে নেবে যে পরিষেবাটি চলছে। এছাড়াও, ফাইলের নাম পরিবর্তন করুন যাতে এটি '.sh' দিয়ে শেষ হয়। Intructables আমাকে একটি '.sh' ফাইল আপলোড করতে দেবে না-যা ভাল। বাকি নির্দেশাবলী অনুমান করে যে ফাইলটি এখানে বিদ্যমান: /etc/dns_masq_keepalive.sh।

দ্বিতীয়ত, ফাইলটিতে অনুমতি সেট করুন যাতে এটি কার্যকর করা যায়:

$ sudo chmod u+x /etc/dns_masq_keepalive.sh

এখন আমরা প্রতিদিন 2 মিনিটে প্রোগ্রামটি চালানোর জন্য ক্রন্টাব সিস্টেম ব্যবহার করব। Crontab শুরু করুন:

$ sudo crontab -e

এটি আপনাকে vi বা অন্য কিছু ব্যবহার করে সম্পাদনা করতে অনুরোধ করবে। যে কোন কাজ করবে। একবার আপনি এটি সম্পাদনা করতে পারলে, ফাইলের শেষে নিম্নলিখিতগুলি যোগ করুন:

*/2 * * * * sudo /etc/dns_masq_keepalive.sh

'*/2' তে কোন ফাঁকা স্থান নেই, কিন্তু তারকাচিহ্নের মধ্যে ফাঁকা স্থান। সংরক্ষণ করুন এবং ছেড়ে দিন। এটি আপনাকে বলা উচিত যে কাজটি নির্ধারিত, বা এরকম কিছু।

ধাপ 8: ফায়ারওয়াল

ফায়ারওয়াল
ফায়ারওয়াল

পরবর্তী বেদনাদায়ক প্রক্রিয়া হল ফায়ারওয়াল (GK এর ধাপ 11)। রাস্পবিয়ান সুপরিচিত iptables সিস্টেম ব্যবহার করে। GK- এর ব্লগ আপনাকে সেখানে পৌঁছাতে সাহায্য করার জন্য তিনটি ফাইল প্রদান করে … ফায়ারওয়াল.সিম্পল, ফায়ারওয়াল। GK- এর প্রতি সমস্ত শ্রদ্ধা, কিন্তু নিজের উপর এটি সহজ করুন এবং শুধু firewall.simple দিয়ে যান। আমি iptables সিস্টেম এবং নিয়মগুলি বের করার চেষ্টা করার জন্য অনেক সময় ব্যয় করেছি। আমি খুশি যে আমি করেছি, কিন্তু এটা বেদনাদায়ক ছিল। সুতরাং, আমি আপনাকে সাহায্য করার জন্য সংযুক্ত দুটি ফাইল দিচ্ছি… firewall.simple এবং firewall.clear। এই ফাইল দুটি আপনার /etc ফোল্ডারে অনুলিপি করুন এবং এগুলিকে এক্সিকিউটেবল করার জন্য অনুমতি পরিবর্তন করুন:

$ sudo chmod u+x /etc/firewall.simple

$ sudo chmod u+x /etc/firewall.clear

আপনি কোন ফায়ারওয়াল নিয়ম সেট করার আগে, আপনার RPi eth0 পোর্টে একটি ডেস্কটপ/ল্যাপটপ লাগান এবং নিশ্চিত করুন যে এটি একটি IP ঠিকানা পেয়েছে এবং DNS চলছে। এটি করার সবচেয়ে সহজ উপায় হল একটি জেনেরিক সাইট এবং তারপর একটি পরিচিত আইপি অ্যাড্রেস চেষ্টা করে পিং করা। এছাড়াও আপনার RPi এবং ISP রাউটার পিং করুন। যদি আপনি ফলাফল পান, তাহলে সব ঠিক আছে এবং আপনার যে নেটওয়ার্ক সমস্যাগুলি এখন সম্মুখীন হয় তা সম্ভবত ফায়ারওয়াল সমস্যার কারণ হতে পারে।

প্রদত্ত প্রথম ফাইলটি মূলত GK এর ফায়ারওয়াল হিসাবে শুরু হয়েছিল। সহজ ফাইল (ধন্যবাদ, আবার, GK!)। এই সিস্টেমের জন্য এটি কাজ করার জন্য আমি একগুচ্ছ পরিবর্তন করেছি। এটি কমপক্ষে HTTP, HTTPS, DNS, DHCP, পিং, অভ্যন্তরীণ SSH, অভ্যন্তরীণ VNC এবং plex এর জন্য অনুমতি দেওয়া উচিত। প্লেক্সের প্রতিটি সম্ভাব্য ডিভাইসের জন্য সমস্ত খোলা পোর্ট নাও থাকতে পারে, তবে এটি ঠিক করার জন্য সেখানে অনেকগুলি পোস্ট রয়েছে। ফাইলের শীর্ষে মান রয়েছে যা আপনাকে আপনার নেটওয়ার্ক কনফিগারেশনে পরিবর্তন করতে হবে।

দ্বিতীয় ফাইল, ফায়ারওয়াল.ক্লিয়ার, আপনি আপনার ফায়ারওয়াল নিয়মগুলি পরীক্ষা করার সময় ব্যবহার করার উদ্দেশ্যে। যখন আপনি 'sudo /etc/firewall.clear' চালাবেন তখন সমস্ত ফায়ারওয়াল নিয়ম পরিষ্কার হয়ে যাবে এবং সিস্টেমটি সম্পূর্ণরূপে ইন্টারনেটের সাথে সংযুক্ত থাকতে হবে। সুতরাং, যদি আপনি একটি নেটওয়ার্ক পরিষেবা (যেমন ডিএনএস) ফায়ারওয়ালের সাথে কাজ করতে সক্ষম না হন। আপনার নিয়মগুলি পরীক্ষা করার সময় এটি কেবলমাত্র সমালোচনামূলক হবে।

সুতরাং, আমাদের সেখানে ফায়ারওয়ালের নিয়ম আছে, আরপিআই শুরু হলে আমাদের সেগুলি শুরু করতে হবে। এটি করার জন্য, আমরা /etc/rc.local ফাইল সম্পাদনা করব:

$ sudo vi /etc/rc.local

একবার ভিতরে ফাইলের শেষে নিম্নলিখিত যোগ করুন:

প্রতিধ্বনি "লোড হচ্ছে iptables নিয়ম" /etc/firewall.simple >>/dev/null

যদি আপনি snort অনুপ্রবেশ সনাক্তকরণ সিস্টেম যোগ করতে চয়ন করেন, তাহলে আপনাকে এই ফাইলটি আবার সম্পাদনা করতে হবে। আপাতত এটি সংরক্ষণ করুন, এবং পুনরায় বুট করুন।

$ sudo রিবুট

ধাপ 9: সিসলগ

সিসলগ
সিসলগ

দুই ধাপ বাকি…

এটা একটা সহজ জিনিষ। আপনি যদি এখনও সেখানে থাকেন, এবং GK- এর ব্লগের সাথে অনুসরণ করছেন, তাহলে এটি 12 তম ধাপ। syslog ফাইলের ব্যাপারে তিনি যা বলবেন ঠিক তাই করতে হবে। এখানে সংক্ষিপ্ত পদক্ষেপগুলি রয়েছে:

2 মাসের মূল্যবান syslog ডেটা রাখুন …

$ sudo vi /etc/logrotate.conf

আমাদের এটিকে পরিমাপ হিসাবে 'এক সপ্তাহ' ব্যবহার করতে বলা উচিত এবং তার মধ্যে 12 টি রাখতে হবে। এই ফাইলে আপনার নিম্নলিখিত দুটি লাইন দরকার। আমি বিশ্বাস করি আপনি বিদ্যমান লাইন পরিবর্তন করতে হবে।

সাপ্তাহিক রোটেট 12

এটি সংরক্ষণ করুন.

ধাপ 10: Snort সঙ্গে অনুপ্রবেশ সনাক্তকরণ

Snort সঙ্গে অনুপ্রবেশ সনাক্তকরণ
Snort সঙ্গে অনুপ্রবেশ সনাক্তকরণ

GK কনফিগার করা শেষ জিনিস হল স্নর্ট সিস্টেম। আমি এটিও সুপারিশ করি। আপনি তার নিয়ম অনুসরণ করতে পারেন, এবং আমি এখানে ছোটখাটো কিছু পরিবর্তন করে তাদের সবাইকে কপি করতে যাচ্ছি না। তার নির্দেশাবলী ArchLinux distro এর জন্য। রাস্পবিয়ান বিতরণের জন্য আমরা এখানে কয়েকটি পরিবর্তন করছি। বাকি নির্দেশাবলী ঠিক কাজ করে।

প্রথমে, snort ডাউনলোড এবং ইনস্টল করার জন্য sudo pacman -S snort ব্যবহার করবেন না। নিম্নলিখিতগুলি করুন:

$ sudo apt-get snort ইনস্টল করুন

দ্বিতীয়ত, আপনি sudo snort -version দিয়ে snort যাচাই করতে পারবেন না। এর সাথে ইনস্টলেশন যাচাই করুন:

$ sudo snort -V

অবশেষে, এটি স্টার্টআপে চালানোর জন্য, rc.conf ফাইলটি পরিবর্তন করবেন না, rc.local ফাইলটি সম্পাদনা করুন (আবার)…

$ sudo vi /etc/rc.local

ফাইলের শেষে নিম্নলিখিত লাইন যোগ করুন:

প্রতিধ্বনি "লোডিং স্নর্ট"

#/usr/sbin/snort -D -u snort -g snort -c /etc/snort/snort.conf -i eth0 -l/var/log/snort

এখন, রিবুট করুন এবং এটি সব জাদুকরীভাবে কাজ করা উচিত।

$ sudo রিবুট

ধাপ 11: উপভোগ করুন

উপভোগ করুন
উপভোগ করুন

এটাই হওয়া উচিত!

প্রথমত, আমি Guillaume Kaddouch কে যথেষ্ট ধন্যবাদ দিতে পারি না! তিনি এটি অনুপ্রাণিত করেছিলেন।

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

শেষ করার জন্য, এটি 100% নিখুঁত নাও হতে পারে। পরিবর্তন/পরামর্শ/সুপারিশ সহ ফিরে পোস্ট করুন। আমার লক্ষ্য হবে আলোচনার সূচনা এবং অনেক মানুষ উপভোগ করবে!

ধন্যবাদ !!

PS… ছবিটি একটি FLIRC অ্যালুমিনিয়াম কেসের ভিতরে একটি RPi4 যা একটি পুরানো ইন্টেল ফ্যানের সাথে সামান্য সংশোধিত এবং উপরে জিপ-বাঁধা। ফ্যানের নিচেও থার্মাল পেস্ট আছে, শুধু যদি আপনি ভাবছিলেন। আমি ইন্টারনেটে অনুরূপ কিছু খুঁজে পেয়েছি (https://www.reddit.com/r/raspberry_pi/comments/9bdgrr/it_turns_out_putting_a_heatsink_on_the_flirc_case/) এবং নিজে চেষ্টা করার সিদ্ধান্ত নিয়েছি।

ধাপ 12: চ্যাঞ্জেলগ

যেহেতু এই নির্দেশযোগ্য পরিবর্তন করা হয়, আমি তাদের এখানে নথিভুক্ত করব।যদি আপনার কোন সমস্যা হয়, আপনি এখানে পুরানো নির্দেশনা বা ফাইলগুলি ধরেন কিনা তা পরীক্ষা করে দেখুন।

সেপ্টেম্বর 25, 2019:

  • ফায়ারওয়ালে সহজ ডিএইচসিপি নিয়ম
  • নির্দেশাবলীতে স্থির DHCP পরিসীমা (ফাইলগুলি সঠিক ছিল)
  • ডিএইচসিপি নির্দেশাবলীতে ফিক্সড-আইপি অ্যাসাইনমেন্ট যোগ করা হয়েছে

অক্টোবর 13, 2019

  • একাধিক টাইপো ঠিক করা হয়েছে
  • একটি দ্বিতীয় পাই তৈরি করা হয়েছে যাতে প্রয়োজন হলে আমার একটি পরীক্ষা SDcard হবে সোয়াপ করার জন্য

প্রস্তাবিত: