আমি গত 3 দিন ধরে আমার সমস্যার সমাধান খুঁজছি কিন্তু কিছুই এখনও কার্যকর হয়নি।
লক্ষ্য
দূর থেকে আমার বাড়ির কম্পিউটারটি জাগাতে সক্ষম হতে হবে। এখন, আমি স্থানীয়ভাবে WOL পেয়েছি: আমি আমার অ্যান্ড্রয়েড ফোন থেকে মেশিনটি চালু করতে পারি। আমি বাড়ি থেকে দূরে থাকলেও এটি কাজ করা আমার দরকার।
আমার নেটওয়ার্ক সেটআপ
আমার দুটি রাউটার রয়েছে, প্রাথমিক রাউটারটি আইএসপির সাথে সংযুক্ত, মালিকানাধীন সফ্টওয়্যার চালায়, যা পোর্ট ফরওয়ার্ডিং সমর্থন করে তবে ডাব্লুএলএল কার্যকারিতা নেই। মাধ্যমিক রাউটারটি ইথারনেট তারের মাধ্যমে প্রথমটির সাথে সংযুক্ত এবং ডিডি-আরআরটি চালায়। আমার বাড়ির কম্পিউটারটি ইথারনেট কেবলের মাধ্যমে মাধ্যমিক রাউটারের সাথে সংযুক্ত এবং একটি স্ট্যাটিক আইপি ঠিকানা রয়েছে। আমি নন-আইপিকে ধন্যবাদ দিয়ে প্রাইমারি রাউটারের সাথে যুক্ত হয়ে গতিশীল ডিএনএসও কনফিগার করেছি।
সমাধানগুলি আমি চেষ্টা করেছিলাম
আমি যে প্রথম সমাধানটি চেষ্টা করেছি তা হ'ল প্রাথমিক রাউটারের পোর্ট 7 এ আসা ইউডিপি ট্র্যাফিককে মাধ্যমিক রাউটারের 7 বন্দরতে ফরোয়ার্ড করা। তারপরে, আমার বাড়ির কম্পিউটারে সেকেন্ডারি রাউটারের 7 বন্দরটিতে আগত ইউডিপি। এটি কার্যকর হয়নি। এমনকি আমার বাড়ির কম্পিউটারের জন্য আরপ টেবিলের স্থিতিশীল প্রবেশদ্বার সেট করাও কার্যকর হয়নি।
দ্বিতীয় সমাধানটি, যা আমার কাছে সর্বাধিক সুরক্ষিত বলে মনে হয়, তাতে আমার বাড়ির কম্পিউটারে অনুরোধের জন্য লগ ফাইলগুলি পরীক্ষা করে ডিডি-আরআরটি রয়েছে এবং যদি এটির কোনও সন্ধান হয়, কম্পিউটারটি জাগ্রত করে ডিডি-আরআরটি তার ওয়াল কমান্ড জারি করে। আমি এই স্ক্রিপ্টটি পেয়েছি:
#!/bin/sh
#Enable JFFS2 and place script in /jffs/ then run on startup in web interface.
#You can check the log from http://192.168.2.1/user/wol.html
INTERVAL=1
PINGTIME=1
OLD=""
PORT=32400
WOLPORT=9
TARGET=192.168.2.4
BROADCAST=192.168.2.255
MAC=00:1f:5b:32:c6:0c
WOL=/usr/sbin/wol
LOGFILE="/tmp/www/wol.html"
echo "<meta http-equiv=\"refresh\" content=\"10\">" > $LOGFILE
echo "AUTO WOL Script started at" `date` "<br>" >> $LOGFILE
while sleep $INTERVAL;do
NEW=`dmesg | awk '/ACCEPT/ && /DST='"$TARGET"'/ && /DPT='"$PORT"'/ {print }' | tail -1`
SRC=`dmesg | awk -F'[=| ]' '/ACCEPT/ && /DST='"$TARGET"'/ && /DPT='"$PORT"'/ {print $7}' | tail -1`
LINE=`dmesg | awk '/ACCEPT/ && /DST='"$TARGET"'/ && /DPT='"$PORT"'/'`
if [ "$NEW" != "" -a "$NEW" != "$OLD" ]; then
if ping -qw $PINGTIME $TARGET >/dev/null; then
echo "NOWAKE $TARGET was accessed by $SRC and is already alive at" `date` "<br>">> $LOGFILE
else
echo "WAKE $SRC causes wake on lan at" `date` "<br>">> $LOGFILE
$WOL -i $BROADCAST -p $WOLPORT $MAC >> $LOGFILE
echo "<br>" >> $LOGFILE
sleep 1
fi
OLD=$NEW
fi
done
আমি স্ক্রিপ্টটি কনফিগার করেছি, সঞ্চিত /tmp/www/wol.html
লগটিতে স্ক্রিপ্টের সময় লুপের আগে দুটি ইকো কমান্ডের আউটপুট থাকে।
আমি মনে করি এটি ডিডি-আর্ট লগগুলির একটি সমস্যা, আমি সেগুলি পরিদর্শন করেছি এবং তারা আইপি ঠিকানা বা পোর্ট সম্পর্কে কোনও তথ্য রাখবে না বলে মনে হচ্ছে:
Sep 1 16:58:00 DD-WRT user.info : dhcpfwd : dhcp forwarder daemon successfully started
Sep 1 17:00:00 DD-WRT user.info : dhcpfwd : dhcp forwarder daemon successfully started
Sep 1 17:02:01 DD-WRT user.info : dhcpfwd : dhcp forwarder daemon successfully started
Sep 1 17:04:00 DD-WRT user.info : dhcpfwd : dhcp forwarder daemon successfully started
Sep 1 17:06:00 DD-WRT user.info : dhcpfwd : dhcp forwarder daemon successfully started
Sep 1 17:06:39 DD-WRT daemon.info hostapd: ath0: STA ac:cf:85:a1:f0:1b IEEE 802.11: disassociated due to inactivity
Sep 1 17:06:40 DD-WRT daemon.info hostapd: ath0: STA ac:cf:85:a1:f0:1b IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Sep 1 17:06:45 DD-WRT daemon.info hostapd: ath0: STA fc:3f:7c:8b:0c:71 IEEE 802.11: disassociated due to inactivity
Sep 1 17:06:46 DD-WRT daemon.info hostapd: ath0: STA fc:3f:7c:8b:0c:71 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Sep 1 17:07:08 DD-WRT auth.info login[1874]: root login on 'pts/0'
স্ক্রিপ্ট কেন কাজ করছে না কেউ জানে? আপনার কি কোনও বিকল্প সমাধান আছে?