ifconfig up 不從 cron 執行

ifconfig up 不從 cron 執行

我正在嘗試結合Scott Lowe 的命名空間創作指南這個關於在兩個介面之間轉送流量的答案

我有一個在每次重新啟動時使用 cron @reboot 指令運行的腳本:(我使用該腳本是因為這些命令似乎在重新啟動後都不會持續存在。)

# Setup VPN
ip netns add vpnspace
ip link add vpnopen type veth peer name vpnbind
ip link set vpnopen netns vpnspace
ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up

當我使用手動運行腳本時sudo,它執行得很好。但是,當該腳本由 cron 執行時,第四行ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up不會執行。為什麼會發生這種情況?我該如何讓它執行?

長話短說: ifconfig vpnopen 10.0.0.1/24 up當命名空間內的 cron 呼叫時不執行

=============

澄清:

  1. 我的 cron 工作是@reboot /home/ubuntu/startupscripts/rootscripts.sh
  2. 上面給出的程式碼是 shell 腳本的第一部分,稱為
  3. 「不執行」是指如果我sudo ip netns exec vpnspace ifconfig在終端機中執行命令來檢查 IP 位址是否已顯示,終端將傳回空白輸出。我嘗試透過附加來記錄輸出>>rootscripts.log,但沒有記錄任何內容,也沒有傳回錯誤訊息。

答案1

cron 指令通常使用預設路徑執行。雖然 ip 通常位於 /bin 中,但 ifconfig 最常見於 /sbin 中。 。 。所以嘗試將 /sbin/ifconfig 放入命令列中。

相關內容