টুন0 ইন্টারফেস আপ / ডাউন ইভেন্টগুলি কীভাবে আমি স্বয়ংক্রিয়ভাবে চালানোর জন্য স্ক্রিপ্টটি করব?


15

আমি আমার কর্পোরেট সার্ভারের সাথে সংযোগ রাখতে ভিপিএন ক্লায়েন্ট ব্যবহার করি। এটি ক্লায়েন্ট শুরু করার পরে টিউন 0 ইন্টারফেস তৈরি করে। আমি স্ক্রিপ্ট লিখেছি যা নির্দিষ্ট রুটগুলি ইনস্টল করে টিউন ইন্টারফেসের দিকে নির্দেশ করে এবং স্বাভাবিক ওয়াইফাই সংযোগটি ব্যবহার করার জন্য বিশ্রাম দেয়। সুতরাং, কেবলমাত্র আমার অফিস সম্পর্কিত ট্র্যাফিক ভিপিএন দিয়ে যায় এবং বাকিগুলি হোম ইন্টারনেট সংযোগের মধ্য দিয়ে যায়। টুন0 ইন্টারফেস আপ / ডাউন ইভেন্টগুলি কীভাবে আমি স্বয়ংক্রিয়ভাবে চালানোর জন্য স্ক্রিপ্টটি করব?

উত্তর:


17

আমি সম্পর্কে নিশ্চিত নই tun0, তবে আমি মনে করি স্ক্রিপ্টটি অন্তর্ভুক্ত রয়েছে /etc/network/if-up.d/এবং /etc/network/if-down.d/যখন কোনও ইন্টারফেস যথাক্রমে উপরে বা নীচে যায়।

স্ক্রিপ্টের অভ্যন্তরে আপনি নির্ধারণ করতে পারবেন কোন ভেরিয়েবলের সামগ্রী থেকে ইন্টারফেসটি আগ্রহী IFACE

নিশ্চিত হতে, /etc/network/if-up.d/কোন বিষয়বস্তুতে একটি সাধারণ স্ক্রিপ্ট যুক্ত করুন

#!/bin/sh
# filename: tun-up

if [ "$IFACE" = tun0 ]; then
  echo "tun0 up" >> /var/log/tun-up.log
fi

এটি কার্যকর করা

sudo chmod +x /etc/network/if-up.d/tun-up

তারপরে দেখুন আপ ইভেন্টগুলি রেকর্ড করা আছে কিনা /var/log/tun-up.log


1
ধন্যবাদ। আমি সিসলগ বার্তাটি নিচে পেয়ে যাচ্ছি এবং স্ক্রিপ্টগুলি মোটেই আমন্ত্রিত নয়। / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসের লুপব্যাক ব্যতীত অন্য কোনও তথ্য নেই। মে 9 15:26:48 মাইপসি নেটওয়ার্কম্যানেজার [869]: এসসিপিপ্লাগিন-ইফআপডাউন: ডিভাইস যুক্ত হয়েছে (পথ: / sys / ডিভাইস / ভার্চুয়াল / নেট / টুন0, iface: tun0): কোনও আইপআপডাউন কনফিগারেশন পাওয়া যায় নি।
sudurais

5
gksudo gedit /etc/network/interfaces

যোগ করুন

auto tun0
iface tun0 inet manual
    up COMMAND

COMMANDকার্যকর হতে পারে এমন ip route add something...অনুমতি ( chmod +x) সহ একটি কমান্ড বা স্ক্রিপ্টের পথ হতে পারে যা শেষ পর্যন্ত সঞ্চিত থাকে /etc/network/if-up.d/

বদলে upআপনি ব্যবহার করতে পারেন post-up, down, post-down

ডকুমেন্টেশন :

IFACE অপশন

   The  following  "command"  options  are  available for every family and
   method.  Each of these options can be given multiple times in a  single
   stanza,  in  which case the commands are executed in the order in which
   they appear in the stanza.  (You can ensure a command  never  fails  by
   suffixing them with "|| true".)

   pre-up command
          Run  command  before bringing the interface up.  If this command
          fails then ifup aborts, refraining from marking the interface as
          configured,  prints  an  error message, and exits with status 0.
          This behavior may change in the future.

   up command

   post-up command
          Run command after bringing the interface up.   If  this  command
          fails then ifup aborts, refraining from marking the interface as
          configured (even though it has really been  configured),  prints
          an  error  message,  and exits with status 0.  This behavior may
          change in the future.

   down command

   pre-down command
          Run command before taking the interface down.  If  this  command
          fails  then  ifdown  aborts, marks the interface as deconfigured
          (even though it has not really  been  deconfigured),  and  exits
          with status 0.  This behavior may change in the future.

   post-down command
          Run  command  after  taking the interface down.  If this command
          fails then ifdown aborts, marks the interface  as  deconfigured,
          and  exits  with  status  0.   This  behavior  may change in the
          future.

   There exists for each  of  the  above  mentioned  options  a  directory
   /etc/network/if-<option>.d/  the  scripts  in  which  are  run (with no
   arguments)  using  run-parts(8)  after  the  option  itself  has   been
   processed.  Please  note  that  as post-up and pre-down are aliases, no
   files in the corresponding directories are processed.  Please  use  if-
   up.d and if-down.d directories instead.

   All  of  these  commands  have  access  to  the  following  environment
   variables.

   IFACE  physical name of the interface being processed

   LOGICAL
          logical name of the interface being processed

   ADDRFAM
          address family of the interface

   METHOD method of the interface (e.g., static)

   MODE   start if run from ifup, stop if run from ifdown

   PHASE  as per MODE, but with finer granularity, distinguishing the pre-
          up, post-up, pre-down and post-down phases.

   VERBOSITY
          indicates whether --verbose was used; set to 1 if so, 0 if not.

   PATH   the   command   search   path:  /usr/local/sbin:/usr/local/bin:���
          /usr/sbin:/usr/bin:/sbin:/bin

   Additionally, all options given in an interface definition  stanza  are
   exported to the environment in upper case with "IF_" prepended and with
   hyphens  converted  to  underscores  and  non-alphanumeric   characters
   discarded.

   When  ifupdown  is  being  called  with  the --all option, before doing
   anything to interfaces, if calls all the hook scripts (pre-up or  down)
   with  IFACE set to "--all", LOGICAL set to the current value of --allow
   parameter  (or  "auto"   if   it's   not   set),   ADDRFAM="meta"   and
   METHOD="none".   After all the interfaces have been brought up or taken
   down, the appropriate scripts (up or post-down) are executed.

0

আমি এর systemdপরে স্ক্রিপ্ট চালাতাম network-online.target। আমার লিপি <path>/script.sh

1.) sudo systemctl edit --force --full my-script.service:

[Unit]
Description=My script after network available
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
ExecStart=<path>/script.sh

[Install]
WantedBy=multi-user.target

2.) sudo systemctl enable my-script.service

3) sudo systemctl start my-script.service

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