Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cat /etc/firewall.user
- ### zmien wg wlasnych potrzeb
- RULE=LIMIT_200MB
- ### zmien MAC1 wg wlasnych potrzeb
- MAC1="00:22:33:44:55:66"
- ### zmien wartosc wg wlasnych potrzeb
- QUOTA=$((200 * 1024 * 1024))
- PKTS=$(awk '/'$RULE'/{print $2}' /etc/quotas)
- BYTES=$(awk '/'$RULE'/{print $3}' /etc/quotas)
- IP1=$(awk '/'$MAC1'/{print $2}' /etc/ethers)
- ### blokada dostepu do routera z limitowanego adresu MAC1
- iptables -I input_rule -p tcp -m multiport --dports 22,80,443 -m mac --mac-source $MAC1 -j DROP
- iptables -N $RULE
- iptables -A $RULE -m quota --quota $QUOTA --set-counters $PKTS $BYTES -j ACCEPT
- iptables -A $RULE -j REJECT
- iptables -A forwarding_rule -j $RULE -s $IP1
- iptables -A forwarding_rule -j $RULE -d $IP1
- ------------------------------------------------------------------------------------------------------------------------
- cat /usr/sbin/quotas-backup-test.sh
- #!/bin/sh
- ### to samo co w firewall.user
- RULE=LIMIT_200MB
- ### zmien wartosc wg wlasnych potrzeb ciutke mniej tak jak radzi Cezary
- QUOTA=$((200 * 1023 * 1024))
- ### to samo co w firewall.user
- MAC1="00:22:33:44:55:66"
- BACKUP=/etc/quotas
- # aktualny dzien miesiaca
- DM=$(date +%d)
- # dzien modyfikacji pliku
- DF=$(ls -al $BACKUP | awk '{print $7}')
- if [ $DM -eq $DF ]; then
- echo "PLIK JEST Z AKTUALNEGO DNIA"
- else
- logger -t QUOTA: "PLIK /etc/quotas JEST Z INNEGO DNIA...TRWA EDYCJA PLIKU I ZEROWANIE LICZNIKOW"
- echo "$RULE 0 0" > $BACKUP
- iptables -Z $RULE
- fi
- O=$(iptables -vxnL $RULE 2>/dev/null)
- PKTS=0
- BYTES=0
- if [ -n "$O" ]; then
- PKTS=$(iptables -vxnL $RULE | awk '/quota:/{print $1}')
- [ -z "$PKTS" ] && PKTS=0
- BYTES=$(iptables -vxnL $RULE | awk '/quota:/{print $2}')
- [ -z "$BYTES" ] && BYTES=0
- fi
- FBACKUP=/etc/quotas
- touch $FBACKUP
- sed -i '/'$RULE'/d' $FBACKUP
- echo "$RULE $PKTS $BYTES" >> $FBACKUP
- if [ $BYTES -gt $QUOTA ]; then
- iptables -t nat -C prerouting_rule -m mac --mac-source $MAC1 -p tcp --dport 80 -j REDIRECT --to-port 33333 || iptables -t nat -A prerouting_rule -m mac --mac-source $MAC1 -p tcp --dport 80 -j REDIRECT --to-port 33333
- else
- iptables -t nat -D prerouting_rule -m mac --mac-source $MAC1 -p tcp --dport 80 -j REDIRECT --to-port 33333 > /dev/null 2>&1
- fi
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement