archangelx
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Уважаемы коллеги, суть такая. Имеем 2 интерфейса, инет($INET_eth) и локалка($LOCAL_eth). Инет через маскарадинг: iptables -t nat -A POSTROUTING -o $INET_eth -j MASQUERADE далее трафик перенаправляется на сквид: ###Траффик на сквид iptables -t nat -A PREROUTING -i $LOCAL_eth -p tcp -m tcp -m multiport --ports 80,443,8080 -m iprange --src-range 192.168.0.20-192.168.0.99 -j DNAT --to-destination 192.168.0.1:3128 iptables -t nat -A PREROUTING -i $LOCAL_eth -p tcp -m tcp -m multiport --ports 80,443,8080 -m iprange --src-range 192.168.0.20-192.168.0.99 -j REDIRECT --to-ports 3128 Вопросы 1. Если мы маскарадим $INET_eth то и перенаправление трафика на ПРОКСИ тоже должно быть с этого интерфейса? Или всё таки с локального? И какой интерфейс должен слушать сквид? 2. Надо проходящий трафик разрешать по выбранным порта на выход с $INET_eth, как? типа iptables -A FORWARD -i $INET_eth -p tcp -d $MAIL_IP -m multiport --ports 25,110,465,995 -j ACCEPT, т.е. через цепочку FORWARD а не INPUT и OUTPUT ? 3. iptables -A FORWARD -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT если использую это правило, то никакая блокировка портов не проходит, можно ли писать NEW,ESTABLISHED,RELATED в конкретных правилах для разрешения портов, а не для всего? 4. Я вот думаю, по хорошему, если мы маскарадим $INET_eth, то во всех правилах блокировок и разрешение для проходящего трафика надо указывать именно $INET_eth, а локальный тупо не трогать, что бы не плодить правила лишние? Добавлено: И ещё 5. Я так понимаю, что цепочки правил у каждого интерфейса свои? т.е. - iptables -A INPUT -p udp --sport 53 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT будет 2 правила у каждого интерфейса - iptables -A INPUT -p udp -i $INET_eth--sport 53 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT то правило будет только для интерфейса $INET_eth ? |