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

Исходное сообщение
"форвардинг пакетов с одноголокального интерфейса на другой, ipfw"

Отправлено Junky , 19-Сен-05 14:15 
Локальное приложение шлет пакеты на один из локальных IP (предположим 22.33.44.55) на порт 55555. Нужно сделать так, чтобы эти пакеты заворачивались на 127.0.0.1:80.
Делаю:

ipfw add 500 fwd 127.0.0.1,80 tcp from any to 22.33.44.55 dst-port 55555

в итоге если телнетом коннекчусь на порт 55555, то попадаю куда нужно, т.е. к тому, кто слушает на 127.0.0.1:80, но вот посылаемые на этот порт пакеты от локального приложения почему-то не проходят.

В чем может быть проблема?


Содержание

Сообщения в этом обсуждении
"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 19-Сен-05 22:30 
ну чего, неужели никто не в курсе? вроде простой вопрос, проблема ведь наверняка в какой-то мелочи :)

"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Alexander Grigoriev , 20-Сен-05 11:02 
>ну чего, неужели никто не в курсе? вроде простой вопрос, проблема ведь
>наверняка в какой-то мелочи :)

Добавить IPFIREWALL_FORWARD_EXTENDED в конфиг ядра.


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 17:25 
>>ну чего, неужели никто не в курсе? вроде простой вопрос, проблема ведь
>>наверняка в какой-то мелочи :)
>
>Добавить IPFIREWALL_FORWARD_EXTENDED в конфиг ядра.


Добаыил, все по прежнему.


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено magr , 20-Сен-05 10:40 
>Локальное приложение шлет пакеты на один из локальных IP (предположим 22.33.44.55) на
>порт 55555. Нужно сделать так, чтобы эти пакеты заворачивались на 127.0.0.1:80.
>
>Делаю:
>
>ipfw add 500 fwd 127.0.0.1,80 tcp from any to 22.33.44.55 dst-port 55555
>
>
>в итоге если телнетом коннекчусь на порт 55555, то попадаю куда нужно,
>т.е. к тому, кто слушает на 127.0.0.1:80, но вот посылаемые на
>этот порт пакеты от локального приложения почему-то не проходят.
>
>В чем может быть проблема?
вероятно, пакеты локального приложения не доходят до данного правила, обрабатываются раньше. Или же посылаются не на 22.33.44.55.


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Koba_LTD , 21-Сен-05 17:49 
>>Локальное приложение шлет пакеты на один из локальных IP (предположим 22.33.44.55) на
>>порт 55555. Нужно сделать так, чтобы эти пакеты заворачивались на 127.0.0.1:80.
>>
>>Делаю:
>>
>>ipfw add 500 fwd 127.0.0.1,80 tcp from any to 22.33.44.55 dst-port 55555
>>
>>
>>в итоге если телнетом коннекчусь на порт 55555, то попадаю куда нужно,
>>т.е. к тому, кто слушает на 127.0.0.1:80, но вот посылаемые на
>>этот порт пакеты от локального приложения почему-то не проходят.
>>
>>В чем может быть проблема?
>вероятно, пакеты локального приложения не доходят до данного правила, обрабатываются раньше. Или
>же посылаются не на 22.33.44.55.


TCPDUMP в студию


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 18:24 

>TCPDUMP в студию

fwd 127.0.0.1,55555 tcp from any to 22.33.44.55 dst-port 80

telnet 22.33.44.55 80

tcpdump -i em0 port 55555

18:22:26.283137 IP 213.85.81.13.35149 > 22.33.44.55.55555: S 806313970:806313970(0) win 5840 <mss 1460,sackOK,timestamp 4181707 0,nop,wscale 0>
18:22:26.283165 IP 217.16.29.178.55555 > 22.33.44.55.35149: S 3143991399:3143991399(0) ack 806313971 win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 3711481 4181707,nop,nop,sackOK>
18:22:26.287758 IP 213.85.81.13.35149 > 22.33.44.55.55555: . ack 1 win 5840 <nop,nop,timestamp4181707 3711481>


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 18:27 
не так написал, вобщем

