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

Исходное сообщение
"iptables+nat - не могу сделать 2-а ната"

Отправлено weldpua2008 , 23-Сен-06 01:06 
Есть linux, на нем:

eth0 192.168.129.146- смотрит в локалку к провайдеру (192.168.129.0/255.255.240.0,
192.168.128.0/255.255.255.0)

eth1 192.168.100.1 - смотрит в мою локалку 192.168.100.0/255.255.255.0

ppp0  193.ХХ.ХХ.ХХ - смотрит в Инет


Надо что-бы из моей локалки ходили в Инет и ходили в локалку прова...

+еще работал squid- прозрачный (для НЕГО правила Я уже сделал)

Что Я только не перепробывал - не получается :(
ЗЫ: После FreeBSD - iptables как-то замороченно и совсем непонятно :(


Содержание

Сообщения в этом обсуждении
"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 23-Сен-06 01:47 
Вот что Я наплакал :(((

#!/bin/sh
IPTABLES=/sbin/iptables

LO_IFACE="lo"
LO_IP="127.0.0.1"
INET_IFACE="ppp0"
LAN_IFACE="eth1"
LAN_IP_RANGE="192.168.100.0/24"

INET_IP="`ifconfig $INET_IFACE | awk /$INET_IFACE/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
LAN_IP="`ifconfig $LAN_IFACE | awk /$LAN_IFACE/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $INET_IFACE  -j SNAT --to-source $INET_IP


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 23-Сен-06 02:12 
iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE  -o $INET_IFACE -j SNAT --to-source $INET_IP
и различные комбинации не помогают :(((

"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 23-Сен-06 12:38 
# uname -a
Linux debian 2.6.15-1-686 #2 Mon Mar 6 15:27:08 UTC 2006 i686 GNU/Linux

# iptables --version
iptables v1.3.3


Помогите!!!


"iptables+nat - не могу сделать 2-а ната"
Отправлено petrovi4 , 23-Сен-06 18:52 
>Есть linux, на нем:
>
>eth0 192.168.129.146- смотрит в локалку к провайдеру (192.168.129.0/255.255.240.0,
>192.168.128.0/255.255.255.0)
>
>eth1 192.168.100.1 - смотрит в мою локалку 192.168.100.0/255.255.255.0
>
>ppp0  193.ХХ.ХХ.ХХ - смотрит в Инет
>
>
>Надо что-бы из моей локалки ходили в Инет и ходили в локалку
>прова...
>
>+еще работал squid- прозрачный (для НЕГО правила Я уже сделал)
>
>Что Я только не перепробывал - не получается :(
>ЗЫ: После FreeBSD - iptables как-то замороченно и совсем непонятно :(


Попробуй указать какие направления куда натить. к примеру
iptables -t nat -A POSTROUTING -s [your_network] ! -d [prov_network] -j SNAT --to-source [net_by_ip]


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 23-Сен-06 22:24 
>Попробуй указать какие направления куда натить. к примеру
>iptables -t nat -A POSTROUTING -s [your_network] ! -d [prov_network] -j SNAT
>--to-source [net_by_ip]
Вопрос - что делает это правило?
Что такое [net_by_ip]?


Вот что у Мну работает!(скрипт в конце)
Оказывается все работало, но когда Я сделал iptables -F
То все накрылось :((( И правила чего-то не добавлялись

Не пойму - таже фигля у Мну была с freeBSD - когда делал flush (может Его не надо было использовать???)

Скрипт для настройки Ната в Инет и Ната в локалку провайдера+прозрачный прокси.....

#!/bin/bash

/bin/echo 0 > /proc/sys/net/ipv4/tcp_ecn
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

LAN_IFACE=eth0
INET_IFACE=ppp0
LAN_IP=192.168.129.146
INET_IP=193.238.ХХХ.XXX
PROXY_IP=127.0.0.1
LAN="192.168.100.0/24"
squid_user=proxy
######################## NAT==>Интернет и Провайдерская Лок.СЕТЬ#############
iptables -t nat -A POSTROUTING -s $LAN -o $INET_IFACE -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -o $LAN_IFACE -j SNAT --to-source $LAN_IP
###########################SQUID#####################################################
iptables -t nat -A PREROUTING -p tcp --dport 80 -i $LAN_IFACE -j REDIRECT --to-ports 3128
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner $squid_user -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --dport 80  -j REDIRECT --to-ports 3128
iptables -t  nat -A PREROUTING -p  tcp --dport 80 -i $LAN_IFACE -j DNAT --to-destination $PROXY_IP:3128
#######################################################################################



"iptables+nat - не могу сделать 2-а ната"
Отправлено reader , 24-Сен-06 23:54 

>#!/bin/bash
>
>/bin/echo 0 > /proc/sys/net/ipv4/tcp_ecn
>/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
>
>LAN_IFACE=eth0
это в локалку провайдера или в 192.168.100.0/24

>INET_IFACE=ppp0
>LAN_IP=192.168.129.146
>INET_IP=193.238.ХХХ.XXX
>PROXY_IP=127.0.0.1
>LAN="192.168.100.0/24"
>squid_user=proxy
>######################## NAT==>Интернет и Провайдерская Лок.СЕТЬ#############
>iptables -t nat -A POSTROUTING -s $LAN -o $INET_IFACE -j SNAT --to-source
>$INET_IP
>iptables -t nat -A POSTROUTING -o $LAN_IFACE -j SNAT --to-source $LAN_IP

тут $LAN_IFACE вроде к провайдеру, судя по $LAN_IP

>###########################SQUID#####################################################
>iptables -t nat -A PREROUTING -p tcp --dport 80 -i $LAN_IFACE -j
>REDIRECT --to-ports 3128

а тут $LAN_IFACE из 192.168.100.0/24 что-ли?

>iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner $squid_user -j
>ACCEPT
>iptables -t nat -A OUTPUT -p tcp --dport 80  -j REDIRECT
>--to-ports 3128
>iptables -t  nat -A PREROUTING -p  tcp --dport 80 -i
>$LAN_IFACE -j DNAT --to-destination $PROXY_IP:3128
>#######################################################################################

извеняюсь, если что-то не понял


"iptables+nat - не могу сделать 2-а ната"
Отправлено _KAV_ , 25-Сен-06 11:36 
>Вот что у Мну работает!(скрипт в конце)
>Оказывается все работало, но когда Я сделал iptables -F
>То все накрылось :((( И правила чего-то не добавлялись
>
>Не пойму - таже фигля у Мну была с freeBSD - когда
>делал flush (может Его не надо было использовать???)
iptables -F - это и есть flush
>
>Скрипт для настройки Ната в Инет и Ната в локалку провайдера+прозрачный прокси.....
>
>
>#!/bin/bash
>
>/bin/echo 0 > /proc/sys/net/ipv4/tcp_ecn
>/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
>
>LAN_IFACE=eth0
>INET_IFACE=ppp0
>LAN_IP=192.168.129.146
>INET_IP=193.238.ХХХ.XXX
proxy
>######################## NAT==>Интернет и Провайдерская Лок.СЕТЬ#############
>iptables -t nat -A POSTROUTING -s $LAN -o $INET_IFACE -j SNAT --to-source
>$INET_IP
>iptables -t nat -A POSTROUTING -o $LAN_IFACE -j SNAT --to-source $LAN_IP
а это зачем?
>###########################SQUID#####################################################
>iptables -t nat -A PREROUTING -p tcp --dport 80 -i $LAN_IFACE -j
>REDIRECT --to-ports 3128
>iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner $squid_user -j
>ACCEPT
>iptables -t nat -A OUTPUT -p tcp --dport 80  -j REDIRECT
>--to-ports 3128
бред...
>iptables -t  nat -A PREROUTING -p  tcp --dport 80 -i
>$LAN_IFACE -j DNAT --to-destination $PROXY_IP:3128
И как это вяжется с первым prerouting?
>#######################################################################################
Читай здесь Andersson. Iptables Tutorial в переводе Киселева - прежде всего обрати внимание на маленький рисуночек - прохождение пакетов через файрвол - структура файрвола в линуксе и фре различна.
Потом - iptables -L -v в студию


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 25-Сен-06 14:25 

>>######################## NAT==>Интернет и Провайдерская Лок.СЕТЬ#############
>>iptables -t nat -A POSTROUTING -s $LAN -o $INET_IFACE -j SNAT --to-source
>>$INET_IP
>>iptables -t nat -A POSTROUTING -o $LAN_IFACE -j SNAT --to-source $LAN_IP
>а это зачем?
Ну это два НАТА - один для Инета а другой для Сети - что бы компьютеры из моей сети могли ходить в Инет и в Сеть к провайдеру :)

>>###########################SQUID#####################################################
>>iptables -t nat -A PREROUTING -p tcp --dport 80 -i $LAN_IFACE -j
>>REDIRECT --to-ports 3128
>>iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner $squid_user -j
>>ACCEPT
>>iptables -t nat -A OUTPUT -p tcp --dport 80  -j REDIRECT
>>--to-ports 3128
>бред...
Этот бред Я нашел здесь и назывался Он - прозрачный прокси
Согласен - Мне и самосу не очень понятно зачем:
>>iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner $squid_user -j
>>ACCEPT

>>iptables -t  nat -A PREROUTING -p  tcp --dport 80 -i
>>$LAN_IFACE -j DNAT --to-destination $PROXY_IP:3128
>И как это вяжется с первым prerouting?
Хм...
Я так сказать еще не вьехал в iptables - взял как делается прозрачный прокси и как НАТ написал в один сценарий, запустил и зароботало - почему и как Я еще не разобрался :)


>Читай здесь Andersson. Iptables Tutorial в переводе Киселева - прежде всего обрати

>файрвола в линуксе и фре различна.
>Потом - iptables -L -v в студию
# iptables --version
iptables v1.3.3

# iptables -L -v
Chain INPUT (policy ACCEPT 1366 packets, 384K bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 201K packets, 181M bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 547 packets, 64901 bytes)
pkts bytes target     prot opt in     out     source               destination

только включил :)


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 25-Сен-06 14:28 
еще плохо что в squid-е проксируется и локальные сайты :(
Надо будет посмотреть что можно с этим сделать - где-то видел опцию, отменяющую проксирование...

"iptables+nat - не могу сделать 2-а ната"
Отправлено Den , 25-Сен-06 14:38 
>еще плохо что в squid-е проксируется и локальные сайты :(
>Надо будет посмотреть что можно с этим сделать - где-то видел опцию,
>отменяющую проксирование...

Все потому, что прокся тянет файлы с нета с src ip address твоего шлюза. Потому твои правила не работают


"iptables+nat - не могу сделать 2-а ната"
Отправлено _KAV_ , 25-Сен-06 15:57 
>Ну это два НАТА - один для Инета а другой для Сети
>- что бы компьютеры из моей сети могли ходить в Инет
>и в Сеть к провайдеру :)
Да? и все адресованое твоей сетке тоже будет натиться?

>>>iptables -t nat -A OUTPUT -p tcp --dport 80  -j REDIRECT
>>>--to-ports 3128
>>бред...
>Этот бред Я нашел здесь и назывался Он - прозрачный прокси
>Согласен - Мне и самосу не очень понятно зачем:
Output - это из сервера, а не из локалки... ты перенаправляешь все _исходящие_ (и свои, и наченые, и прошедшие прокси) запросы, выходящие из твоего сервера что во внешний мир, что вовнутрь - и все заворачиваешь себе на вход?
>>>iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner $squid_user -j
>>>ACCEPT
>
>>>iptables -t  nat -A PREROUTING -p  tcp --dport 80 -i
>>>$LAN_IFACE -j DNAT --to-destination $PROXY_IP:3128
>>И как это вяжется с первым prerouting?
>Хм...
>Я так сказать еще не вьехал в iptables - взял как делается
>прозрачный прокси и как НАТ написал в один сценарий, запустил и
>зароботало - почему и как Я еще не разобрался :)
>
>
>>Читай здесь Andersson. Iptables Tutorial в переводе Киселева - прежде всего обрати
>
>>файрвола в линуксе и фре различна.
>>Потом - iptables -L -v в студию
># iptables --version
>iptables v1.3.3
>
># iptables -L -v
>Chain INPUT (policy ACCEPT 1366 packets, 384K bytes)
> pkts bytes target     prot opt in  
>   out     source  
>          
> destination
ломай кто хочешь что хочешь на сервере, в переводе на русский
>
>Chain FORWARD (policy ACCEPT 201K packets, 181M bytes)
> pkts bytes target     prot opt in  
>   out     source  
>          
> destination
>
То же самое и для внутренней сети
>Chain OUTPUT (policy ACCEPT 547 packets, 64901 bytes)
> pkts bytes target     prot opt in  
>   out     source  
>          
> destination
>
>только включил :)

и iptables -t nat -L -v посмотри... тоже много увидишь интересного.
Для начала прочти таки Андерссрна - это классика


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 25-Сен-06 18:29 
Я могу попросить - "подправить правила"?

"iptables+nat - не могу сделать 2-а ната"
Отправлено _KAV_ , 26-Сен-06 12:49 
>Я могу попросить - "подправить правила"?
Хммм... а я могу попросить вместо меня поадминить мои 2 десятка серверов? толко чтоб без сбоев?
Есть разница между советом и выполнением работы за другого. В данном случае рекомендую нанять специалиста - работы здесь на 20 минут и оплата соответственно времени.


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 26-Сен-06 17:28 
>>Я могу попросить - "подправить правила"?
>Хммм... а я могу попросить вместо меня поадминить мои 2 десятка серверов?
>толко чтоб без сбоев?

Вот кстате статья по которой делал:
http://www.freesource.info/wiki/Stat'i/NastrojjkaSeti/NastrojjkaProzrachnogoProksi
А вот что еще нашел:
> В Bandwith Limiting HOWTO и в IPTables Tutorial Андерсена написано, что
> для организации прозрачного прокси достаточно строки
>
> $IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports
> 3128

http://lists.altlinux.ru/pipermail/community/2003-August/095...

Ну а Я по принципу - что работает - то правильно ...
Разве нельзя было написать - остальные правила - не надо???
Или это, это правильно, а тут херня...
И почему именно с натов в Сеть Провайдера - неправильно???


"iptables+nat - не могу сделать 2-а ната"
Отправлено _KAV_ , 26-Сен-06 17:45 
>А вот что еще нашел:
>> В Bandwith Limiting HOWTO и в IPTables Tutorial Андерсена написано, что
>> для организации прозрачного прокси достаточно строки
>>
>> $IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports
>> 3128
>
>http://lists.altlinux.ru/pipermail/community/2003-August/095...
>
>Ну а Я по принципу - что работает - то правильно ...
>
>Разве нельзя было написать - остальные правила - не надо???
>Или это, это правильно, а тут херня...
>И почему именно с натов в Сеть Провайдера - неправильно???
Ну прочти ты Андерссона... базовую часть, этого хватит, больше не надо. Русский перевод есть - так что и ломать глаза об английский не надо.
У тебя проблемы в том, что ты не понимаешь, как ходят пакеты, и втупую пытаешься перекатать случайно найденные строчки. Так настраивать можно годами - авось выйдет. Прочти, задавай осмысленные вопросы - тебе ответят.


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 26-Сен-06 23:58 
Не подумайте, что Я издеваюсь, но читал Я, хотя можети и не в лутшем виде - и не очень понял сразу...
Да и текст был скудноват на примеры (Их не было) вот и нашел "не то"...

Сейчас вроде подправил:

#!/bin/bash
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
LAN_IFACE=eth0
INET_IFACE=ppp0
LAN_IP=192.168.129.146
INET_IP=193.238.ХХХ.ХХХ
LAN="192.168.100.0/24"
iptables --flush -t nat
iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -o $LAN_IFACE -j SNAT --to-source $LAN_IP
iptables -t nat -A PREROUTING -p tcp --dport 80 -i $LAN_IFACE  -j REDIRECT --to-ports 3128

# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:www redir ports 3128
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  anywhere             anywhere            to:193.238.ХХХ.ХХХ
SNAT       all  --  anywhere             anywhere            to:192.168.129.146
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Я не добавлял в правила -s - пока...
Так же переосмыслил строчку с DNAT :)
Надеюсь Теперь Я правильно сделал?


"iptables+nat - не могу сделать 2-а ната"
Отправлено _KAV_ , 27-Сен-06 12:27 
"?;%?* ... и еще несколько строчек мата.
Я рекомендовал посмотреть структуру прохождения пакетов через фильтр, а не сами скрипты Андерссона (кстати, с моей точки зрения дурноватые в смысле избыточные, но это смотря на чей вкус). Но если говорить о прочитаной литературе - ГДЕ у Адерссона стоят политики ACCEPT ???? КТО сказал, что при перезапуске скрипта требуется флюшить только таблицу nat, а прочие не нужно? И прочее, прочее, прочее... Андерссон (и даже как минимум трехпальцевое руководство Rusty по маскарадингу в десяток строчек) явно не читаны, да и с тем, что происходит в системе - явные непонятки.
Глядя на этот скрипт, вспоминается старый анекдот - как залез мужик на дерево, слезть не может. Собралась деревня, и тут нашелся один знающий, как помочь. Заказал он веревку, кинул мужику наверх, сказал обвязаться и велел всей деревне тянуть за веревку... Мужик падает, разбивается...
- Что ж ты сказал, что знаешь, что делать?
- Да не знаю, почему так получилось... когда мой дед в колодец упал, его так же доставали...

Извини на резком слове, но здесь имхо конференция по обмену опытом и повышению уровня знаний. Поэтому рекомендую без всяких правил синтаксиса составить себе набор записей типа
"пакет, идущий с ... сети на ... по протоколу ... входит через ... интерфейс, он должен/не должен рутиться, после чего он выходит через ... интерфейс, и его нужно/не нужно привести к адресу .... или перенаправить на... Ответ на него идет от локального сервиса или попадает/не попадает под правило ESTABLISHED,RELATED, или чтоб попал под это правило, нужно подгрузить модуль ..."
После чего глядя на рисунок в Андерссоне, посмотреть через какие цепочки он проходит и какие действия в этих цепочках нужно сделать.
После чего на _конкретные_ вопросы по реализации можно будет отвечать, а так... умолкаю.
P.S. Быстрее было бы написать скрипт, чем этот ответ...
P.P.S. Куски скриптов маскарада, транспарент прокси и пр. ботвы в этой же конференции навалом - воспользоваться поиском, и все. Но для того, чтоб задать правильный вопрос, нужно знать хотя бы половину ответа.


"iptables+nat - не могу сделать 2-а ната"
Отправлено weldpua2008 , 27-Сен-06 15:52 
>P.P.S. Куски скриптов маскарада, транспарент прокси и пр. ботвы в этой же
>конференции навалом - воспользоваться поиском, и все. Но для того, чтоб
>задать правильный вопрос, нужно знать хотя бы половину ответа.
Ну дык посмотрел...
Мне пока что надо связать 2-е сети и Интернет - Я же не промышленый Сервер держу?
А скрипт выполняется при загрузке и все...(flush -t nat добавлен, что бы если перезапустил Его, правила скинуть...
Зачем всем всё разрешаю? Ну скажем так - сейчас нет времени долбатся над какими-то правилами - против взлома и т.д. ...
Я привел этот скрипт - как "база", на которой Я буду строить более сложную систему защиты - а пока это так как есть...

Насчет понимания как пакеты ходят - Я понимаю (надеюсь правильно) что Мне надо сделать так:
пакет от сети(192.168.100.0) идет на 192.168.100.1, где локальный ИП переписывается(НАТ) на 192.168.129.146, когда пакет возвращается(ответ), то Он доставляется на 192.168.129.146, где ИП опять таки перезаписывается на локальный...
Тоже самое и с выходом в Инет...

А со сквидом?
Пакеты по протоколу TCP/IP идушие на 80 порт перенаправляются на 3128 порт - в чем тут загвоздка???

Вот из того же Киселева:
Таблица nat используется главным образом для преобразования сетевых адресов (Network Address Translation).
И последняя цепочка в этой таблице -- POSTROUTING, которая используется для преобразования пакетов перед выдачей их в сеть.

Поэтому ничего страшного в использовании POSTROUTING для НАТ не вижу...

Я же говорю Я строю "простые правила"...
Если Я не вижу чего-то, что является чем-то фундоментальным и значимым, то пожалуйста - пните Меня туда

>Ответ на него идет от локального сервиса или попадает/не попадает под >правило ESTABLISHED,RELATED, или чтоб попал под это правило, нужно >подгрузить модуль ...
У Меня вопрос - а не глубо ко ли это? Тобишь не слишком ли усложняется ситуация когда надо лишь 2-а НАТА и 1-н редирект???

в пространстве ядра, в зависимости от типа протокола, пакеты могут иметь несколько различных состояний. Однако, вне ядра пакеты могут иметь только 4 состояния. В основном состояние пакета используется критерием --state. Допустимыми являются состояния NEW, ESTABLISHED, RELATED и INVALID

Как это Мне может помочь в установке НАТА и Редиректа в данном случае???

ЗЫ:
Если есть какие-то неточности в моем скрипте, то укажите на НИХ...
Ибо прочтение и осмысление "Iptables Tutorial" не наступает сразу же,а Вы так говорите,как в том же анектоде...
Но самое смешное - поставленые задачи выполняются с помощью этих правил...
Поэтому -Я не вьеду, что именно Вы хотите донести до Меня?


"iptables+nat - не могу сделать 2-а ната"
Отправлено _KAV_ , 27-Сен-06 17:31 
>>P.P.S. Куски скриптов маскарада, транспарент прокси и пр. ботвы в этой же
>>конференции навалом - воспользоваться поиском, и все. Но для того, чтоб
>>задать правильный вопрос, нужно знать хотя бы половину ответа.
>Ну дык посмотрел...
>Мне пока что надо связать 2-е сети и Интернет - Я же
>не промышленый Сервер держу?
>А скрипт выполняется при загрузке и все...(flush -t nat добавлен, что бы
>если перезапустил Его, правила скинуть...
>Зачем всем всё разрешаю? Ну скажем так - сейчас нет времени долбатся
>над какими-то правилами - против взлома и т.д. ...
>Я привел этот скрипт - как "база", на которой Я буду строить
>более сложную систему защиты - а пока это так как есть...
>
>
>Насчет понимания как пакеты ходят - Я понимаю (надеюсь правильно) что Мне
>надо сделать так:
>пакет от сети(192.168.100.0) идет на 192.168.100.1, где локальный ИП переписывается(НАТ) на 192.168.129.146,
>когда пакет возвращается(ответ), то Он доставляется на 192.168.129.146, где ИП опять
>таки перезаписывается на локальный...
>Тоже самое и с выходом в Инет...
>
>А со сквидом?
>Пакеты по протоколу TCP/IP идушие на 80 порт перенаправляются на 3128 порт
>- в чем тут загвоздка???
>
>Вот из того же Киселева:
>Таблица nat используется главным образом для преобразования сетевых адресов (Network Address Translation).
>
>И последняя цепочка в этой таблице -- POSTROUTING, которая используется для преобразования
>пакетов перед выдачей их в сеть.
>
>Поэтому ничего страшного в использовании POSTROUTING для НАТ не вижу...
>
>Я же говорю Я строю "простые правила"...
>Если Я не вижу чего-то, что является чем-то фундоментальным и значимым, то
>пожалуйста - пните Меня туда
>
>>Ответ на него идет от локального сервиса или попадает/не попадает под >правило ESTABLISHED,RELATED, или чтоб попал под это правило, нужно >подгрузить модуль ...
>У Меня вопрос - а не глубо ко ли это? Тобишь не
>слишком ли усложняется ситуация когда надо лишь 2-а НАТА и 1-н
>редирект???
>
>в пространстве ядра, в зависимости от типа протокола, пакеты могут иметь несколько
>различных состояний. Однако, вне ядра пакеты могут иметь только 4 состояния.
>В основном состояние пакета используется критерием --state. Допустимыми являются состояния NEW,
>ESTABLISHED, RELATED и INVALID
>
>Как это Мне может помочь в установке НАТА и Редиректа в данном
>случае???
>
>ЗЫ:
>Если есть какие-то неточности в моем скрипте, то укажите на НИХ...
>Ибо прочтение и осмысление "Iptables Tutorial" не наступает сразу же,а Вы так
>говорите,как в том же анектоде...
>Но самое смешное - поставленые задачи выполняются с помощью этих правил...
>Поэтому -Я не вьеду, что именно Вы хотите донести до Меня?

Ну вот... Специально не разбираю по пунктам, цитирование полное (не искажаю первоисточник).
>Если Я не вижу чего-то, что является чем-то фундоментальным и значимым, то
>пожалуйста - пните Меня туда
Пожалуйста. Для начала - фундаментальнейшее.
>пакет от сети(192.168.100.0) идет на 192.168.100.1, где локальный ИП переписывается(НАТ) на 192.168.129.146,
>когда пакет возвращается(ответ), то Он доставляется на 192.168.129.146, где ИП опять
>таки перезаписывается на локальный...
Уже ошибка. Пакет от сети (192.168.100.0) идет на 192.168.100.1, но там он _не_должен_ переписываться - цепочка postrouting срабатывает при выходе пакета из пЫнгвина!!! а не из локалки, что абсолютно логично следует из диаграммы в Андерссоне. Посему рассуждать о построутинге для входящих пакетов - бред. Далее - при маскарадинге (действие в том же самом postrouting) пакет попадает в модуль netfilter под названием ipt_conntrack (для ядра 2.6.х), выходит наружу, и ответ на него приходит как ESTABLISHED,RELATED, т.е. обратное преобразование nat не нужно и даже вредно - этот модуль все обеспечивает сам (а Вы, любезный сэр, спрашивали не слишком ли это глубоко - про модули). Это ответ на вопрос
>В основном состояние пакета используется критерием --state. Допустимыми являются состояния NEW,
>ESTABLISHED, RELATED и INVALID
>
>Как это Мне может помочь в установке НАТА и Редиректа в данном
>случае???
Да вот тут и видно отсутствие знаний даже не линукса или фри, а отсутствие знаний протокола tcp/ip, ибо именно по state и метке и происходит возврат ответа на пакет. Пример в предыдущем абзаце.
>Поэтому ничего страшного в использовании POSTROUTING для НАТ не вижу...
Да и никто не видит - там nat и должен стоять... но он не должен стоять на выходе в локалку - его нужно ставить только там, где требуется приведение к адресу, т.е. на выходном в иной мир интерфейсе.
Ботва с перенаправлением на прокси, натом на выходящем в локалку интерфейсе и недогружеными модулями - я описывать не буду, аналогично этому можно нарисовать.
>Поэтому -Я не вьеду, что именно Вы хотите донести до Меня?
Я хочу доВести, что прописывание правил не понимая их значения - задача дурная. Оно может даже заработать - как-то, в конце-концов, в том анекдоте мужик таки оказался на земле, а не на дереве, но с результатом... Понимать нужно, что пишется, хотя бы ориентировочно.
P.S. Я к Вам обращаюсь на Вы, т.к. Вы ко мне так обращаетесь, но вообще-то по старым правилам нетикета в сети обращаются на "Вы", когда в жизни посылают "на..."