Уважаемые Дамы и Господа. Вновь нуждаюсь в Вашей помощи!И по тому, хочу спросить у знающих людей.
Я не могу позволить себе безлимитный интернет. Сижу на тарифе с ограниченным количеством трафика(4000мб). Теперь суть вопроса/просьбы.
Не могли бы Вы подсказать, как можно опционально* разрешить доступ определенным диапазонам IP адресов. Т.е. блокировать весь трафик, кроме допустим,89.236.231.161-89.255.255.255 (это пример, не несущий информации. Приношу извинения, если сие чей-то адрес),и что бы блокировалось при запуске системы.
По сути, есть один sh файл, где используется iptable'ы, но сам файл требует быть root-пользывателем при запуске, что крайне не удобно, так как в то время когда загружается система, я не всегда у машины
#!/bin/bash
ROOT_UID=0
E_NOTROOT=87
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Root access only! Exit.";
exit $E_NOTROOT
fi
if [ -n "$1" ]
then
case "$1" in
"-on" )
echo "Turning on firewall. All non-tasx network disabled."
iptables -F OUTPUT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1/24 -j ACCEPT #local
iptables -A OUTPUT -m iprange --dst-range 8.23.224.110 - 8.23.224.110 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 8.23.224.120 - 8.23.224.120 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 10.0.0.0 - 10.0.255.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 31.135.208.0 - 31.135.215.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 37.110.208.0 - 37.110.215.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 46.227.120.0 - 46.227.127.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 46.255.64.0 - 46.255.67.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 69.72.255.20 - 69.72.255.20 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 77.220.192.0 - 77.220.223.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 81.95.224.0 - 81.95.239.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 82.215.65.0 - 82.215.91.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 83.69.128.0 - 83.69.159.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 83.221.160.0 - 83.221.163.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 83.221.168.0 - 83.221.191.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 84.54.64.0 - 84.54.112.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 84.54.120.0 - 84.54.123.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 85.117.224.0 - 85.117.226.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 87.237.232.0 - 87.237.239.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 89.146.64.0 - 89.146.127.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 89.236.192.0 - 89.236.255.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.188.128.0 - 91.188.159.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.196.76.0 - 91.196.79.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.203.172.0 - 91.203.175.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.204.236.0 - 91.204.239.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.211.4.0 - 91.211.7.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.212.89.0 - 91.212.89.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.212.180.0 - 91.212.180.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.213.31.0 - 91.213.31.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.213.248.0 - 91.213.248.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.229.160.0 - 91.229.165.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.231.56.0 - 91.231.59.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 94.141.64.0 - 94.141.95.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 94.158.48.0 - 94.158.63.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 94.230.224.0 - 94.230.239.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 109.207.240.0 - 109.207.255.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 178.216.128.0 - 178.216.135.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 188.113.192.0 - 188.113.227.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 193.27.206.0 - 193.27.207.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 195.88.214.0 - 195.88.215.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 195.158.0.0 - 195.158.31.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 195.211.180.0 - 195.211.183.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 195.238.104.0 - 195.238.107.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 213.206.32.0 - 213.206.63.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 213.230.64.0 - 213.230.127.2555 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 217.12.80.0 - 217.12.86.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 89.236.192.0-89.236.255.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 217.29.112.0 - 217.29.127.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 217.30.160.0 - 217.30.175.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 62.209.152.0-62.209.159.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 195.158.18.216-195.158.18.223 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.212.89.0-91.212.89.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 217.30.160.0-217.30.175.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 87.237.232.0-87.237.239.255 -j ACCEPT
iptables -A OUTPUT -d 94.158.48.3 -j ACCEPT #melody.uz
iptables -A OUTPUT -d 91.188.128.18 -j ACCEPT #dir.uz
iptables -A OUTPUT -j REJECT
echo "Done!";;
"-on_with_ports" )
echo "Turning on firewall. Non-tasx network will be disabled. 5190,5191,2042,2041 ports are still opened."
iptables -F OUTPUT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1/24 -j ACCEPT #local
iptables -A OUTPUT -m iprange --dst-range 80.80.208.0-80.80.223.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 89.236.192.0-89.236.255.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 62.209.128.0-62.209.143.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 62.209.144.0-62.209.151.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 62.209.152.0-62.209.159.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 195.158.18.216-195.158.18.223 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 91.212.89.0-91.212.89.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 217.30.160.0-217.30.175.255 -j ACCEPT
iptables -A OUTPUT -m iprange --dst-range 87.237.232.0-87.237.239.255 -j ACCEPT
iptables -A OUTPUT -d 94.158.48.3 -j ACCEPT #melody.uz
iptables -A OUTPUT -d 91.188.128.18 -j ACCEPT #dir.uz
iptables -A OUTPUT -p tcp --dport 5190 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5191 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 2042 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 2041 -j ACCEPT
iptables -A OUTPUT -j REJECT
echo "Done!";;
"-off" )
echo "Disable"
iptables -F OUTPUT
echo "Done!";;
"-h" )
echo "Use -on argument to block all non-tasx sites."
echo "Use -on_with_ports argument to block all non-tasx sites and open 5190,5191,2042,2041 ports."
echo "Use -off to disable all blocks";;
* )
echo "Unknown command. Use -h for more information";;
esac
else
echo "No arguments found. Use -h for more information"
fi
exit 0
p.s. Я абсолютный новичок в системе Linux, и если ответ очевиден, прошу не бранить, а просто ткнуть носом..
Надеюсь суть вопроса раскрыта..
С уважением...
**Опционально- когда надо выключить, залезть в инет, затем снова выключить