четверг, 4 августа 2011 г.

Linux: конфигурация iptables для прозрачного squid с закрытием портов

Команды для закрытия/открытия портов и фильтрации портов были составлены моим коллегой по работе. За что ему большое спасибо! =)

#! /bin/bash
iptables -F
iptables -t nat -F

iptables -t nat -A PREROUTING -s 192.168.8.3 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.8.3:8080

iptables -t nat -A PREROUTING -s 192.168.111.3 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.111.3:8080

iptables -t nat -A POSTROUTING -j MASQUERADE

iptables -P FORWARD DROP


#/////////////// Заблокированные пользователи ///////////////
iptables -I INPUT -j DROP -s 192.168.10.52
iptables -I FORWARD -j DROP -s 192.168.10.52


#Индивидуальные настройки
iptables -I FORWARD -s 192.168.15.1 -i eth0 -o eth1 -p tcp -m tcp --dport 1:65000 -j ACCEPT
iptables -I FORWARD -s 192.168.15.4 -i eth0 -o eth1 -p tcp -m tcp --dport 1:65000 -j ACCEPT
iptables -I FORWARD -s 192.168.15.5 -i eth0 -o eth1 -p tcp -m tcp --dport 6881 -j ACCEPT
iptables -I FORWARD -s 192.168.15.5 -i eth0 -o eth1 -p tcp -m tcp --dport 6112:6114 -j ACCEPT
iptables -I FORWARD -s 192.168.15.5 -i eth0 -o eth1 -p tcp -m tcp --dport 1119:1120 -j ACCEPT
iptables -I FORWARD -s 192.168.15.5 -i eth0 -o eth1 -p tcp -m tcp --dport 3724 -j ACCEPT


#Разрешение прохождение icmp запросов
iptables -I FORWARD -p icmp -m icmp --icmp-type 1 -j ACCEPT
iptables -I FORWARD -p icmp -m icmp --icmp-type 3 -j ACCEPT
iptables -I FORWARD -p icmp -m icmp --icmp-type 5 -j ACCEPT
iptables -I FORWARD -p icmp -m icmp --icmp-type 8 -j ACCEPT


#Открытые порты для общей сети
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 8080 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p udp -m udp --dport 53 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 21 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 23 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 110 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 5190 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 139 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 995 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 2802 -j ACCEPT


#Открытые порты для бухгалтерской сети
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 8080 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p udp -m udp --dport 53 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 139 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 23 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth1 -p tcp -m tcp --dport 5190 -j ACCEPT


#Разрешение на установку подключений
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Подробное описание данных команд будет в дальнейшем. Про простую настройку iptables можно прочитать по ссылке

1 комментарий:

  1. Данная настройка блокирует прохождение пакетов по не разрешенным портам из интернета в локальную сеть, однако сами порты для приложений на сервере остаются открытыми.

    ОтветитьУдалить