Просмотр Исходного

h2. Как сделать доступ к внешнему произвольному адресу или подсети. Как дать доступ к платежным системам при отрицательном балансе.

Задача: дать доступ к адресу 222.222.222.222 любым в т.ч. неавторизованным пользователям и с отрицательным балансом.

C помощью [удаленного помощника|Пользователь root. Режим удаленного помощника. Постоянный удаленный помощник] :

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 внести содержимое:
{code}
#!/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

{code}

*Примечание:* Добавлять можно также целую сеть, например 222.222.222.222/27

h2. Как разрешить все для определенного ip

Задача: Разрешить все для ip 11.22.33.44


В файл /usr/local/ics/bin/ics_tune.sh внести содержимое:

{code}
#!/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


{code}
*Примечание:* для открытия доступа к сети можно использовать запись вида 11.22.33.44/26 где /26 - маска сети к которой даете доступ.

После этого в консоли нужно выполнить команду 
{code}
/usr/local/ics/bin/ics_tune.sh firewall.sh
{code}

h2. Разрешить traceroute

В случае если при вводе команды traceroute вы получаете что то вроде
{code}
[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
{code}
Значит прохождение пакетов закрыто файерволом. Для разрешения добавьте правила
{code}
iptables -I OUTPUT -d 8.8.8.8 -j ACCEPT
iptables -I INPUT -s 8.8.8.8 -j ACCEPT
{code}
После проверки не забудьте удалить добавленные правила
{code}
iptables -D OUTPUT -d 8.8.8.8 -j ACCEPT
iptables -D INPUT -s 8.8.8.8 -j ACCEPT
{code}