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

Исходное сообщение
"ASP 9.2 Интернет для локалки"

Отправлено Rio , 31-Авг-04 17:45 
Народ, буду очень признателен если поможете советом.
Промблема такая: нужен выход в инет из локальной сети...

Есть:
ISDN Lucent 192.168.1.1 с поднятым NAT
ASP 9.2 с двумя сетевухами 1 - 192.168.1.20 - ISDN, 2 - 192.168.0.20 - ЛВС

Вопрос1:
как построить выход в инет (желательно squid) с наибольшей безопасностью,
+настроить ICQ ?
как в этом случае применять iptables для фильтрации пакетов?

Вопрос2:
почему при следующей настройке, юзер (192.168.0.10) не пингует 192.168.1.20 ?

iptables  -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.1.20 -j SNAT  --to-source 192.168.1.100

юзер подключен напрямую к ASP 192.168.0.10 <-> 192.168.0.20

Спасибо.


Содержание

Сообщения в этом обсуждении
"ASP 9.2 Интернет для локалки"
Отправлено Maxim A.Kuznetcov , 31-Авг-04 20:03 
Исходные данные :
eth0 192.168.1.20 ISDN
eth1 192.168.0.20 LAN

Решение :
(маскируем весь LAN под себя)
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20



"ASP 9.2 Интернет для локалки"
Отправлено Rio , 01-Сен-04 00:15 
>Исходные данные :
>eth0 192.168.1.20 ISDN
>eth1 192.168.0.20 LAN
>
>Решение :
>(маскируем весь LAN под себя)
>iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20

Спасибо конечно, а поподробней можно?


"ASP 9.2 Интернет для локалки"
Отправлено Maxim A.Kuznetcov , 01-Сен-04 02:12 
>>Исходные данные :
>>eth0 192.168.1.20 ISDN
>>eth1 192.168.0.20 LAN
>>
>>Решение :
>>(маскируем весь LAN под себя)
>>iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20
>
>Спасибо конечно, а поподробней можно?
а еще правильнее :
iptables -t nat -A POSTROUTING -d ! 192.168.1.0/24 -o eth0 -j SNAT --to-source 192.168.1.20
смысл строки - все что выходит через eth0(в сторону ISDN),
и не адресованно в ближнюю сеть (то есть подлежит передаче ЧЕРЕЗ ISDN)
маскируем под свой адрес...
остается только фильтры/шейпы сделать и включить forward :
echo "1" > /proc/sys/net/ipv4/ipforward


"ASP 9.2 Интернет для локалки"
Отправлено Rio , 01-Сен-04 14:56 
>а еще правильнее :
>iptables -t nat -A POSTROUTING -d ! 192.168.1.0/24 -o eth0 -j SNAT
>--to-source 192.168.1.20
>смысл строки - все что выходит через eth0(в сторону ISDN),
>и не адресованно в ближнюю сеть (то есть подлежит передаче ЧЕРЕЗ ISDN)
>
>маскируем под свой адрес...
>остается только фильтры/шейпы сделать и включить forward :
>echo "1" > /proc/sys/net/ipv4/ipforward

Спасибо!
Только вот вопрос... ( :) задолбал, да?)

