দেবিয়ান 'উপেক্ষা করে' /etc/network/if-pre-up.d/iptables


12

আমি চাই যে আমার আইপটিবল নিয়মগুলি স্বয়ংক্রিয়ভাবে শুরুতে লোড হবে। ডিবানের উইকি অনুসারে /etc/network/if-pre-up.d/ এ iptables নামের সাথে একটি স্ক্রিপ্ট রেখে এটি করা যেতে পারে, সুতরাং আমি এটি করেছি, এটি দেখতে এটির মতো দেখাচ্ছে:

cat /etc/network/if-pre-up.d/iptables 
#!/bin/sh
/sbin/iptables-restore < /etc/firewall/iptables.rules
/sbin/ip6tables-restore < /etc/firewall/ip6tables.rules

এই স্ক্রিপ্টটি কাজ করে: আমি যদি এটি রুট হিসাবে চালাই তবে আমার ফায়ারওয়াল বিধিগুলি প্রয়োগ হয়ে যায়। তবে পুনরায় বুটে ফায়ারওয়ালের কোনও নিয়ম নেই। আমি কি ভুল করছি?

অনুরোধে: / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস (আমি এই ফাইলটি স্পর্শ করি নি)

user@DebianVPS:~$ cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

আপনি কীভাবে আপনার ইন্টারফেস কনফিগার করবেন? আপনি / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস ফাইল যোগ করতে পারেন?
বায়ইন্ডির

দয়া করে নোট করুন যে /etc/network/if-pre-up.d/উবুন্টু 18.04 এ আর কাজ করে না, সার্ভারফল্ট
প্রশ্নগুলি

উত্তর:


6

iptables-persistentএই কাজের জন্য প্যাকেজটি ব্যবহার করুন ।

এতে আপনার বিধিগুলি সংজ্ঞায়িত করুন /etc/iptables/rules.4এবং /etc/iptables/rules.6পরিষেবাটি সক্রিয় করতে ভুলবেন না (ব্যবহার করে update-rc.d, chkconfigবা আপনার পছন্দসই সরঞ্জামটি।


প্যাকেজটি ইনস্টল করার সময়, ডাবকনফ আপনাকে জিজ্ঞাসা করে যে আপনি বর্তমানের নিয়মগুলি সংরক্ষণ করতে চান। সুতরাং, আপনার যদি ইতিমধ্যে সংজ্ঞায়িত বিধিগুলি থাকে তবে আপনি কেবল প্যাকেজটি ইনস্টল করতে পারেন। আপনি যদি এগুলি পরে পরিবর্তন করতে চান তবে ঠিক dpkg-reconfigure iptables-persistent
ব্রায়াম

10

এই সমস্যাটি আপনার স্ক্রিপ্টের অনুমতি বিটের সাথে সম্পর্কিত হতে পারে। এই কমান্ডের আউটপুট কি? এটিতে কি আপনার ফাইল অন্তর্ভুক্ত রয়েছে?

run-parts --test /etc/network/if-pre-up.d

রান-পার্টস - সর্বশেষে /etc/network/if-pre-up.d /etc/network/if-pre-up.d/iptables দেয়, যা আমার কাছে সঠিক আউটপুট বলে মনে হচ্ছে?
চেরন

1
ঠিক আছে, সুতরাং, আপনার স্ক্রিপ্টটি কখন চালু আছে তা সম্ভবত আপনার পরীক্ষা করা উচিত। (date; set; echo) >> /tmp/iptables-cmd.logএটির মতো একটি প্রথম লাইন যুক্ত করুন , সুতরাং কখন এটি ডাকা হবে তা আপনি দেখতে পাবেন। আমি সেখানে যে কোনও যুক্তি যাচাই করার জন্য পরিবেশটি সর্বদা মুদ্রণ করি। আপনি সর্বশেষ এথ * ইন্টারফেস শেষ হওয়ার পরে কেবল আপনার আইপটিবলগুলি চালানোর সিদ্ধান্ত নিতে পারেন, প্রতিবার কোনও ইন্টারফেস যুক্ত হওয়ার পরে এটি চালানোর পরিবর্তে।
eppesuig

3
এখন আপনি আপনার পোস্ট করেছেন interfacesআমি দেখতে পাচ্ছি যে আপনি ifupdown ব্যবহার করছেন না, তবে নেটওয়ার্ক-ম্যানেজার। এই কারণে আপনার স্ক্রিপ্ট বলা হয় না। দয়া করে এই দস্তাবেজটি দেখুন: ubuntuforums.org/showthread.php?t=1084308
eppesuig

ভাল যে অনেক ব্যাখ্যা করে। আমার মনে হয় এখন আমি দাউদ এর উত্তর নিয়ে যাচ্ছি যা মনে হয় কোনওভাবেই কাজ করে না।
চেরোন

3
স্ক্রিপ্টগুলির নাম সম্পর্কে রান-পার্টসটি কিছুটা বাছাইযোগ্য এবং ফাইলনামে একটি ডট থাকার ফলে আমার ক্ষেত্রে প্রারম্ভকালে স্ক্রিপ্টটিকে উপেক্ষা করা হচ্ছিল।
অ্যালেক্স

0

কেন এটি সহজ উপায় না?

1 - আপনার iptables বিধি তৈরি করুন

2 - "sudo apt-get ইনস্টল করুন iptables-लगातार" চালান এটি আপনাকে জিজ্ঞাসা করবে যে আপনি নিয়মগুলি সংরক্ষণ করতে চান এবং বুট করার পরে সেগুলি পুনরুদ্ধার করতে চান।

3- আপনি শেষ


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