iptables up/downスクリプトへのフルパス

iptables up/downスクリプトへのフルパス

最新のRaspbianオペレーティングシステムを使用してRaspberry Piでopenvpnクライアントインストールを実行しています。私のRoute-up.shとdown.shスクリプトを除いて、すべてがうまくいきます。手動で実行でき、機能しますが、ログには openvpn で実行するとエラーが発生したと表示されます。

どこでもフルパスを要求するように問題の範囲を絞り込みました(手動で実行する場合はパスは相対的ですが、openvpnがスクリプトを実行するときにフルパスが必要であることを知っているか聞いたことがあります)。

問題は、Raspberry Piのiptablesがどこにあるかを見つけることができないことです。 /sbin/で次を見つけました。

iptables - > xtables - マルチ

iptables-復元->xtables-マルチ

iptables-保存->xtables-マルチ

Route-up.sh私のルールをどのファイルに追加しますか?表示するために手動で開こうとすると、フォントが欠けており、すべてが混乱しているようです。どんなアイデアがありますか?

注:これは私のRoute-up.shスクリプトです。

#!/bin/bash
sleep 5
sudo ip rule add from 192.168.0.134 table 10
sudo ip route add default via 192.168.0.1 table 10
sudo iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A INPUT -d mydns.duckdns.org -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -d mydns.duckdns.org -j DROP
if ! pgrep -x "deluged" > /dev/null
then
   sudo -u pi deluged
   PID=$!
   sleep 3
   kill -2 $PID 2>/dev/null
fi

あなたの助けに非常に感謝します!

答え1

この場合、対話型シェルでwhich iptables(または)を実行すると、検索パスをwhich <command>使用して問題のプログラムを実行したときに呼び出されるフルパスを見つけることができます。次に、そのパスをスクリプトに入力します。

次の中で最もお気に入りのオプションを使用してください。whichwhencelocate

関連情報