URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94783
[ Назад ]

Исходное сообщение
"Iptables проблема с правилами"

Отправлено DimMKa , 25-Июн-13 15:02 
Доброе время суток!
Имеется шлюз с  Centos 6.4. На котором стоит Squid.
Правила iptables:

#!/bin/bash

ip_tables="/sbin/iptables"

lan="eth1"
rtelecom="eth0"
spark="eth2"

$ip_tables -F -t filter #Очищаем все таблицы
$ip_tables -F -t nat
$ip_tables -F -t mangle

$ip_tables -X # Удаляем все пользовательские цепочки

$ip_tables -P INPUT DROP # поликика по умолчанию
$ip_tables -P OUTPUT ACCEPT
$ip_tables -P FORWARD DROP


$ip_tables -A INPUT -i lo -p all -j ACCEPT
$ip_tables -A OUTPUT -o lo -p all -j ACCEPT
$ip_tables -A INPUT -i tun+ -j ACCEPT
$ip_tables -A FORWARD -i tun+ -j ACCEPT
$ip_tables -A INPUT -i tap+ -j ACCEPT
$ip_tables -A FORWARD -i tap+ -j ACCEPT
$ip_tables -A INPUT -i br+ -j ACCEPT
$ip_tables -A FORWARD -i br+ -j ACCEPT


$ip_tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ip_tables -A INPUT -p tcp -i $lan --dport 22 -m state --state NEW -j ACCEPT   #ssh
$ip_tables -A INPUT -p tcp -i $lan --dport 3131 -m state --state NEW -j ACCEPT #squid
$ip_tables -A INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT #dns
$ip_tables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
$ip_tables -A INPUT -p udp --dport 67 -m state --state NEW -j ACCEPT #dhcp
$ip_tables -A INPUT -p udp --dport 1194 -m state --state NEW -j ACCEPT #openVPN
$ip_tables -A INPUT -p tcp --dport 1194 -m state --state NEW -j ACCEPT
$ip_tables -A INPUT -p icmp -j ACCEPT

$ip_tables -A OUTPUT -p all  -j ACCEPT

$ip_tables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
$ip_tables -A FORWARD -p tcp -i $lan -s 192.168.100.0/22 --dport 25 -m state --state NEW  -j ACCEPT
$ip_tables -A FORWARD -p tcp -i $lan -s 192.168.100.0/22 --dport 110 -m state --state NEW  -j ACCEPT
$ip_tables -A FORWARD -p udp -i $lan -s 192.168.100.0/22 --dport 4433 -m state --state NEW  -j ACCEPT
$ip_tables -A FORWARD -p udp -i $lan -s 192.168.100.0/22 --dport 7500 -m state --state NEW  -j ACCEPT
$ip_tables -A FORWARD -p udp -i $lan -s 192.168.100.0/22 --dport 53 -m state --state NEW -j ACCEPT
$ip_tables -A FORWARD -p tcp -i $lan -s 192.168.100.0/22 --dport 53 -m state --state NEW -j ACCEPT
$ip_tables -A FORWARD -p tcp -i $lan -s 192.168.100.0/22 --dport 23 -m state --state NEW -j ACCEPT
$ip_tables -A FORWARD -p icmp -m state --state NEW  -j ACCEPT

$ip_tables -t nat -A POSTROUTING -s 192.168.100.0/22   -j MASQUERADE

Проблема в следующем, на клиентских машинах браузер работает даже без указания прокси. Как эту проблему можно решить?


Содержание

Сообщения в этом обсуждении
"Iptables проблема с правилами"
Отправлено КуКу , 25-Июн-13 16:01 
> $ip_tables -t nat -A POSTROUTING -s 192.168.100.0/22   -j MASQUERADE
> Проблема в следующем, на клиентских машинах браузер работает даже без указания прокси.
> Как эту проблему можно решить?

Доброе.

последнее правило делает NAT для всей  100.0/22 сети. Или убрать, или заменить на нужное


"Iptables проблема с правилами"
Отправлено koblin , 25-Июн-13 17:31 
> Проблема в следующем, на клиентских машинах браузер работает даже без указания прокси.
> Как эту проблему можно решить?

так форвард на 80, 443-й порт у вас не запрещен. В конце цепочки FORWARD сделайте reject всего что не разрешено выше.


"Iptables проблема с правилами"
Отправлено ALex_hha , 25-Июн-13 17:34 
>> Проблема в следующем, на клиентских машинах браузер работает даже без указания прокси.
>> Как эту проблему можно решить?
> так форвард на 80, 443-й порт у вас не запрещен.

вообще то у ТС политика по дефолту DROP и явного разрешения на 80/443 нет

> В конце цепочки FORWARD сделайте reject всего что не разрешено выше.

более правильно сделать политику по умолчанию DROP


"Iptables проблема с правилами"
Отправлено koblin , 25-Июн-13 17:47 
> вообще то у ТС политика по дефолту DROP и явного разрешения на 80/443 нет

да, вижу, просмотрел


"Iptables проблема с правилами"
Отправлено aaa , 25-Июн-13 19:46 
Клиенты точно приходят с lan, а не с tun или tap?
Покажите #iptables -nL FORWARD



"Iptables проблема с правилами"
Отправлено McLeod095 , 25-Июн-13 22:58 
>[оверквотинг удален]
> $ip_tables -A FORWARD -p udp -i $lan -s 192.168.100.0/22 --dport 53 -m
> state --state NEW -j ACCEPT
> $ip_tables -A FORWARD -p tcp -i $lan -s 192.168.100.0/22 --dport 53 -m
> state --state NEW -j ACCEPT
> $ip_tables -A FORWARD -p tcp -i $lan -s 192.168.100.0/22 --dport 23 -m
> state --state NEW -j ACCEPT
> $ip_tables -A FORWARD -p icmp -m state --state NEW  -j ACCEPT
> $ip_tables -t nat -A POSTROUTING -s 192.168.100.0/22   -j MASQUERADE
> Проблема в следующем, на клиентских машинах браузер работает даже без указания прокси.
> Как эту проблему можно решить?

Вроде ничего не увидел криминального, но все равно, как разберетесь, прочтите документацию по управлению правилами iptables в дистрах основанных на RedHat.
Есть команда service iptables (restart|start|stop|reload|save)
также есть файл /etc/sysconfig/iptables.config в котором можно включить необходимые опции. Ну и пользоваться именно через команду service
Если же Ваш скрипт запускается через rc.local, то могу сказать что это большая дыра.


"Iptables проблема с правилами"
Отправлено Дядя_Федор , 26-Июн-13 08:25 
> Если же Ваш скрипт запускается через rc.local, то могу сказать что это
> большая дыра.

С этого места можно поподробнее? А то мужики-то и не знали про "дыру".



"Iptables проблема с правилами"
Отправлено Дядя_Федор , 26-Июн-13 08:33 
Вдогонку. А "команда" service в RH-дистрибутивах всего лишь шелл-скрипт, используемый в качестве фронтэнда для запуска скриптов служб в директории /etc/init.d. Не более того.