дайте совет или пошлите куда-нибуть пичитать чтонибуть на тему маскарадинг+прозрачная прокся на одной Linux-ой машинеситуация следующаа:
есть один IP который выдал провайдер,подключение к провайдеру по Ethernet
если 2 подсетки, по 10-20 комповтребуется организовать маскарадинг на на эти 2 подсетки, поставить проксю так чтобы все запросы(TCP/UDP,www,ftp,irc and etc.) ходили через нее, причем в любом случаее даже если клиент принудительно пропишит какойлибо прокси у себя в настройках, а также чтобы он не проскакивал мимо цепочек Iptables, тк по ней должен считаться трафик. Все это на Одной машине под Линуксом
Подозреваю что грабли в следующем: если стоит iptables то как прикрутить squid чтобы если клиент принудительно укажет адрес моей прокси, не проскачил iptables с счетчиками трафика.если чтото непонятно описал, спрашивайте.
Зарание Большой Спасиб
>дайте совет или пошлите куда-нибуть пичитать чтонибуть на тему маскарадинг+прозрачная прокся на
>одной Linux-ой машине
>
>ситуация следующаа:
>есть один IP который выдал провайдер,подключение к провайдеру по Ethernet
>если 2 подсетки, по 10-20 компов
>
>требуется организовать маскарадинг на на эти 2 подсетки, поставить проксю так чтобы
>все запросы(TCP/UDP,www,ftp,irc and etc.) ходили через нее, причем в любом случаее
>даже если клиент принудительно пропишит какойлибо прокси у себя в настройках,
>а также чтобы он не проскакивал мимо цепочек Iptables, тк по
>ней должен считаться трафик. Все это на Одной машине под Линуксом
>
>Подозреваю что грабли в следующем: если стоит iptables то как прикрутить squid
>чтобы если клиент принудительно укажет адрес моей прокси, не проскачил iptables
>с счетчиками трафика.
>
>если чтото непонятно описал, спрашивайте.
>
>Зарание Большой Спасибневозможно.
разложим по полочкам:
допустим, для сквида на роутере открывается INPUT 3128 и мы для каждого хоста в сети в цикле завернём это:
for i in $list_local_ip; do
input -s $i --dport 3128
также на OUTPUT вешаем --d $i --dport 1025:16384
А вот тут вопросы
как мы с output вычислим что это сквид отдаёт?
как мы вычислим, что траффик шёл из интернета, а не из кэша?
сделав парент прокси через nat мы также не сможем выяснить все детали.вывод: считать проксёвый траффик iptables невозможно, для этого есть собственные calamaris/sarg
>вывод: считать проксёвый траффик iptables невозможно, для этого есть собственные calamaris/sargсо сквидом более или менее понятно.
другой вопрос, без сквидапоставил iptables, скомпилял прямо в ядро, начал накручивать их опираясь на статью http://www.opennet.me/docs/RUS/iptables/
на примере rc.firewallвопрос - как этой локальной сетке правельно запретить доступ в инете ко всем протом кроме нескольких, запрет по UDP/TC/итд, запрет на веб сайты кроме некоторых, причем некоторые IP из этой локалки должны иметь полный доступ ко всему.
INET_IP = "212.194.64.219"
INET_IFACE = "eth1"LAN_IP="172.18.0.0"
LAN_IP_RANGE="172.18.0.0/255.255.255.192"
LAN_BCAST_ADRESS="172.18.255.255"
LAN_IFACE="eth0"LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/usr/sbin/iptables"$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP/// что и как писать по задоному вопросу
IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
То, что умеет запрещать/разрешать Squid, лучше делать через него (там есть довольно мощные средства), остальной трафик - через iptables/nat, по ситуации.
Конкретные вопросы присылай.
>>вывод: считать проксёвый траффик iptables невозможно, для этого есть собственные calamaris/sarg
>
>со сквидом более или менее понятно.
>другой вопрос, без сквида
>
>поставил iptables, скомпилял прямо в ядро, начал накручивать их опираясь на статью
>http://www.opennet.me/docs/RUS/iptables/
>на примере rc.firewall
>
>вопрос - как этой локальной сетке правельно запретить доступ в инете ко
>всем протом кроме нескольких, запрет по UDP/TC/итд, запрет на веб сайты
>кроме некоторых, причем некоторые IP из этой локалки должны иметь полный
>доступ ко всему.
>
>INET_IP = "212.194.64.219"
>INET_IFACE = "eth1"
>
>LAN_IP="172.18.0.0"
>LAN_IP_RANGE="172.18.0.0/255.255.255.192"
>LAN_BCAST_ADRESS="172.18.255.255"
>LAN_IFACE="eth0"
>
>LO_IFACE="lo"
>LO_IP="127.0.0.1"
>IPTABLES="/usr/sbin/iptables"
>
>$IPTABLES -P INPUT DROP
>$IPTABLES -P OUTPUT DROP
>$IPTABLES -P FORWARD DROP
>
>/// что и как писать по задоному вопросу
>
>IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IPВ той же статье есть сценарий rc.UTIN.firewall.txt,как раз по твоему вопросу.
>дайте совет или пошлите куда-нибуть пичитать чтонибуть на тему маскарадинг+прозрачная прокся на
>одной Linux-ой машине
>
>ситуация следующаа:
>есть один IP который выдал провайдер,подключение к провайдеру по Ethernet
>если 2 подсетки, по 10-20 компов
>
>требуется организовать маскарадинг на на эти 2 подсетки, поставить проксю так чтобы
>все запросы(TCP/UDP,www,ftp,irc and etc.) ходили через нее, причем в любом случаее
>даже если клиент принудительно пропишит какойлибо прокси у себя в настройках,
>а также чтобы он не проскакивал мимо цепочек Iptables, тк по
>ней должен считаться трафик. Все это на Одной машине под Линуксом
>
>Подозреваю что грабли в следующем: если стоит iptables то как прикрутить squid
>чтобы если клиент принудительно укажет адрес моей прокси, не проскачил iptables
>с счетчиками трафика.
>
>если чтото непонятно описал, спрашивайте.
>
>Зарание Большой Спасиб
Советую считать траффик при помощи sarg - удобно и наглядно (похоже, я становлюсь проповедником sarg'a :=))
А что касается почитать, можешь здесь же на opennet'e, здесь есть линки как настроить прозрачный прокси, где взять sarg и как его настроить и т.д. и т.п.
>>дайте совет или пошлите куда-нибуть пичитать чтонибуть на тему маскарадинг+прозрачная прокся на
>>одной Linux-ой машине
>>
>>ситуация следующаа:
>>есть один IP который выдал провайдер,подключение к провайдеру по Ethernet
>>если 2 подсетки, по 10-20 компов
>>
>>требуется организовать маскарадинг на на эти 2 подсетки, поставить проксю так чтобы
>>все запросы(TCP/UDP,www,ftp,irc and etc.) ходили через нее, причем в любом случаее
>>даже если клиент принудительно пропишит какойлибо прокси у себя в настройках,
>>а также чтобы он не проскакивал мимо цепочек Iptables, тк по
>>ней должен считаться трафик. Все это на Одной машине под Линуксом
>>
>>Подозреваю что грабли в следующем: если стоит iptables то как прикрутить squid
>>чтобы если клиент принудительно укажет адрес моей прокси, не проскачил iptables
>>с счетчиками трафика.
>>
>>если чтото непонятно описал, спрашивайте.
>>
>>Зарание Большой Спасиб
>
>
>Советую считать траффик при помощи sarg - удобно и наглядно (похоже, я
>становлюсь проповедником sarg'a :=))
>А что касается почитать, можешь здесь же на opennet'e, здесь есть линки
>как настроить прозрачный прокси, где взять sarg и как его настроить
>и т.д. и т.п.Просто в правилах iptables в начале бей прямые обращения к порту на котором висит сквид... ;) (далее делай редирект с порта 80.... на порт сквида).
Squid только http\https proxy поэтому даже FTP не будет нормально идти через Squid тем более всякая прочая лабуда
решений много вот тебе несколько примеров
1) ipac-ng - будет считать по ip или по юзерам нужна свЯзка ip- iser
2) ip-fwadm - тоже можно настроить
3) netramet
4) mrtg там нужно скрипты писать
5) обычный tcpdump + скрипт который будет выбирать байты и откуда и кому и суммировать
Естесно все требует гемороя с настройкой того что он тебе будет считать