iptables 的 up/down 脚本的完整路径

iptables 的 up/down 脚本的完整路径

我正在使用最新的 raspbian 操作系统的树莓派上运行 openvpn 的客户端安装。除了我的route-up.sh 和 down.sh 脚本之外,一切正常。我可以手动运行它们并且它们可以工作,但是日志显示它们在由 openvpn 运行时出错。

我已经将问题范围缩小到到处都需要完整路径(手动执行时路径是相对的,但我发现/被告知当 openvpn 运行脚本时它们需要是完整路径)。

问题是我找不到树莓派的 iptables 在哪里。我在/sbin/中找到了以下内容

iptables -> xtables-multi

iptables-恢复 -> xtables-multi

iptables-保存 -> xtables-multi

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

在这种情况下,只需在交互式 shell 中运行which iptables(或which <command>) 即可查找使用搜索路径运行相关程序时调用的完整路径。然后将该路径放入您的脚本中。

有人反对使用whichthat 有利于其他程序,例如whencelocate。使用您最喜欢的这些选项。

相关内容