Доброго времени суток!
Прошу вашей помоши, неделю бьюсь с айпитейблом и прозрачным прокси.
Имеется шлюз (192.168.111.1) с eth0 (интернет) eth1 (локалка), необходимо:
1. Дать доступ к ssh из интернета и локальной сети соответственно.
2. Дать доступ по RDP к AD (висит на 192.168.111.2)
3. Завернуть трафик 80 и 8080 портов через сквид (для формирования блеклистов всяких нехороших сайтов vk и т.д.).
4. Все остальное запретить.
Подскажи как правильно переписать данный, всеразрешающий скрипт:
firewall.sh:
#!/bin/bash
# включаем проброс пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# описываем переменные
cmd="/sbin/iptables -A"
inif="eth1"
outif="eth0"
our_net="192.168.111.0/24"
# очищаем правила
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -Z
# все разрешаем
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#пропускать ответы на запросы инициированные из внутренней подсети
$cmd FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$cmd INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#проброс пакетов из внутренней подсети на внешний интерфейс
$cmd POSTROUTING -s 192.168.111.0/24 ! -d 192.168.111.0/24 -j SNAT --to-source внешний_ип -t nat
# вход сам на себя
$cmd INPUT -i lo -j ACCEPT
$cmd INPUT -s 127.0.0.1 -j ACCEPT
$cmd INPUT -s 192.168.111.1 -j ACCEPT
# открытиые порты для внутренней подсети
$cmd INPUT -s $our_net -p tcp -m multiport --dport 22,53,80,123,3128 -j ACCEPT -m state --state NEW --syn -i $inif
$cmd INPUT -s $our_net -p icmp -j ACCEPT -i $inif
# ssh на внешний интрефейс
$cmd INPUT -p tcp --dport 22 -j ACCEPT $outif
$cmd INPUT -p tcp --dport 80 -j ACCEPT -i $outif
# переадресация RDP на контроллер домена
$cmd INPUT -p tcp --dport 3389 -j ACCEPT -i $outif
$cmd PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.111.2:3389 -t nat
$cmd FORWARD -p tcp --dport 3389 -j ACCEPT
#разрешенные порты для прямого доступа в интернет (почта, почта с ssl. браузер, браузер через https, icq, jabber, Gtalk)
#$cmd FORWARD -s 192.168.111.0/24 ! -d 192.168.111.0/24 -p tcp -m multiport --dport 25,80,8080,110,443,465,995,5190,5222,5223 -j ACCEPT -m state --state NEW --syn -i $inif
#полный прямой доступ
$cmd FORWARD -s 192.168.111.0/24 -j ACCEPT -i $inif
#только браузер
#$cmd FORWARD -p tcp --dport 80 -j ACCEPT -i $inif
#логирование
$cmd INPUT -j ULOG
$cmd FORWARD -j ULOG
#дропать все, что явно не разрешено
iptables -P FORWARD DROP
iptables -P INPUT DROP
/sbin/iptables-save > /etc/iptables