Как сделать доступ к внешнему произвольному адресу или подсети. Как дать доступ к платежным системам при отрицательном балансе.
Задача: дать доступ к адресу 222.222.222.222 любым в т.ч. неавторизованным пользователям и с отрицательным балансом.
C помощью удаленного помощника :
mount -o rw,remount /mnt/ro_disc
chattr -i -R /usr/local/ics/bin/ics_tune.sh
mcedit /usr/local/ics/bin/ics_tune.sh
В файл /usr/local/ics/bin/ics_tune.sh внести содержимое:
#!/bin/bash if [ "$1" = "firewall.sh" ]; then iptables -I FORWARD 2 -d 222.222.222.222 -j ACCEPT iptables -I FORWARD 2 -s 222.222.222.222 -j ACCEPT iptables -t nat -I PREROUTING -d 222.222.222.222 -j ACCEPT iptables -t nat -A POSTROUTING -d 222.222.222.222 -j MASQUERADE fi exit 0
Примечание: Добавлять можно также целую сеть, например 222.222.222.222/27
Как разрешить все для определенного ip
Задача: Разрешить все для ip 11.22.33.44
В файл /usr/local/ics/bin/ics_tune.sh внести содержимое:
#!/bin/bash if [ "$1" = 'firewall.sh' ]; then iptables -t mangle -I PREROUTING -s 11.22.33.44 -j ACCEPT iptables -t mangle -I PREROUTING -d 11.22.33.44 -j ACCEPT iptables -t mangle -I POSTROUTING -s 11.22.33.44 -j ACCEPT iptables -t mangle -I POSTROUTING -d 11.22.33.44 -j ACCEPT iptables -t nat -I PREROUTING -s 11.22.33.44 -j ACCEPT iptables -t nat -I PREROUTING -d 11.22.33.44 -j ACCEPT iptables -t nat -I POSTROUTING -s 11.22.33.44 -j ACCEPT iptables -t nat -I POSTROUTING -d 11.22.33.44 -j ACCEPT iptables -I FORWARD -s 11.22.33.44 -j ACCEPT iptables -I FORWARD -d 11.22.33.44 -j ACCEPT fi exit 0
Примечание: для открытия доступа к сети можно использовать запись вида 11.22.33.44/26 где /26 - маска сети к которой даете доступ.
После этого в консоли нужно выполнить команду
/usr/local/ics/bin/ics_tune.sh firewall.sh
Разрешить traceroute
В случае если при вводе команды traceroute вы получаете что то вроде
[root@server root]# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 38 byte packets
traceroute: sendto: Operation not permitted
1 traceroute: wrote 8.8.8.8 38 chars, ret=-1
*traceroute: sendto: Operation not permitted
traceroute: wrote 8.8.8.8 38 chars, ret=-1
*traceroute: sendto: Operation not permitted
traceroute: wrote 8.8.8.8 38 chars, ret=-1
Значит прохождение пакетов закрыто файерволом. Для разрешения добавьте правила
iptables -I OUTPUT -d 8.8.8.8 -j ACCEPT iptables -I INPUT -s 8.8.8.8 -j ACCEPT
После проверки не забудьте удалить добавленные правила
iptables -D OUTPUT -d 8.8.8.8 -j ACCEPT iptables -D INPUT -s 8.8.8.8 -j ACCEPT