Без форвардинга это не работает?
просто если я во внешнем интерфейсе на ASP я прописываю шлюзом ISDN (192.168.1.1), то инет работает даже без этого правила, если шлюз не прописан, тогда фиг даже с правилом...(в /proc/sys/net/ipv4/ip_forward стоит 1)
И еще при работе через шлюз при FORWARD -P DROP (больше никаких правил нет вообще), все работает отлично... :( Значит форвардинг не включен?


"ASP 9.2 Интернет для локалки"
Отправлено Maxim Kuznetsov , 01-Сен-04 19:29 
>>а еще правильнее :
>>iptables -t nat -A POSTROUTING -d ! 192.168.1.0/24 -o eth0 -j SNAT
>>--to-source 192.168.1.20
>>смысл строки - все что выходит через eth0(в сторону ISDN),
>>и не адресованно в ближнюю сеть (то есть подлежит передаче ЧЕРЕЗ ISDN)
>>
>>маскируем под свой адрес...
>>остается только фильтры/шейпы сделать и включить forward :
>>echo "1" > /proc/sys/net/ipv4/ipforward
>
>Спасибо!
>Только вот вопрос... ( :) задолбал, да?)
>
>Без форвардинга это не работает?
>просто если я во внешнем интерфейсе на ASP я прописываю шлюзом ISDN
>(192.168.1.1), то инет работает даже без этого правила, если шлюз не
>прописан, тогда фиг даже с правилом...(в /proc/sys/net/ipv4/ip_forward стоит 1)
>И еще при работе через шлюз при FORWARD -P DROP (больше никаких
>правил нет вообще), все работает отлично... :( Значит форвардинг не включен?
>

если не стоит флажок ip_forward то ничего(в смысле сеть и nat) работать вообще не должно - если он "0" то Linux не занимается маршрутизацией..
Если он 1, то маршрутизирует - то что знает, в локальные сети, что не знает - в default_gw .. на всех хостах внутренней сети default_gw(192.168.0.20) ты, у тебя ISDN (192.168.1.1)
вот так работать должно...
если в этой конфигурации поставить iptables -I FORWARD -j DROP, всё - сеть встанет, но ты со своей машины всё равно будешь работать ( твои пакеты проходят по другой цепочке iptables - по OUTPUT исходящие, по INPUT входящие)


"ASP 9.2 Интернет для локалки"
Отправлено Rio , 02-Сен-04 09:33 
>если не стоит флажок ip_forward то ничего(в смысле сеть и nat) работать
>вообще не должно - если он "0" то Linux не занимается
>маршрутизацией..
>Если он 1, то маршрутизирует - то что знает, в локальные сети,
>что не знает - в default_gw .. на всех хостах внутренней
>сети default_gw(192.168.0.20) ты, у тебя ISDN (192.168.1.1)
>вот так работать должно...

>если в этой конфигурации поставить iptables -I FORWARD -j DROP, всё -
>сеть встанет, но ты со своей машины всё равно будешь работать
>( твои пакеты проходят по другой цепочке iptables - по OUTPUT
>исходящие, по INPUT входящие)

Все отлично, только вот еще одна прамблема как теперь сделать так, чтобы со squid'ом все это работало. Если вместо шлюза по умолчанию на локальных машинах, поднять squid на ASP, то даже с iptables -I FORWARD -j DROP с локальных машин связь с инетом есть.

в ip_forward - 1

Таблица маршрутизации следующая:

[root@ASP /]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

правила следующие:
[root@ASP]# iptables -L
chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

[root@ASP]# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  anywhere            !192.168.1.0/24      to:192.168.1.20

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


"ASP 9.2 Интернет для локалки"
Отправлено Rio , 02-Сен-04 09:41 
>>если не стоит флажок ip_forward то ничего(в смысле сеть и nat) работать
>>вообще не должно - если он "0" то Linux не занимается
>>маршрутизацией..
>>Если он 1, то маршрутизирует - то что знает, в локальные сети,
>>что не знает - в default_gw .. на всех хостах внутренней
>>сети default_gw(192.168.0.20) ты, у тебя ISDN (192.168.1.1)
>>вот так работать должно...
>
>>если в этой конфигурации поставить iptables -I FORWARD -j DROP, всё -
>>сеть встанет, но ты со своей машины всё равно будешь работать
>>( твои пакеты проходят по другой цепочке iptables - по OUTPUT
>>исходящие, по INPUT входящие)
>
>Все отлично, только вот еще одна прамблема как теперь сделать так, чтобы
>со squid'ом все это работало. Если вместо шлюза по умолчанию на
>локальных машинах, поднять squid на ASP, то даже с iptables -I
>FORWARD -j DROP с локальных машин связь с инетом есть.
>
>в ip_forward - 1
>
>Таблица маршрутизации следующая:
>
>[root@ASP /]# route
>Kernel IP routing table
>Destination     Gateway      
>  Genmask        
>Flags Metric Ref    Use Iface
>192.168.1.0     *      
>        255.255.255.0  
>U     0      
>0        0 eth0
>192.168.0.0     *      
>        255.255.255.0  
>U     0      
>0        0 eth1
>169.254.0.0     *      
>        255.255.0.0  
>  U     0    
>  0        0
>eth1
>127.0.0.0       *    
>          255.0.0.0
>      U    
>0      0    
>   0 lo
>default         192.168.1.1  
>  0.0.0.0        
>UG    0      0
>       0 eth0
>
>правила следующие:
>[root@ASP]# iptables -L
>chain INPUT (policy ACCEPT)
>target     prot opt source    
>          destination
>
>
>Chain FORWARD (policy DROP)
>target     prot opt source    
>          destination
>
>
>Chain OUTPUT (policy ACCEPT)
>target     prot opt source    
>          destination
>
>
>[root@ASP]# iptables -L -t nat
>Chain PREROUTING (policy ACCEPT)
>target     prot opt source    
>          destination
>
>
>Chain POSTROUTING (policy ACCEPT)
>target     prot opt source    
>          destination
>
>SNAT       all  --  anywhere
>          
>!192.168.1.0/24      to:192.168.1.20
>
>Chain OUTPUT (policy ACCEPT)
>target     prot opt source    
>          destination
>


Кажется понял...
т.к. squid процесс локальный, то надо цепочки INPUT, OUTPUT править, так?
Если так, то можно ли мне squid прозрачным сделать? Как?
Спасибо!


"ASP 9.2 Интернет для локалки"
Отправлено Maxim A.Kuznetcov , 02-Сен-04 13:12 
>>>если не стоит флажок ip_forward то ничего(в смысле сеть и nat) работать
>>>вообще не должно - если он "0" то Linux не занимается
>>>маршрутизацией..
>>>Если он 1, то маршрутизирует - то что знает, в локальные сети,
>>>что не знает - в default_gw .. на всех хостах внутренней
>>>сети default_gw(192.168.0.20) ты, у тебя ISDN (192.168.1.1)
>>>вот так работать должно...
>>
>>>если в этой конфигурации поставить iptables -I FORWARD -j DROP, всё -
>>>сеть встанет, но ты со своей машины всё равно будешь работать
>>>( твои пакеты проходят по другой цепочке iptables - по OUTPUT
>>>исходящие, по INPUT входящие)
>>
>>Все отлично, только вот еще одна прамблема как теперь сделать так, чтобы
>>со squid'ом все это работало. Если вместо шлюза по умолчанию на
>>локальных машинах, поднять squid на ASP, то даже с iptables -I
>>FORWARD -j DROP с локальных машин связь с инетом есть.
>>
>>в ip_forward - 1
>>
>>Таблица маршрутизации следующая:
>>
>>[root@ASP /]# route
>>Kernel IP routing table
>>Destination     Gateway      
>>  Genmask        
>>Flags Metric Ref    Use Iface
>>192.168.1.0     *      
>>        255.255.255.0  
>>U     0      
>>0        0 eth0
>>192.168.0.0     *      
>>        255.255.255.0  
>>U     0      
>>0        0 eth1
>>169.254.0.0     *      
>>        255.255.0.0  
>>  U     0    
>>  0        0
>>eth1
>>127.0.0.0       *    
>>          255.0.0.0
>>      U    
>>0      0    
>>   0 lo
>>default         192.168.1.1  
>>  0.0.0.0        
>>UG    0      0
>>       0 eth0
>>
>>правила следующие:
>>[root@ASP]# iptables -L
>>chain INPUT (policy ACCEPT)
>>target     prot opt source    
>>          destination
>>
>>
>>Chain FORWARD (policy DROP)
>>target     prot opt source    
>>          destination
>>
>>
>>Chain OUTPUT (policy ACCEPT)
>>target     prot opt source    
>>          destination
>>
>>
>>[root@ASP]# iptables -L -t nat
>>Chain PREROUTING (policy ACCEPT)
>>target     prot opt source    
>>          destination
>>
>>
>>Chain POSTROUTING (policy ACCEPT)
>>target     prot opt source    
>>          destination
>>
>>SNAT       all  --  anywhere
>>          
>>!192.168.1.0/24      to:192.168.1.20
>>
>>Chain OUTPUT (policy ACCEPT)
>>target     prot opt source    
>>          destination
>>
>
>
>Кажется понял...
>т.к. squid процесс локальный, то надо цепочки INPUT, OUTPUT править, так?
>Если так, то можно ли мне squid прозрачным сделать? Как?
>Спасибо!

именно так...а прозрачный proxy это уже таблица PREROUTING и цепочка DNAT
НО в прозрачном прокси есть кучка недостатков..


"ASP 9.2 Интернет для локалки"
Отправлено Rio , 02-Сен-04 14:11 
>>Кажется понял...
>>т.к. squid процесс локальный, то надо цепочки INPUT, OUTPUT править, так?
>>Если так, то можно ли мне squid прозрачным сделать? Как?
>>Спасибо!
>
>именно так...а прозрачный proxy это уже таблица PREROUTING и цепочка DNAT
>НО в прозрачном прокси есть кучка недостатков..

Большое спасибо за ответы и терпение!
На последок не объясните мне эти недостатки пока я в эти дебри не полез?