18:22:26.283137 IP 213.85.81.13.35149 > 22.33.44.55.55555: S 806313970:806313970(0) win 5840 <mss 1460,sackOK,timestamp 4181707 0,nop,wscale 0>
18:22:26.283165 IP 22.33.44.55.55555 > 213.85.81.13.35149: S 3143991399:3143991399(0) ack 806313971 win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 3711481 4181707,nop,nop,sackOK>
18:22:26.287758 IP 213.85.81.13.35149 > 22.33.44.55.55555: . ack 1 win 5840 <nop,nop,timestamp4181707 3711481>


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 18:53 

прошу прощения, предыдущие два поста не представляют ценности - по ошибке писал
telnet 22.33.44.55 55555, а не telnet 22.33.44.55 80
в этом варианте

tcpdump -i em0 port 55555
и
tcpdump -i lo0 port 55555

ничего не показывают


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 18:56 
совсем торможу сегодня :) сорри за флуд.

tcpdump -i lo0 port 55555

18:54:02.113126 IP 22.33.44.55.52494 > 22.33.44.55.55555: S 1477285541:1477285541(0) win 65535<mss 1460,nop,nop,sackOK,nop,wscale 1,nop,nop,timestamp 3901061 0>
18:54:02.113146 IP 22.33.44.55.55555 > 22.33.44.55.52494: R 0:0(0) ack 1477285542 win 0

tcpdump -i em0 port 55555
тишина


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 17:50 
>>Локальное приложение шлет пакеты на один из локальных IP (предположим 22.33.44.55) на
>>порт 55555. Нужно сделать так, чтобы эти пакеты заворачивались на 127.0.0.1:80.
>>
>>Делаю:
>>
>>ipfw add 500 fwd 127.0.0.1,80 tcp from any to 22.33.44.55 dst-port 55555
>>
>>
>>в итоге если телнетом коннекчусь на порт 55555, то попадаю куда нужно,
>>т.е. к тому, кто слушает на 127.0.0.1:80, но вот посылаемые на
>>этот порт пакеты от локального приложения почему-то не проходят.
>>
>>В чем может быть проблема?
>вероятно, пакеты локального приложения не доходят до данного правила, обрабатываются раньше. Или
>же посылаются не на 22.33.44.55.

Посылаются именно туда.
ipfw в режиме default_to_accept, правил никаких не добавлял кроме этого.


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено alk , 21-Сен-05 19:18 
ipfw sh - покажи

"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 21-Сен-05 20:04 
>ipfw sh - покажи


00100    60965     6658330 allow ip from any to any via lo0
00200        0           0 deny ip from any to 127.0.0.0/8
00300        0           0 deny ip from 127.0.0.0/8 to any
00500       30        1666 fwd 127.0.0.1,80 tcp from any to any dst-port 55555
65000 19333308 17265131214 allow ip from any to any
65535       36        2234 deny ip from any to any


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено alk , 21-Сен-05 20:17 
00200        0           0 deny ip from any to 127.0.0.0/8
00300        0           0 deny ip from 127.0.0.0/8 to any
убери эти правила


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено Junky , 22-Сен-05 20:27 
>00200        0    
>       0 deny ip from
>any to 127.0.0.0/8
>00300        0    
>       0 deny ip from
>127.0.0.0/8 to any
>убери эти правила


уже пробовал, не помогает


"форвардинг пакетов с одноголокального интерфейса на другой, ..."
Отправлено magr , 23-Сен-05 09:55 
>>00200        0    
>>       0 deny ip from
>>any to 127.0.0.0/8
>>00300        0    
>>       0 deny ip from
>>127.0.0.0/8 to any
>>убери эти правила
>
>
>уже пробовал, не помогает

я вам дал ответ в сообщении за нумером два. Советую перечитать и подумать над ipfw sh

Кроме того, если у вас более менее свежая версия FreeBSD, то совет про IPFIREWALL_FORWARD_EXTENDED тоже может пригодится.