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

Исходное сообщение
"правило форвординга пакетов с определёным портом с одного IP"

Отправлено Sergey , 06-Окт-09 15:49 
Добрый день! Извините за пространное название темы:) Ситуация такая имею сервис (Q.W.E.R:50196) за аппараным NAT. NAT даёт доступ во внешнюю сеть только адрессу 192.168.196.25 по этому адрессу находится прокси под FreeBSD 7.1 (squid) который даёт всем доступ в интернет, на одной из станций 192.168.196.67 установлен софт который работает допутим по 5000 порту (TCPFoss) по моему замыслу машина 192.198.196.25 должна пакеты направленные на 192.198.196.25:5000 c 192.168.196.67 направлять на адресс Q.W.E.R:50196 перекомпилировал ядро с опциями IPFIREWALL и IPFIREWALL_FORWARD добавил rc.conf firewall_enable="YES" написалл правило
ipfw add 00210 fwd Q.W.E.R,50196 tcp from 192.168.196.67 to 192.168.196.25 5000 in via $myint
зашел со станции (192.168.196.67) telnet 192.168.196.25 5000
ipfw show - показывает что правило отрабатывает , но телнет неподключается, tcpdump при попытке подлючения показывает чтото типа
IP 192.168.196.67 > 192.168.196.25.5000: S 1810151439:1810151439(0) win 65535 <mss 1460,nop,nop,sackOK>
это как я понимаю входящие пакеты на маршрутизатор с моей машина ну исходящих к узлу Q.W.E.R:50196 нет? Подскажите в чем причина?


Содержание

Сообщения в этом обсуждении
"правило форвординга пакетов с определёным портом с одного IP"
Отправлено reader , 06-Окт-09 17:31 
>[оверквотинг удален]
>firewall_enable="YES" написалл правило
>ipfw add 00210 fwd Q.W.E.R,50196 tcp from 192.168.196.67 to 192.168.196.25 5000 in
>via $myint
>зашел со станции (192.168.196.67) telnet 192.168.196.25 5000
>ipfw show - показывает что правило отрабатывает , но телнет неподключается, tcpdump
>при попытке подлючения показывает чтото типа
>IP 192.168.196.67 > 192.168.196.25.5000: S 1810151439:1810151439(0) win 65535 <mss 1460,nop,nop,sackOK>
>это как я понимаю входящие пакеты на маршрутизатор с моей машина ну
>исходящих к узлу Q.W.E.R:50196 нет? Подскажите в чем причина?
>

gateway_enable="YES"

и настройки firewall не последние дело.
так же не понятно Q.W.E.R,50196 в подсети 92.168.196.0 или нет


"правило форвординга пакетов с определёным портом с одного IP"
Отправлено Sergey , 06-Окт-09 18:06 
gateway_enable="YES"
поставлю - просто незнал что это нужно. Спасибо.

и настройки firewall не последние дело.
-привести все настройки

так же не понятно Q.W.E.R,50196 в подсети 92.168.196.0 или нет это маршрутизируемый интернет адресс гдето далеко:)


"правило форвординга пакетов с определёным портом с одного IP"
Отправлено Sergey , 09-Окт-09 18:29 
>[оверквотинг удален]
>>при попытке подлючения показывает чтото типа
>>IP 192.168.196.67 > 192.168.196.25.5000: S 1810151439:1810151439(0) win 65535 <mss 1460,nop,nop,sackOK>
>>это как я понимаю входящие пакеты на маршрутизатор с моей машина ну
>>исходящих к узлу Q.W.E.R:50196 нет? Подскажите в чем причина?
>>
>
>gateway_enable="YES"
>
>и настройки firewall не последние дело.
>так же не понятно Q.W.E.R,50196 в подсети 92.168.196.0 или нет

Долго боролся побовал разные варианты fwd, руки сложил
пакеты уходят на lo0 tcpdump -i lo0 непоказывает никакого движения как сквозь землю пакеты проваливаются, вот мои правила (пока правда сыровато)

oif="re0"
cmd="ipfw -q add"

ipfw -q -f flush

$cmd 00100 pass all from any to any via lo0
$cmd 00110 deny all from any to 127.0.0.0/8
$cmd 00120 deny all from 127.0.0.0/8 to any

$cmd 00130 check-state

$cmd 00140 deny all from any to any frag
$cmd 00150 deny tcp from any to any established

$cmd 00160 allow tcp from 192.168.196.67 to any 22 in via $oif setup keep-state

$cmd 00161 fwd 193.227.119.44,50196 tcp from 192.168.196.67 to 192.168.196.25 5000 in via $oif  

$cmd 00162 allow tcp from any to any out via $oif setup keep-state
$cmd 00163 allow udp from any to any out via $oif keep-state

$cmd 00170 allow tcp from 192.168.196.0/24 to any 3128 in via $oif setup keep-state

$cmd 00171 allow tcp from 192.168.196.0/24 to any 80 in via $oif setup keep-state

$cmd 00180 allow icmp from any to any out icmptype 8
$cmd 00190 allow icmp from any to any in icmptype 0

интерфейс у меня один это тренировачный вариант


"правило форвординга пакетов с определёным портом с одного IP"
Отправлено reader , 11-Окт-09 12:45 
>[оверквотинг удален]
>$cmd 00170 allow tcp from 192.168.196.0/24 to any 3128 in via $oif
>setup keep-state
>
>$cmd 00171 allow tcp from 192.168.196.0/24 to any 80 in via $oif
>setup keep-state
>
>$cmd 00180 allow icmp from any to any out icmptype 8
>$cmd 00190 allow icmp from any to any in icmptype 0
>
>интерфейс у меня один это тренировачный вариант

с ipfw весьма редко сталкиваюсь.

оставьте только разрешающее правило для всех пакетов и проброс, когда начнут пакеты ходить тогда и будите ограничивать.

так же может потребоваться NAT для правильного хождения ответов.
что в таблице маршрутизации?


"правило форвординга пакетов с определёным портом с одного IP"
Отправлено Sergey , 11-Окт-09 14:10 
>[оверквотинг удален]
>>
>>интерфейс у меня один это тренировачный вариант
>
>с ipfw весьма редко сталкиваюсь.
>
>оставьте только разрешающее правило для всех пакетов и проброс, когда начнут пакеты
>ходить тогда и будите ограничивать.
>
>так же может потребоваться NAT для правильного хождения ответов.
>что в таблице маршрутизации?

попробую завтра а правло разрешающее вход пакетов с портом 5000 и выход с портом 50196 надо прописывать? А если надо то где оно должно находиться до fwd или за? И надо ли для этого дополнительно прописывать какието маршруты? И если можно подскажите варианты переноса сервиса на другой IP (ну примено так я со своей станции обращаюсь к IP  маршрутизатора по какомуто известному ему порту а но все отфудболивает куда нужно ну иназад получает то что нужно и мне возвращает)



"правило форвординга пакетов с определёным портом с одного IP"
Отправлено Sergey , 16-Окт-09 09:29 
вчера открыл ipfw, поставил порт socket, прописал порт 50196 в севисах, добавил строку foss stream tcp nowait /usr/local/bin/socket socket 193.227.119.44 50196. Запустил inetd -   эфект тотже вижу пакеты SYN входящие с моего компютера и всё кудато пропадают? Может дело в том что у меня только один интерфейс?