The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"iptables+nat - не могу сделать 2-а ната"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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 как-то замороченно и совсем непонятно :(

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

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

3. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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


Помогите!!!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от petrovi4 email(ok) on 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]

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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
#######################################################################################


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от reader on 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
>#######################################################################################

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от _KAV_ (ok) on 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 в студию

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

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

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

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

11. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от _KAV_ (ok) on 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 посмотри... тоже много увидишь интересного.
Для начала прочти таки Андерссрна - это классика

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

12. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 25-Сен-06, 18:29 
Я могу попросить - "подправить правила"?
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

14. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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/095030.html

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

15. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от _KAV_ (??) on 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/095030.html
>
>Ну а Я по принципу - что работает - то правильно ...
>
>Разве нельзя было написать - остальные правила - не надо???
>Или это, это правильно, а тут херня...
>И почему именно с натов в Сеть Провайдера - неправильно???
Ну прочти ты Андерссона... базовую часть, этого хватит, больше не надо. Русский перевод есть - так что и ломать глаза об английский не надо.
У тебя проблемы в том, что ты не понимаешь, как ходят пакеты, и втупую пытаешься перекатать случайно найденные строчки. Так настраивать можно годами - авось выйдет. Прочти, задавай осмысленные вопросы - тебе ответят.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

16. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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 :)
Надеюсь Теперь Я правильно сделал?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

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

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

18. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от weldpua2008 email(ok) on 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" не наступает сразу же,а Вы так говорите,как в том же анектоде...
Но самое смешное - поставленые задачи выполняются с помощью этих правил...
Поэтому -Я не вьеду, что именно Вы хотите донести до Меня?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

19. "iptables+nat - не могу сделать 2-а ната"  
Сообщение от _KAV_ (??) on 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. Я к Вам обращаюсь на Вы, т.к. Вы ко мне так обращаетесь, но вообще-то по старым правилам нетикета в сети обращаются на "Вы", когда в жизни посылают "на..."

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру