iptables 错误的论点“接受”
iptable Bad argument `ACCEPT'
我正在尝试以下内容..
#!/bin/bash
NOIPHOST=example.noip.me
LOGFILE=iptables_update.log
Current_IP=$(host $NOIPHOST | cut -f4 -d' ')
if [ $LOGFILE = "" ] ; then
/sbin/iptables -I INPUT -m tcp -p tcp -s $Current_IP -j ACCEPT
echo $Current_IP > $LOGFILE
else
Last_IP=$(cat $LOGFILE)
if [ "$Current_IP" = "$Last_IP" ] ; then
echo IP address has not changed
else
/sbin/iptables -D INPUT -m tcp -p tcp -s $Last_IP -j ACCEPT
/sbin/iptables -I INPUT -m tcp -p tcp -s $Current_IP -j ACCEPT
iptables-persistent save
echo $Current_IP > $LOGFILE
echo iptables have been updated
fi
fi
我收到这个错误..
Bad argument ACCEPT' Try
iptables -h' or 'iptables --help' for more
information. iptables have been updated
我也试过用这些..
iptables -D INPUT -m tcp -p tcp -s $Last_IP -j ACCEPT
iptables -I INPUT -m tcp -p tcp -s $Current_IP -j ACCEPT
但还是一样的错误。
要解决这个问题吗?
您确定您的 $Last_IP
变量中没有任何换行符吗?
您可以尝试在 iptables -D...
行之前添加以下内容吗?
Last_IP=$(echo $Last_IP|tr -d '\n')
我正在尝试以下内容..
#!/bin/bash
NOIPHOST=example.noip.me
LOGFILE=iptables_update.log
Current_IP=$(host $NOIPHOST | cut -f4 -d' ')
if [ $LOGFILE = "" ] ; then
/sbin/iptables -I INPUT -m tcp -p tcp -s $Current_IP -j ACCEPT
echo $Current_IP > $LOGFILE
else
Last_IP=$(cat $LOGFILE)
if [ "$Current_IP" = "$Last_IP" ] ; then
echo IP address has not changed
else
/sbin/iptables -D INPUT -m tcp -p tcp -s $Last_IP -j ACCEPT
/sbin/iptables -I INPUT -m tcp -p tcp -s $Current_IP -j ACCEPT
iptables-persistent save
echo $Current_IP > $LOGFILE
echo iptables have been updated
fi
fi
我收到这个错误..
Bad argument
ACCEPT' Try
iptables -h' or 'iptables --help' for more information. iptables have been updated
我也试过用这些..
iptables -D INPUT -m tcp -p tcp -s $Last_IP -j ACCEPT
iptables -I INPUT -m tcp -p tcp -s $Current_IP -j ACCEPT
但还是一样的错误。
要解决这个问题吗?
您确定您的 $Last_IP
变量中没有任何换行符吗?
您可以尝试在 iptables -D...
行之前添加以下内容吗?
Last_IP=$(echo $Last_IP|tr -d '\n')