আমি বিশ্বাস করি না এটি দিয়েই সম্ভব ufw
। ufw
এটি কেবলমাত্র একটি সীমানা iptables
যা এতে এই বৈশিষ্ট্যটিরও অভাব রয়েছে, সুতরাং একটি পদ্ধতির মধ্যে একটি ক্রন্টব এন্ট্রি তৈরি করা হবে যা পর্যায়ক্রমে চালিত হবে এবং আইপি ঠিকানাটি পরিবর্তন হয়েছে কিনা তা পরীক্ষা করে দেখুন। যদি এটি থাকে তবে এটি আপডেট করবে।
আপনি এটি করতে প্রলুব্ধ হতে পারে:
$ iptables -A INPUT -p tcp --src mydomain.dyndns.org --dport 22 -j ACCEPT
তবে এটি হোস্ট-নেমটি একটি আইপি-তে সমাধান করবে এবং নিয়মের জন্য এটি ব্যবহার করবে, সুতরাং আইপি পরে পরিবর্তিত হলে এই নিয়মটি অবৈধ হয়ে যাবে।
বিকল্প ধারণা
আপনি এর মতো একটি স্ক্রিপ্ট তৈরি করতে পারেন, বলা হয় iptables_update.bash
।
#!/bin/bash
#allow a dyndns name
HOSTNAME=HOST_NAME_HERE
LOGFILE=LOGFILE_NAME_HERE
Current_IP=$(host $HOSTNAME | cut -f4 -d' ')
if [ $LOGFILE = "" ] ; then
iptables -I INPUT -i eth1 -s $Current_IP -j ACCEPT
echo $Current_IP > $LOGFILE
else
Old_IP=$(cat $LOGFILE)
if [ "$Current_IP" = "$Old_IP" ] ; then
echo IP address has not changed
else
iptables -D INPUT -i eth1 -s $Old_IP -j ACCEPT
iptables -I INPUT -i eth1 -s $Current_IP -j ACCEPT
/etc/init.d/iptables save
echo $Current_IP > $LOGFILE
echo iptables have been updated
fi
fi
উত্স: dyndns.org এর মতো ডায়নামিক আইপি হোস্টনামের সাথে আইপেটেবল ব্যবহার করা
এই স্ক্রিপ্টটি সংরক্ষণ করে আপনি ফাইলের মতো ক্রন্টব এন্ট্রি তৈরি করতে পারেন /etc/crontab
:
*/5 * * * * root /etc/iptables_update.bash > /dev/null 2>&1
এই এন্ট্রিটি তখন প্রতি 5 মিনিটে স্ক্রিপ্টটি চালায়, হোস্টনামের জন্য নির্ধারিত আইপি ঠিকানাটি পরিবর্তন হয়েছে কিনা তা পরীক্ষা করে। যদি তা হয় তবে এটি পুরানো আইপি ঠিকানার পুরানো নিয়মটি মোছার সময় এটির অনুমতি দিয়ে একটি নতুন নিয়ম তৈরি করবে।