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

Исходное сообщение
"а нельзя ли nat развернуть задом"

Отправлено ping , 18-Апр-03 12:38 
наперёд. Хочу перенаправить все запросы на порт 80 на машину внутри локалки.
Плохо, когда роутер и веб-сервер - одна машина.

Содержание

Сообщения в этом обсуждении
"а нельзя ли nat развернуть задом"
Отправлено Nikolaev_D , 18-Апр-03 13:01 
>наперёд. Хочу перенаправить все запросы на порт 80 на машину внутри локалки.
Можно.


"а нельзя ли nat развернуть задом"
Отправлено ping , 18-Апр-03 13:05 
>>наперёд. Хочу перенаправить все запросы на порт 80 на машину внутри локалки.
>Можно.

Спасибо! Я так и знал.


"а нельзя ли nat развернуть задом"
Отправлено agon , 18-Апр-03 14:20 
>>>наперёд. Хочу перенаправить все запросы на порт 80 на машину внутри локалки.
>>Можно.
>
>Спасибо! Я так и знал.

если nat via iptables то DNAT тебя спасет


"а нельзя ли nat развернуть задом"
Отправлено Dimez , 18-Апр-03 15:10 
Первый путь - пробрасывание только порта
1) iptables -t nat -A PREROUTING -p tcp -d EXT_R_IP --dport 10000 -j DNAT --to-destination LOCAL_IP:80
2) iptables -A FORWARD -i eth0 -d LOCAL_IP -p tcp --dport 22 -j ACCEPT

Второй вариант - выброс всей машины наружу(если есть свободные адреса)
1) ifconfig eth0:0 NEW_IP netmask NETMASK broadcast BROADCAST
2) route add NEW_IP gw GW netmask 0.0.0.0 metric 1 dev eth0:0
3) iptables -t nat -A PREROUTING -p tcp -d NEW_IP -j DNAT --to-destination LOCAL_IP
4) iptables -A FORWARD -i eth0 -d LOCAL_IP -j ACCEPT

Обозначения
1) EXT_R_IP - внешний IP роутера
2) LOCAL_IP - внутренний IP машины, которую хочешь выбросить
3) NEW_IP - новый IP на который хочешь посадить машину, которая имеет локальный LOCAL_IP
4) NETMASK, BROADCAST, GW - внешние netmask, broadcast и gateway

Это в линуксе


"а нельзя ли nat развернуть задом"
Отправлено ping , 18-Апр-03 15:27 
Спасибо, Димез, за такой подробный ответ.
Запишу и запомню. Пригодится обязательно.
Простите, что не назвал ОСь.

"а нельзя ли nat развернуть задом"
Отправлено Dimez , 19-Апр-03 00:18 
Ну да :) Я даже статейку кропанул :)
http://dimez.nm.ru/docs/nat/index.html :)

"а нельзя ли nat развернуть задом"
Отправлено Art , 30-Апр-03 17:04 
>Первый путь - пробрасывание только порта
>1) iptables -t nat -A PREROUTING -p tcp -d EXT_R_IP --dport 10000
>-j DNAT --to-destination LOCAL_IP:80
>2) iptables -A FORWARD -i eth0 -d LOCAL_IP -p tcp --dport 22
>-j ACCEPT
>
>Второй вариант - выброс всей машины наружу(если есть свободные адреса)
>1) ifconfig eth0:0 NEW_IP netmask NETMASK broadcast BROADCAST
>2) route add NEW_IP gw GW netmask 0.0.0.0 metric 1 dev eth0:0
>
>3) iptables -t nat -A PREROUTING -p tcp -d NEW_IP -j DNAT
>--to-destination LOCAL_IP
>4) iptables -A FORWARD -i eth0 -d LOCAL_IP -j ACCEPT
>
>Обозначения
>1) EXT_R_IP - внешний IP роутера
>2) LOCAL_IP - внутренний IP машины, которую хочешь выбросить
>3) NEW_IP - новый IP на который хочешь посадить машину, которая имеет
>локальный LOCAL_IP
>4) NETMASK, BROADCAST, GW - внешние netmask, broadcast и gateway
>
>Это в линуксе

А можно ли сделать без iptables и как? (у меня ядро 2.2.х - стоит Ipchains, вдобавок только один адресс провайдера).


"а нельзя ли nat развернуть задом"
Отправлено HAZY , 16-Июл-04 14:51 
>>Первый путь - пробрасывание только порта
>>1) iptables -t nat -A PREROUTING -p tcp -d EXT_R_IP --dport 10000
>>-j DNAT --to-destination LOCAL_IP:80
>>2) iptables -A FORWARD -i eth0 -d LOCAL_IP -p tcp --dport 22
>>-j ACCEPT
>>
>>Второй вариант - выброс всей машины наружу(если есть свободные адреса)
>>1) ifconfig eth0:0 NEW_IP netmask NETMASK broadcast BROADCAST
>>2) route add NEW_IP gw GW netmask 0.0.0.0 metric 1 dev eth0:0
>>
>>3) iptables -t nat -A PREROUTING -p tcp -d NEW_IP -j DNAT
>>--to-destination LOCAL_IP
>>4) iptables -A FORWARD -i eth0 -d LOCAL_IP -j ACCEPT
>>
>>Обозначения
>>1) EXT_R_IP - внешний IP роутера
>>2) LOCAL_IP - внутренний IP машины, которую хочешь выбросить
>>3) NEW_IP - новый IP на который хочешь посадить машину, которая имеет
>>локальный LOCAL_IP
>>4) NETMASK, BROADCAST, GW - внешние netmask, broadcast и gateway
>>
>>Это в линуксе
>
>А можно ли сделать без iptables и как? (у меня ядро 2.2.х
>- стоит Ipchains, вдобавок только один адресс провайдера).

