BOBAH 0 Posted 2004-12-18 21:21:04 Share Posted 2004-12-18 21:21:04 #!/bin/sh user=$1 ip=$2 cash=$3 CDATA=`date +"%d-%m-%Y %H:%M"` BAN_LIST="/usr/stargazer/ban_ip_list" # file contein ban ip - user LOG_BAN="/usr/stargazer/ban_ip_log" if [ ! -f "$BAN_LIST" ] ; then echo "File not found : $BAN_LIST" >> $LOG_BAN exit 1; fi if grep $ip $BAN_LIST>/dev/null 2>&1 ; then echo "${CDATA} IP:$ip Access_Denied [uSER:${user},CASH:${cash}]" >> $LOG_BAN ; exit 1 fi ########## Исполнить если нет в черном списке echo "${CDATA} CONNECT [uSER:${user},IP:${ip},CASH:${cash}]" >> /usr/stargazer/users/$user/last_login echo "${CDATA} CONNECT [uSER:${user},IP:${ip},CASH:${cash}]" >> /usr/stargazer/last_login #################################################### iptables -t filter -A INPUT -s $ip -j ACCEPT iptables -t filter -A FORWARD -s $ip -j ACCEPT iptables -t filter -A FORWARD -d $ip -j ACCEPT iptables -t filter -A OUTPUT -d $ip -j ACCEPT iptables -t nat -A PREROUTING -p tcp -s $ip -d! 192.168.0.0/16 -m multiport --dport 80,81,82,83 -j REDIRECT --to-port 8080 iptables -t nat -A PREROUTING -p udp -s $ip -d! 192.168.0.0/16 -m multiport --dport 80,81,82,83 -j REDIRECT --to-port 8080 #################################################### exit 0 Link to post Share on other sites
XoRe 0 Posted 2004-12-19 01:41:13 Share Posted 2004-12-19 01:41:13 Будет, но с ошибками. При использовании if grep $ip $BAN_LIST>/dev/null 2>&1 ; Когда $ip будет равна "192.168.0.1", будут подходить и 192.168.0.1, 192.168.0.11, 192.168.0.12, 192.168.0.101, 192.168.0.176 и т.д. Я думаю, лучше так: if grep $ip\\W $BAN_LIST>/dev/null 2>&1 ; Хотя не буду с уверенностью говорить, что это заработает, так как не знаю формата файла BAN_LIST Link to post Share on other sites
BOBAH 0 Posted 2004-12-19 08:03:32 Author Share Posted 2004-12-19 08:03:32 файл ban_list имеет формат login=ip=data=note Link to post Share on other sites
XoRe 0 Posted 2004-12-19 08:17:52 Share Posted 2004-12-19 08:17:52 тогда пойдет =) Link to post Share on other sites
BOBAH 0 Posted 2004-12-19 08:27:53 Author Share Posted 2004-12-19 08:27:53 Но пробовал и так, вроде работает. Но ОК! Я проверю. А вот старый вариант, я его приводил на форуме, страшно глючил, постоянным циклом Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now