У меня тоже самое - ipchains
И вопрос похожий. Как перебросить через линукс запрос Виндового Remote Desktop из мира на Виндовую машину стоящую в локальной сети (за линуксом)?


"а нельзя ли nat развернуть задом"
Отправлено ping , 18-Апр-03 15:21 
>
>если nat via iptables то DNAT тебя спасет

Спасение от дьявола можно найти только в долгом и вдумчивом чтении технической документации.
У меня freebsd.

10x


"а нельзя ли nat развернуть задом"
Отправлено spanka , 19-Апр-03 21:38 
Вот реализация для ipfw (FreeBSD 4.7STABLE):
if1IP="ип_смотрящий_в_инет"
if1="интерфейс_смотрящий_в_инет"
ifLIP="ип_на_который хотим делать редирект"
ipfw add divert natd tcp from any to ${if1IP} 80 via ${if1}
ipfw add divert natd ip from any to ${ifLIP} to any via ${if1}

ipfw add allow tcp from any to ${if1IP} 80 via any

natd -n ${if1} -redirect_port tcp ${ifLIP}:80 80
При желании запускаешать два natd'a на разных портах, один свой - который щас работает, другой для редиректа.
Удачи.


"а нельзя ли nat развернуть задом"
Отправлено ping , 21-Апр-03 11:28 

>ipfw add divert natd tcp from any to ${if1IP} 80 via ${if1}
>
>ipfw add divert natd ip from any to ${ifLIP} to any via ${if1}

наверно divert natd ip from ${ifLIP} to any  via ${if1} ?
если два раза to - она ругается.

>ipfw add allow tcp from any to ${if1IP} 80 via any
>
>natd -n ${if1} -redirect_port tcp ${ifLIP}:80 80
говорит missing public port, гадина.
Промах, значит.

Не выходит :-(


"не выходит"
Отправлено ping , 21-Апр-03 11:37 
Пардон!
почитал man Ж-)
надо не 8080 а 80 пробел 80!
спасибо

"не выходит"
Отправлено denb , 21-Апр-03 11:46 
>Пардон!
>почитал man Ж-)
>надо не 8080 а 80 пробел 80!
>спасибо


у меня тоже самое работает на 4.7(ipfw1),
но не работает на 5.0(ipfw2).
Кто-нибудь знает в чем проблема?


"не выходит"
Отправлено miaso , 21-Апр-03 12:05 

А меня прикололо сделать вот так:
tproxy -s 80 -r nobody -l /var/log/transparent_proxy.log [int_ip] 80

"не выходит"
Отправлено spanka , 21-Апр-03 20:58 
Могу ещё посоветовать программу delegate
Легка в настройке, багов не замечено
Удачи

"Lotus или как сделать переброс по 1100 порту."
Отправлено Denis , 01-Май-03 16:23 
Добрый день мастера!
Описываю общию картину:
Компьютер(СерверL) с двумя картами - одна это Радио(она обиспечивает интернет eth1), вторая сетевая(eth0).
На этом компе стоит Linux(REdHard) с ядром 2.2.15.
Сетевая (eth0) подключается напрямую другому серверу(СерверNT), котрый имеет адрес 192.168.1.1
Что нужно! НА СерверNT стоит Лотус, который через Линух отправляет почту по указанному IP_адресу и порту(1120) в Москву. Теперь необходимо, чтобы и Москва отправляла на наш внешний IP (81.xx.xxx.xx) почту. Это сделать можно, но как сделать так, чтобы письма для Лотуса с СервераL перенапровлялись на локальную машину СервераNT(192.168.1.1) по порту 1120
Какие есть варианты и есть ли возможность поставить на Линух сам ЛотусДемон?

"не выходит"
Отправлено dsmirnov , 23-Май-03 19:52 
>>Пардон!
>>почитал man Ж-)
>>надо не 8080 а 80 пробел 80!
>>спасибо
>
>
>у меня тоже самое работает на 4.7(ipfw1),
>но не работает на 5.0(ipfw2).
>Кто-нибудь знает в чем проблема?


Запусти natd c ключом -v и у тебя пакет должен через natd 2 раза пройти: как входящий и как итсходящий То же самое для пакета-ответа. На входе natd изменяет адрес пролучателя, а на выходе - оьтправителя.


"не выходит"
Отправлено Mailz , 29-Ноя-03 01:32 
Freebsd 4.5 re (ipfw(1))
fxp0 - внутренняя локаль
wb0 - внешняя
условие - ipfw default to accept.

ipfw add 25 divert 7777 tcp from any to me 1900 #поворачивать все входящие на порт 1900 пакеты в натдаймон на порт 7777

ipfw add 50 divert 8668 ip from any to any via wb0 #поворачивать все пакеты из локалки в инет.

/sbin/natd -p 7777 -f /etc/natd.conf -n fxp0 -u #директит то что нужно в локаль
/sbin/natd -f /etc/natd.conf -n wb0 # директит всех в инет по всем портам

#ниже у нас natd.conf с которым все эти natd пашут.
/etc/natd.conf
#dynamic         yes
same_ports      yes
use_sockets     yes

#redirect_address 192.168.0.3 0.0.0.0
#redirect_port tcp 192.168.0.3:1000-6000 1000-6000
redirect_port tcp 192.168.0.3:1900 1900
redirect_port tcp 192.168.0.3:2234 2234
redirect_port udp 192.168.0.3:23858 23858

флаг -v к natd это приказ не сворачиваться в даймон а висеть и выводить инфу на маршрутизация не влияет вроде
может я в чём и ошибся и почти уверен что некоторые правила из выше указанных не нужны но кто может пускай поправит буду рад